I’ve made a short, silly adventure game in SDL2, that randomly generates a world to explore, including towns to visit, and (simple) quests to complete. You can find it on itch.io:
A new world is generated each time. It takes about 10 - 15 minutes to complete everything, if that’s what you’re going for.
That was an interesting game.
Here’s some thoughts:
You might turn on VSync so that it doesn’t push the CPU to run at max speed.
Add a slight time delay after the first step is taken before auto-step turns on, it is currently a bit difficult to align with the NPC’s position when a quick tap on wasd often moves you 2 spaces.
The NPCs mention batteries, a next step may be to add a battery system and upgrades that the player could purchase from the blacksmith.
The player might come across some caches of equipment and realize they are losing their memory every time their battery fails.
Could you create the ability to set the world’s seed, so if I find an interesting world setup I could share that experience with friends, or could come back later to explore the situation further.
I think you have a good base for continuing development.
For the community at large:
I noticed that the game expects the user to have SDL2 and associated libs installed on their system in order to run. I know that’s not unusual, the other option being to include the library files as part of the project. This brought me to a question; is there a way to tell the linker/loader to prefer a system installed library, but if it is not found then use the package-provided version?