Rogue Engine, a WebGL creation engine based on Three.js

I like what you said about Asset loading being done on-demand.

I went with pure on-demand approach in the beginning when I was writing meep, but later saw the benefit of having your assets loaded before the game starts, to avoid popping and stalls related to asset parsing etc. For me persoanlly, i prefer a mixed approach, where you can tell the engine to load the assets in some kind of a hierarchy (critical content, major content, minor etc) and let the player start the game whenever they want.

This is how some of the blizzard games work, and I thought it was super neat.

There’s also the issue of figuring out which assets are actually used and which are dead weight. In my engine I don’t have a good solution for that. Might is Right has roughly 5gb worth of assets before the build, most of these are not used in the production build. I wrote an analytical tool that works as web-server middleware and records which assets are used, this way I can keep track of which assets are actually loaded into the game. The down side of this approach is that I have to play the game in its entirety to be certain that I caught all of the used assets. Main issue is in the code. A lot of assets are pulled in via scripts, asset manager will happily load those assets, but without parsing the game code it’s impossible to know for certain which assets are used and which aren’t.

For smaller projects it’s probably not an issue.

Anyway, great work and congratulations!

1 Like