Game development is a fascinating topic, but can be overwhelming when you’re just starting out. At least, it sure was for me: I had to choose an Engine on which to build my game, learn about its internal workings, discover the best programming patterns to use while paying attention to performance, find nice looking assets etc…
Doing all this, I realized that resources for learning Game Development are lacking and decided to make this tutorial series both to help other developpers and improve my own codebase.
This first post is all about explaining what kind of game we’ll be making.
Growing up, my favourite games have always been RPGs. I am not exactly sure what drove me to them, could it be the captivating stories, or the breathtaking scenery so common in these games? I can’t say, but there is one thing that I remember for sure: Dungeons!
Dungeons are a staple of RPGs and also allow us to experience most of a game’s features:
There are many more features that give its quality to a RPG game, but focusing on creating a playable dungeon allows us to quickly iterate on the core mechanics of our game and are great way to become familiar with Game Development.
Since this is a first project, we want to keep it somewhat simple, but still create powerful systems, that we will be able to use in other projects.
As such, I decided to go with a project similar to Etrian Odyssey, or old D&D games: a first-person view dungeon exploration game, with monsters to be fought while trying to reach the end floor/section of the dungeon.
So what will we learn with this project? Quite a few things actually!
Developping a reusable Movement system
This is one the biggest basic blocks of game development and, if done right, we will be able to reuse it in many other projects.
We’ll need to create the dungeon layout. I’ll feature a few maze algorithms which we can use and show how to procedurally create game content.
What’s a dungeon without evil creatures? We’ll show them who’s boss and loot their stuff!
Save and Load
A warrior needs his rest, you and your players will need a way to save in-game progress
Game development can be complex, but just like any other programming project, the most important thing is good vision from the get-go and that was the intent of this article.
Now it’s time to start, you can read in order, or go straight to the article of your choice. The code used, as well as a playable demo, will be available every step of the way.
I am writing the follow up. Stay tuned for updates!