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?
Can we address falling off of the map causing the game to crash? I think all players at one point or other will try to reach the boundary just to see how big the world feels, so crashing the game doesn’t feel great.
Here are the options I know of:
Have the player/ship bump against an invisible barrier.
Warp them to the opposite side of the world
which would indicate that the entire world is displayed in the map.
Have them fall off the world and respawn at start. (Possibly make a joke about Flat-Earth Theory)
(If this crash is just happening to me, I’m on Fedora Linux using X11 and Xfce4)