Thu 15 May 2008 09:09:27 AM UTC, comment #1:
Minor update: By guesstimate the status of this is 'roughly 30% complete'.
Insofar as dynamic loading of tilegrids and things like that are concerned, I wonder if offering specific strategies of preloading should be done at all. Doing so has its advantages, but should probably be both optional and scheme-level.
Since preloading is trading memory for some more speed, it may be useless on machines with low amounts of physical memory.
|
Sun 20 Apr 2008 07:23:37 PM UTC, original submission:
We need a way to deal with 'maps', 'areas' or any other concept that basically comes down to having different portions of games with their own tilegrids and tiles, mobs etc on those.
First, the C core needs a concept of multiple tilegrids.
Second, the Scheme system needs a way to manage these, preferably also using 'tile types' and knowing which images are used exactly what amount of times on what tilegrids. This ties into the GC system for images and needs quite a bit of overhaul in the tilegrid system to work. However, it's a feature we quite desperately need to add one way or the other. Personally, I'd prefer the GC-related stuff being in the C core ONLY, which requires that tiletypes do not, under ANY circumstance, optimize by preloading images. Currently, that is done and the C core isolates itself against being forced to divulge its image indices.
Third, with this done, a Scheme system needs a concept of a 'world', which is a combination of tilegrids linking to each other, such that it also knows when to load or unload which tilegrids, populate them with mobs and so on.
On the tilegrid management side, I have a prototype lying around, which is just something I threw together in Scheme. It still needs proper management of the different grids and proper per-grid GC'ing.
|