seraph0x wrote: ↑Tue Sep 10, 2024 2:29 am
I'd love to see you guys take webteases to the next level! There are some other things I'm working on at the moment that I have to finish first but maybe we can use the time to think about how this could work.
Hi Seraph0x. It is great to hear that you think there may be a few options with regard to supporting larger Eos projects. It can be a little hard to evaluate the proposals without knowing the details of the behind the scenes mechanics, but I'm happy to share my thoughts. First it may be best to better explain the possible issues as they currently stand.
I think a few of Indyc's projects and my Legend of the Psyons (LOTP) RPG are some of the larger Eos endeavors that I am aware of. We have had some of the same issues, but also, he has experienced some problems that I have not. This could be because our projects are very large in different ways, and this may be worth noting when considering optimization options. I think Indyc's projects have more images and a greater total number of pages. Mine, on the other hand, features fewer pages that have a more complex structure that integrate with a huge JavaScript init "game engine". I have a lot of images, but not as many as Indyc. Before the last site update (I think almost a year ago?) we both experienced a lot of time out issues while uploading JSONs to an existing tease (such as when I would update the alpha tester tease). I started having issues with this when my JSON hit about 15 megs. Since the last site update, I've had fewer problems, even with a JSON at 20 megs, but I haven't tried to publish an alpha yet. Perhaps soon. My understanding is that publishing is far more prone to timing out and other sorts of errors for large projects. So I'm worried about that. On the user experience end, most of my testers report fairly smooth sailing. I have noted that when Milovana is hiccupping, a sound file may on a rare occasion fail to stop playing correctly. I've had redundant code in place for a while to help ensure that an estim pain signal doesn't get left on inadvertently. This has mostly mitigated the issue, but I do have it still reported once in a blue moon. I also make it clear that LOTP isn't really meant to be played on underpowered tablets or the like. Unfortunately Indyc has had some issues even after the last site update. Perhaps due to the different structure of his projects as described earlier. Indyc and I have exchanged JSONs and we can confirm that the issues are not hardware or Internet connection specific. I tried to get one of his old projects working to no avail and could not track down the problem.
As for the three options, I concur with Indyc that option 3 (optimization) sounds most promising and may be all that is needed. An OOM or two would go a long way. Also, anything that could help prevent timing out would be great. Option 1 (loading zones) also sounds like a very nice idea. One thing I would ask if that option is explored would be a shared resources section (so that some pictures and sound files could be accessed by any zone) and that the init would also be shared across zones. Otherwise, code maintenance would become unwieldy. The shared segments also sounds very interesting. For example, I have a unique copy-and-paste text-based (hex) save system that allows my game to have huge save files. Stuff like that may be nice to easily share with other creators. Option 2 would hopefully not be necessary, but if it were, perhaps it could be implemented as a whole new system like Eos-2 or something, so as not to break existing content.
I hope this is helpful. Thanks for an amazing site.