Interesting concept

Hello,

Someone mentioned this site in IRC and I checked it out. Very interesting idea. I kind of crashed after the first level though…

Hey @agamemnus, thanks for checking it out. Can you let me know a little more about where exactly you crashed? Would love to get that fixed.

It crashes after each level, so you have to reload the page to proceed to next level.
Using the latest Google Chrome here.

I’ve made a few improvements to this. How’s it working now for you? And if it’s not working, please let me know how many GB of memory your computer has–it could be a memory issue.

Well, I have 8gb of ram, so don’t think that’s the issue hmm

12 gigs here. I was using Firefox. It might still be a memory issue…

PS: I would really suggest using some web workers here… your loading is a bit slow…

@agamemnus @DreadKnight We’ve made some more fixes and improvements and I’m wondering if the issue is fixed now for you guys?

Working on optimizing load and simulation times some more today. We’re already using a bunch of web workers, but you can always have more!

I was able to go from a level to the next one without getting stuck and having to manually refresh this time. So yeah, that’s fixed, good job :slight_smile:

Nick,

Another thing that could potentially speed things up is zipping your images, if you haven’t already zipped them or made them into a sprite sheet.

Here is some code I use for getting image data from a zip file (this also uses my make_request function and the JSZip library):

Wow, interesting approach! Do you see big performance gains from this? I’ve started playing around with https://github.com/calvinmetcalf/catiline for easier web worker use.

For us, most of the load time is coming from loading the LevelComponents, LevelSystems, and ThangTypes from the database. I think we’ll be focusing on ways to 1) load those before they’re needed and 2) decrease their load times, first, before getting further into optimizing the total JS code size and the static raster images that are used in the level interface.

I didn’t rigorously test it, but yes, I think so! The idea is to just avoid the cache freshness test round trips… individual images/data does load asynchronously but if you have too many then they just load in blocks. Cached blobs load similarly though (I think)… still room for improvement on the browser level there.