It’s finally happened! After just under four months of building this game in my spare time, I have the full gameplay loop. It’s very bare bones, but it’s there and I’m excited that I can now play my own game without having to stop it and restart it if I win or lose a combat.
However, that is all I’ve really accomplished this week. I went to a big LAN event over the Easter weekend with some friends, which was great fun and let me play plenty of other games. Unfortunately, because I was doing that, I didn’t put much time into my game dev this week. And that’s fine – since this is mostly a hobby for me, it’s important that I don’t do it to the exclusion of everything else.
Entering combat from the world map
A big part of my game is that the player’s units in combat are the adventurers they’ve picked to send on the quest. The player will, eventually, be able to equip their adventurers and choose new feats for them as they level up. So it’s important that the combat scene can take in these adventurers and convert them into combat units.

As the above clip demonstrates, the combat scene does now use the adventurers that the player has selected for the quest. We can see that the player has found a quest from scouting a revealed region, and chooses four adventurers to send on this quest – Jamir, Krugga, Tima, and Rillka. The clip then skips forward a bit since just watching the screen until the party reaches the quest is not too interesting yet and we resume just as the party reaches the quest site. Here, the player chooses to begin the quest, and is immediately placed in combat, where we can see that their units are Jamir, Krugga, Tima and Rillka. The HP values are also correct, although not much else is actually carried over yet.
Going through this process a few times to test it has given me some ideas for improvements already:
- There should be other things happening on the world map. This is something that I’ve known a long time. Having to juggle research, when I add it, and scouting more will help, but I think there might need to be random events related to both scouting and the party (or parties) traveling out to quests
- There needs to be a transition screen between the world map and combat. Even if this is just half a second with a simple animation. At the moment, the jump into combat feels very abrupt
So, we can go from the world map into combat. What about the other way?
Returning to the world
Once we complete (or fail) a quest, we need to make our big triumphant return to the world map. Or quietly slink back if we’ve failed, I suppose.

This clip shows the player winning a combat by defeating all the enemies, at which point they can click Continue on the win screen, and are returned to the world map. Brilliant! All sorted then!
Well… not quite.
The world map code is, as I mentioned when I started the combat screen, a bit of a mess. And that mess has now come back to give me a lot of trouble.
The problem presented to me here is that I did not design the world map code in a way that lets me easily load game state. At this point, I’m sure I could shoehorn it in, but it wouldn’t be easy to add in new mechanics, and saving or loading the state required for those mechanics would be just as difficult as it is now. So I’m going to need to rebuild the world map code before I can go much further here. But that’s fine – all development requires iteration on features as you learn, and this will allow me to build in saving/loading the world map in a better way, along with some other things that my game either will need, or could need that will be very difficult to add in if I ignore them.
In some ways this is frustrating, but what it tells me is that I’m learning important lessons about how to architect game code, and no developer should be ashamed to say that they’ve made mistakes. If you don’t make mistakes, you can’t learn from them.
So, with that in mind, let’s have a longer demonstration of the full gameplay loop and join me celebrating this milestone! I’ve sped it up a bit and cut out some of the waiting on the world map, but the important bits are there.

I’m proud that I’ve achieved this, and also somewhat intimidated by how much more needs to be done.
Refactoring plans
I’m not really looking forward to this refactor. It’s going to be quite tricky and will probably take up most of my game dev time for a week or more. But it is going to let me add some things that my game will need or might need, but should be considered early so as not to create significant technical debt.
These things are:
- Saving and loading. Baking this in from the start and designing the world map to take in an easily extended state will have massive benefits in the long run
- Localization. This refers to game translation and is very easy to underestimate. If you want to translate your game into another language, almost every single piece of text you have will need to be translated. And then replaced by the translated version. I’ve barely even begun and I already have quite a lot of text in my game. I might not ever translate my game, but it should be relatively straightforward to set up now to avoid having to go through an entire game and replace everything at the end
- Analytics. Not necessarily to be sent to me, but keeping track of stats like “how many quests you went on” or “how many adventurers recruited” etc. will be useful for me debugging and can be used to show game stats later
- Developer console. Being able to spawn in specific quests, set story flags (when I have them), add adventurers, and more will be incredibly useful for testing and debugging
- Sound effects (SFX). I am not a sound engineer, or a composer, and I’ve been ignoring sound for the moment with the idea that I’ll put it in later. I think this is a mistake and so I want to build in SFX as I go from now on
- Theming. Creating a global theme that feels right for my game will help me develop it in a more coherent way
I’m sure there are more things to add in, but these are the important ones that I’ve noted down so far. If I’ve missed anything that you think would be important, please do let me know either in the comments or on Bluesky.
So what’s next?
I’ve reached a great milestone in my game’s development and I’m very pleased that I have. I would like nothing more than to go full steam ahead adding features and improving that loop.
But right now I’m going to take a step back and start building in things that will improve the development experience, since that will, hopefully, let me make a much better game. In the coming week, I’d like to sort out my localization strategy and add the developer console, even if it doesn’t do much yet. However, so that I’ve got something fun to do too, I’m also going to add a simple transition screen when the player moves from the world map to combat and vice-versa.
Let me know your thoughts in the comments and I’ll see you next time!