A daily log of how I program a basic Unity/C# game: “The Escape”!
This article is also available on Medium.
The past few days, I started posting my gamedev log on a small Unity/C# game: The Escape.
During day #1 and day #2, I implemented fundamental game mechanics: endless object spawning, basic player movement, a simple UI with the score and health… Today, let’s swap our primitives for some custom-made meshes!
- I post a new gamedev log every day with a new demo video
- I work 1 hour max per day on this project
- I need to have a new visual feature by the end of this 1 hour (it can’t be just bug fix and refactors)
Day #3: Importing 3D models, randomising the instances…
Features & demo
This third day was all about improving the visuals! During this session, I prepared and imported a few models from Blender for the spaceship and the walls.
- I actually made the spaceship a few days ago as a 30-minutes Blender challenge; here’s a timelapse of how I modelled it:
However, because my game has a somewhat dark background, I changed the materials in Unity to get lighter shades on the spaceship and a better contrast 🙂
- for the walls, I just started off with basic cubes, stretched them a bit and then added various creases or extrudes to make a set of 3 possible models:
- then, I imported the 3D models into Unity (for info, I exported my Blender models to the .obj format)
- and finally, I added some logic to choose a mesh at random when I “pop” a new wall (using object pooling, remember) to actually use all this diversity of meshes! I also added a random rotation around the vertical Y axis to get even more variations 🙂
So, here is a new demo of The Escape up to this point:
We’re beginning to get a “real” simple video game, now! Sure, it’s still lacking a lot of features, the visuals are pretty basic and we don’t have any VFX when we hit something for example, but that’s already a viable first version! 🙂
A few details, tips & tricks
To transfer my wall meshes and spaceship model from Blender to Unity, I used the .obj format. Both Blender and Unity handle quite a lot of formats, but this is one is basic and light enough for my case.
Another common choice is the .fbx format – and by the way, if you directly import a Maya or Blender file into a Unity project, then Unity will automatically convert it to a .fbx!
As usual, although I have figured out most of what I want to do for this game (in terms of features, gameplay, art style, etc.), I might come up with unexpected ideas along the way… and, of course, I’d be really happy if you’d participate, too, so feel free to leave comments with cool ideas for The Escape!
I hope you’re liking this series of Gamedev Logs, and see you tomorrow for the next one 🙂