EverEnding DevBlog 89: Revision

EveHeader

This is probably going to be a short one, because there’s really not a lot to say. I just spent a week revising all of my entity and behavior code to comply with the new standards I’ve set. The good news is that now it’s actually trivially easy to recreate entities of the same type, revise entities at the base level and have those changes reflected wherever the entity is used, etcetera. It’s also almost as easy to make them differ where I need them to by adding a few custom parameters and saved statuses. All in all I feel like I put in some good work, but it’s really boring work that’s no fun to talk about and makes it impossible to build the project in the middle of, so it feels like I’m not making progress even when I am.

Anyway, all that stuff is basically done now. I say ‘basically’ because I still haven’t tested it for run-time errors, of which there are certain to be a few, though I feel that I have been quite thorough so hopefully not many. After I get that last bit finished, I’ll have to go back in and revise the entity and behavior editors to match up to the new standards – which, fortunately, shouldn’t be as onerous nor require throwing away as much work as I was at one point scared it would. It’s mostly a matter of shuffling around a few control panels and revising it so that the full editor is only visible while working on prototypes.

Going back and fixing stuff like this up sometimes feels like it’s avoiding the really important parts of the project, but a framework can only take you so far if you don’t go back and reinforce it every so often. Regardless, knowing that in another week or so this will be wrapped up and I’ll be able to get back to developing the new parts of the project that still require my attention is certainly pleasant, and it’s starting to feel like the number of programming tasks yet to do on the main engine of the game are at least finite if, perhaps, still too many to count..

Leave a Reply

Your email address will not be published. Required fields are marked *