The bulk of this week was taken up by completely overhauling the game’s tile system. I’ve created a new template for all future tilesets: Because this is standardized, I’ve updated the in-game collision data to match the template, which means that by default everything that matches the template will have collision data matched to it, something that will allow me to build levels much more quickly. This also means that, since the game knows what tile graphics match which collision data, I may be able to create functionality to automatically add variance to which tiles are in use, a quick way to spice up levels and avoid an overly repetitive look. It also means that creating tools to change which tile bank a selected range of tiles use is a possibility, so I can quickly shift an area from, say, grass to dirt. I haven’t quite settled on how these would work in the interface yet, but they’re ideas I’m keeping in mind for the future.
This template also introduces some new tile types. The 1:3 slopes should just work right away, since they’re not really very different from the 1:2 slopes, just with different values. More tricky are the combination platform tiles, which I introduced to handle situations where one-way platforms are attached to slopes, which was a problem with the earlier tiles. These are completely unimplemented as of now: They should be easy in principle, but programming the collision was such a pain in the ass I’m loath to touch it again.
Now that I have this new template, I’m working on building out very rough placeholder tiles. A lot of these are basically just recolored versions of the template – green for grass, brown for dirt, a slightly different brown for wood – but I’m also trying to build a few of the transitional tilesets, which involve a bit more care and style, since the ways that the transitions happen between grass and dirt, or grass and stone, are different enough to be a distinction that’s important to make. I know this because I just tested out the grass/dirt tiles earlier today and realized I’d ignored a bunch of obvious tile types I’d need. Once I get those transitional tiles looking alright, though, I can use them as an aid to planning what I need for the others – and that’s really the idea here, to get enough of these rough tiles in place that I know what to expect when creating more detailed variations, and so that when it comes time to add detail I can just quickly load the game up and see what’s working and what isn’t rather than having to try to build something with tiles only to find out after maybe hours of work that something’s not right.
AnxEdit is also progressing well: I fixed a bunch of bugs, got the addition of new frames to an animation working, and added the ability to playback the animation as I work on it.