<Index> - >DevDiary< - <Characters> - <Lore>
This week, I returned to developing SDR.
The game has been sitting on my machine for a good few months without ever being touched. In the last diary entry, I said that I would start brainstorming and implementing bosses, which I planned to finish doing by the end of last year. However, I have not met that deadline due to my failure to handle various real life events, both under and beyond my control.
Since the time I last worked on the game, I managed to lose my ability to navigate its code. Before I could resume adding features into the game, I needed to remind myself what each function within each file actually did. For the sake of the immediate task at hand - adding boss battles - I had to look into how the game handles stage transitions.
To perform this analysis, as I went through the code, I wrote a text file that combined features of documentation and debugging. This proved to be a very effective way of returning to the lost mindset, and thankfully the original code was not beyond saving.
There are four different ways to enter a stage in Sunrise Doll R: loading it from the main menu, restarting it from the game over screen, and two different kinds of transitioning from another stage. The stage code so far did not account for special enemies and events, and I had to make sure nothing was broken in any of the four stage entry methods first.
Turns out, one of them indeed was broken, and will be fixed in the upcoming demo version.
In addition to stage transitions, I also needed to look into how SDR handles victory conditions. The trial version trivially checks if the screen contains no enemies or projectiles, and finishes the stage when none can be found - which is why stages made in the stage editor end immediately if no enemies have been placed. This, of course, would not work with bosses, as they are special objects outside of the scope of projectiles and enemy objects.
Thankfully, the stage data itself contains a "custom script" value that will allow me to mark individual stages to load special objects, such as bosses. I do not plan to add bosses into the stage editor, but players who are familiar with editing binary files may insert them anyway.
The concept files of the first planned boss of the game.
Right now the plan is to implement the first boss. Both the graphical and the behavioral concepts have been written and left untouched since before the big hiatus started, so there is no creative obstacles between me and the goal. And with the modular nature of the game's code, the programming obstacles are not a big deal either.
Last time, I talked about how I wanted to change the number of stages from 4-1 to 9-1. This is now an abandoned plan, as playtesting the game again has revealed to me that having 9 stages in a row would make the game overstay its welcome. Sunrise Doll R will feature multiple blocks of 4 stages and 1 boss each.