The Story behind my first game
Racing Tour is a racing game made for those who seek speed and lack of fear to fail on their first attempts because of its game mode. This is how I came out with the idea and how I developed it.
I was in charge of all of what the creation of the game involved. These are:
- Game Design
- Game Development
- Game Performance
- Database Management
- Landing Page Deployment
- Authentication Management
Racing Tour is a car game made for both, newbies that want to begin to explore the awesome world of racing, as well as experts that want to level up their game with other drivers that enjoy defying reality.
Entertainment is a necessity of humans, therefore has a huge potential in the market. Although the game will make you smarter and wiser, it will not solve your daily problems. If the intention of the person who plays the game is to become much better and even make a living out of it, the game is a great opportunity to boost your racing skills. It helps you improve your concentration abilities which makes them be more focused when driving for real.The game will help you improve in some ways your real-world driving skills by knowing more the basics like to accelerate and brake the car, and even do it with other drivers nearby. Although Racing Tour will improve in some aspects your real-world driving skills, there are other skills that you will develop only by experiencing driving in the real world. This game is available to anyone at any time at any place.
Why did I create it ?
I’m going to start off by saying that I love video games, I’ve been a fan since a very young age and now with what I’ve learned these past 2 years I could finally make one of my own.
One of my other passions is mixed reality, and Unity3D is a very nice platform to develop this kind of technology. In the spirit of learning, I used Unity3D as the engine of the game to become more familiar with it and cover some ground in mixed reality.
So RACING TOUR was really the mix of wanting to make a video game and wanting to know more about the tools that are required to develop mixed reality. I hope everyone likes it.
First things first, I’d like to say that it was a very challenging development process, one of the most challenging things I’ve ever done. Having that said, let’s get to the timeline.
I had around six weeks to develop the app from scratch. So I had to start right away. During the first week I worked on the design of the game. I started creating the map and the track from scratch with the help of the game engine Unity. So as I wanted the map to have a rural aspect, I began to create mountains. This is done in Unity by adding a GameObject called “Terrain”, then you setup a height and start using your mouse wherever you want to have a mountain. In my map, I created about 5 or 6 mountains, and then I imported some trees and bushes from the Unity Asset Store and added them in the rest of the map.
After some of polishing, the map was done. Right after the map was ready, I began to start creating the track. So I used a tool from the terrain gameobject that defined the layers of the map, and defined the track was another layer which was above the terrain. Then I created the texture of the road, and started drawing the path of the road. Right after this, I put some rocky elevated walls that surrounded the track, to keep on with the rural aspect. After A LOT of pollishing, the track was finally done.
The next 3–4 weeks were all about game development. So first I imported a car from the standard assets package provided by Unity. It came with all of the design of the car and the scripts required in order to move correctly with all of the physics already applied. After that, I started managing the camera that was going to keep along with the car no matter where it went or what the car did, so I had to start coding in C# to make the camera steady. Then I created some triggers to manage the time of the race, I added one when the user got to the half-point of the track and another when he/she reached the finish line.
Then I had to code the race time that will show up on the UI. Not only the race time, but also code to show the best time when the user got to the finish line faster than before, if it didn’t get before the current best time it’ll not do anything. As the only game mode of the game is time trial, I had to make the user reach the finish line before a specific time. So I had to code that if the user hasn’t reached the finish line before a minute, game over, and had to retry to win. As the race only has one lap, I also had to set that when the lap is equal to 1 the game was finished.
After that I added other view modes for the user, which were switched to by typing the c key. I added two other view modes besides the normal, one of those was a far view mode to see exactly what’s ahead and another that felt like the user was in driver’s seat. I also added some music to the game and sound effects for the countdown to start the race. At that point, the game already had a great aspect and was almost ready. I felt that the game needed to have a more realistic aspect so I added something called “skybox”, which is how the sky of the game will look; which gave the feeling that it was in the sunset.
So when the game itself was done, I started creating the rest of the scenes, which were: User Sign Up, User Login, User Data Recollection(Full name, Username), Main Menu, Track Selection(In this case only one track), Instructions Scene, Game Scene(the one we already created), Retry Scene, and for last the scene when you win. The User Sign Up scene was all about authentication, so I created some UI text boxes to receive the input of the user’s email and password. The authentication system was created with Google Firebase whereI had to create a script in order to create the user in the authentication system. The login scene is in charge of verifying if the user exists and if the credentials are correct, I had to create a script as well to check if everything is ok in the authentication system.
When the user is authenticated, the user is asked to fill out the form asking for his/her name and username, which will be stored in the Firebase Real-time database along with it’s email. The Main Menu scene, as the options to play, to select a track, to quit or to log out. If you would want to select a track, you would be taken to the track selection scene, and pick a track. After that you’ll be taken to the Instructions scene, where the user will know that if you don’t reach the finish line before the minute you’ll loose and have to try again. During the Game scene, if you loose, the Retry scene will take place, and will give you the chance to start over the race, go to the main menu or quit the game, but if you reach the finish line, the Win scene will show up, the car would stop, and another sound track will play.
That’s pretty much how to game was created, you can see a demo of the game here, or you can download the game in our landing page, click here. I really hope you enjoy the first game I’ve ever done. Thank you !
I appreciate each and every person that reads this blog, thank you all for the support !