To kick things off, I fixed a whole ton of memory bugs, mostly from forgetting to delete little bits of memory here and there. I've been focusing on trying to get features in, and it was starting to get a bit unseemly. Next, I went to the main menu and added everything that wasn't in yet. You can now set the volume at the start, and a basic credits screen is in.
After that, I decided to tackle the problem of toggling switches. The way things were, switches would toggle if you walked into them, making them rapidly switch back and forth once per frame. I added a short pause, which makes things a bit nicer. However, that little pause took some ridiculous amounts of work to get functioning. Before this change, any reactions from collisions would happen immediately, and delays would be ignored. To add in delays again, I had to make the engine treat collision reactions in the same way it treats scripts. Then, I had to make it so that reactions wouldn't repeat as long as they were running. That way, the reaction doesn't trigger until the previous one ends, and thus it'll wait until any timers run out. Now, if you put a timer at the end of a reaction, it will only trigger at intervals set by the timer, and no faster.
Normally, I would end the post here, but I have one last thing that I've started but am still working on. I'm making a new data file type for holding premade objects. Normally objects are defined uniquely in an engine like mine, but this will let me create 'templates' of sorts for certain types of objects. The biggest change that this will bring is the creation of new objects at runtime. I've been wanting to make cannons that shoot fireballs at set intervals for a while now, and this will let me do just that!
Finally, a bit of sad news: Considering the time I've lost, I doubt I'll be able to finish Zone 3 in time for the Green Mountain Games Fest. I've revised my estimates to aim to have Zone 2 done instead, as much as it pains me to do so. Still, Zone 3's mechanic will be very easy to implement(unlike this one), and I expect to at least have some of it done by then. Here's to two more (hopefully) productive weeks!
No comments:
Post a Comment