Recently, I announced on X that I am putting the current project (codename: Hekate) on hold. Here, I'd like to document why, primarily for myself.
Hekate is supposed to be a 2D side-scrolling horror game with some social simulation elements. Meaning NPCs would "live their life" and follow routines, and even communicate with each other. While this task is massive from a programming standpoint, I am confident in my ability to develop such a game. The problem, however, is in a slightly different place.
Being quite complex from the get-go, Hekate requires significant effort from the organisational perspective. Having a complicated system in mind, I need to have the code, the (placeholder) art, the (placeholder) text, and other elements to make a first iteration and develop a prototype which would be able to illustrate the basic gameplay. Unfortunately, a character walking around the map is not enough. Even the first iteration would require a lot of work (in many departments). I know myself and that I could be easily discouraged without visible progress to the point where I get burnt out, even when the development is steadily going. What makes the development harder is that I used inheritance a lot in developing the basic framework for the game instead of composition or a combination of inheritance and composition. Thus, to effectively continue, I need to reorganise the project and refactor a lot of code. That would be even more discouraging to me.
Additionally, I started to doubt some decisions I made initially. For example, I want to have some stealth mechanics: hiding from enemies should be an essential part of the gameplay. There are examples of stealth in 2D side-scrollers, and I thought I could make it work too. However, when I started studying similar games, stealth in those was quite dull to me. It did not evoke the emotions I wanted from Hekate. Having that problem at hand, I need to make new decisions that would significantly affect the game, such as changing the topography principles behind the levels (e.g., creating loops). And that is just one example of several. To solve these problems, I must take a step back and return to "prototyping on paper" (I actually use a small whiteboard), and I don't want to do that right now. So, I put it on hold until I have a better position to re-start this project.
Meanwhile, I decided to start another project, smaller in scale. Surprisingly, I reached the point where having a newly created empty project does not scare me. The new project will be less complicated, at least from the get-go, and much more manageable. This time, I will try to have minimal iterations which illustrate some progress and demonstrate gameplay. Soon, I hope to post the first images-gifs-videos of it.