<Index> - >DevDiary< - <Characters> - <Lore>
This week, I worked on the primary functions of the SDR gameplay.
Expanding on the simple enemy code and the pellet collisions, I re-built the fundamental code for taking damage from pellets, reflecting pellets, destroying enemies, absorbing souls and accidentally reflecting the souls back to make the enemies respawn. Just like in 2020, the first proper stage that I've built to test the functionality out is a remake of the first stage from Highly Responsive to Prayers.
The upper corners lack teleports for now.
The parent-child node hierarchy at the heart of Godot resists my attempts to add global variables and functions. The workarounds seem excessively complicated, and I can only hope that they are not too taxing on the game's performance.
I have run head-first into this engine and I have more willingness to bend it to the way I like to do things than to learn its intricacies and make full use of its functions. For example, the signal system is left completely unused in SDR, for I fear that I will not find its equivalent if I end up rewriting the game in yet another environment.
Enemies waking up.
Compared to the code I wrote one week ago, the current realization of enemies, sword swings, pellets and Pawn herself is more sophisticated and uniform. There is still no lives system, no stage clear conditions, no score and no menus, but what I have is enough to sit someone down and show them an approximation of what the core of the SDR is supposed to be. I am glad that the game has reached the point where I can waste my time playing it.
A random gameplay screenshot.
From now on the development will be akin more to expanding the game than to building its fundamentals. To put it poetically, the game may now have a version number, even though its leading digit would be 0.