2023 Retrospective


Every January the reddit r/roguelikedev/ group is having an event where gamedev posts about their project, their retrospective through the year and what they intend to do this year.

You can find mine there: https://www.reddit.com/r/roguelikedev/comments/18xgff3/2024_in_roguelikedev_megastructures/

I put the same text below, good read!


2023 Retrospective

This project started with prototyping in January 2023 after I posted a big description about what I intended to put in there.

I think I can already confirm, looking back to everything I did this year, that this slow-burn project will take many years at the speed and energy I can put in it for now.

The prototyping period went longer than I initially planned as some subjects took more time than expected to explore. Even so, I didnt get too much into some of the branches of the tree I initially intended to go through. For example I wanted at some point to try alternatives to Godot as the “view” of the game, which needed to talk to C++ (so for example Unity was not an option, Unreal and many C++ frameworks were). In the end I decided that Godot was good enough (after helping fixing major issues in the GDExtension hot-reloading system). Still, a lot of my focus have been to prepare techniques and understanding necessary to be able to potentially do big changes like replacing Godot by something else in the future without ending up with massively crushing costs that would completely halt the progress of the game. This is long-term strategy thinking and I feel like it worked well so far.

I also allowed myself to use bleeding edge language features, libraries and tools; which means part of slow downs of progress were mainly due to having to handle these. Other parts were about learning how some of the tools and libraries actually work entt, Godot etc. and if I actually need them. Most of the time, they help bootstrap fast, making the beginning of a project easy to reach something visual, but also they introduce complexity or issues that might be better replaced by code and tooling specifically crafted for the game. For now I’m focusing on getting to the point the thing I’m runnning actually looks like a game, so bootstraping fast is ok as long as I set clear but cheap modularization barriers to handle future changes and rewrites. (note: the prototypes do look like games, but not the real game project yet)

The other thing prototyping helped with is figuring out if it is worth for me to live-stream the development of this game, or making videos on youtube. Clearly this reddit sub helped a lot with motivation by providing me a space where I can share with enthousiastic other gamedevs focused on similar subjects. But what about more visual update reports? I learned several things:

  • First, editing videos is out of question as long as I’m not full-time on gamedev. It takes a time I cannot allocate at the moment. Maybe later?
  • Second, livestreaming hardcore coding is ok for me, I kind of like it although I think I need to do it in a more casual way, without spending time making slides to explain what I’m doing. I did that at first so that there is an understanding for the few people following the project, but I also think it’s a lot of time I could spend progressing on the game.

So basically, maybe I’ll stream development again. I suspect I might start doing that when I have visuals ongoing, it’s a bit early right now. Doing devlog reports by just capturing the state of the game visually seems simple and dont need much editing, so I think I will do that as soon as something visually interesting is ready.

In November of 2023 I stopped prototyping and started the game project proper. Since then I have been setting up scafholdings of various kinds including automatic backups, scripts to do complex things in one command, etc. as I treat this project very seriously (except it’s on my spare time and I cant do much about that). I do have a running “game” but for now there is no entities etc. as I’m setting up systems to allow me to add elements in the code that will have a default placeholder in the view interpretation of the game. It takes some time to get right but once done everything will be faster to progress with.

I am also in the middle of setting up the 3D space grid of the game, the maths involved, the spatial data, some helpful visual representation, etc. I’m quite excited about the potential here, but also very scared .of a lot of the complexities it brings. We’ll see how it goes, adjustments will hopefully be organic.

2024 Outlook

This is the year where the fundations of the game shall be set. Spatial structure, turn-action-whatever-makes-things-move system (time cycle based in this case), physics (not real-time), and representations of these, entities/objects/bodies (characters). These shall technically work this year and allow me to continue building over them organically.

I fear that at the speed of development I can afford for now for this project that’s all that will be done, but I do have a massive list of things to do if by happy sequence of events I manage to find more time.

I also want to start defining an aesthetic for the game, outside game-design aesthetic. Graphics, logo/symbols, audio. I think I’ll try to make some background music tracks, and maybe contact some artists I like to make some visuals.

Basically, while building the fundations of the game, I would like to also build it’s “vibe”. While it’s inspirations have obvious such vibes, I want this one to still be unique.

Part of it would be to clarify the details of the context in which the player character is. There are many variations of the initial story and context idea I am exploring but the hard part is to decide one that talks to me in particular. Also, what are they seeking in the megastructures?

Among the challenges of this game, the handling of scale is what I suspect will require me to experiment the most this year. How to convey the scale of a megastructure visually? Spatially? How to make it interesting or at least not-boring to go through massive empty spaces? How to handle ennemies that can snipe you from great distances? How to move around in an interesting non-boring way?

I also have a technical fear right now: I chose Godot mainly with the idea to benefit from it’s editing power. However for editing the game itself, I will still have to make an in-game editor because I cannot use the scene system of Godot to represent the game’s content but I still need to be able to make hand-crafted parts of the megastructures. This basically reduces the usefulness of Godot and as GDExtension is nice but unperfect I might end up just switching to a 3D framework in C++ to remove a layer of complexity. Although right now Godot provides UI and visual setup which is far faster to make through it than through any such C++ framework that I have experimented with. I will try this year to take more notes of the cost of this setup using Godot so that I can decide better next year if it’s worth continuing.

Leave a comment

Log in with itch.io to leave a comment.