My experience making a 3D racing video game with Unity

My experience making a 3D racing video game with Unity

No hay texto alternativo para esta imagen

In this blog, I'm going to tell briefly my experience as part of the development team of a 3D racing video game using Unity as a video game engine. This is Polygon Race, a video game set in a retro-futuristic scenario and with vaporwave soundtracks, with the idea of being a casual game, simple to play, and of course very fun to have a scenario that is generated randomly.

The initial idea (very similar to the final product, actually) was to create a video game with a game mechanic simple enough to be enjoyed by any type of player, both expert and beginner, in turn, that this had some fresh and timeless graphics, with a system of scores and player aliases capable of being saved for the next execution of the game and a system of settings to enrich a little the gaming experience.

The Team

No hay texto alternativo para esta imagen

The team behind polygon race is a group of friends, all students from Holberton School (Cohort 11), within which we all, as good gamers, enjoy many types of video games. Because of this and the curiosity we had as a group about what it would be like to develop our own video game. This is how Sapopetas Studios was born, the organization through which we concentrated our efforts and dedication to make possible that idea of creating our own video game, after 2 months of full-time work.

Used technologies

Blender

Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games. It was used for the 3D modelling.

Unity

Unity is a cross-platform game engine. The engine can be used to create three-dimensional, two-dimensional, virtual reality, and augmented reality games, as well as simulations and other experiences. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering, and construction. We used it as the main engine of the game.

C#

Scripting in Unity is through C#. This language is a general-purpose, multi-paradigm programming one encompassing strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented, and component-oriented programming disciplines.

HTML

Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser.

CSS

Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. It was used for the landing page code.

Illustrator

Vector graphics editor in the form of an art studio working on a drawing board. It is intended for the artistic creation of drawing and painting for illustration, to create and design images, serves to edit among other things. It was used by our artist for making the background of Polygon City.

The previous technologies were used because of their amenity to the developer, in addition to the potential they have within the 3D development of video games. HTML and CSS were used because we had previous knowledge of these two tools.

Features and gameplay screenshots

No hay texto alternativo para esta imagen

One of the main features of polygon race is its futuristic retro graphics, a concept that alludes to the future imagined a couple of decades ago. In addition to this, the fictional city of Polygon City was used as a setting, on a busy highway at night specifically.

The player controls a car by which he must get as far as possible without colliding with another car in traffic. As the player advances in distance, a score indicator indicates the distance covered by the player in the current game, and then it is saved along with each alias (several aliases can be created. Each one will save the highest score of the moment it was played using it), once the player collides, a screen will be shown with the score reached compared to the highest scores of the other stored aliases, giving later the option to return to the main menu (Back button) and start another game from the main menu.

No hay texto alternativo para esta imagen

Another feature to highlight is the settings menu (accessible from the main menu) through which you can adjust some parameters of the game as the volume of the background music, activate or deactivate the sound effects and create a new alias.

The most challenging things for me

When I started this project, I was a little overwhelmed when dealing with tools I hadn't worked with fully in the past. In the process, I realized my true potential in quickly learning a subject even if I only had the basics of it, plus some soft skills like teamwork, time management, assigning and scheduling tasks among team members and finally managing to link the initial idea with the final product.

That's why my biggest challenge was to work in a context over which I had little previous experience (Unity and C#) and for the handling of scripts over a series of gameobjects, also used in Unity.

What I learned from this project

During the development of this project I learned some very important software development skills. Some of these are:

Working as a team, working under pressure, learning a subject from scratch in an efficient way, managing time and scheduling all the tasks that make up the project, using an alternative to Github as a collaborative work tool (a Unity Teams organization was used as the main collaboration tool) and I also grew as a person by having to face challenges such as expressing my ideas and accept/respect those of the other members of my team.

About myself

I am a software engineer in training, with an insatiable hunger for learning and exciting experiences both as an author and contributor to various projects both personal and professional, starting from scratch and achieving a complete product and responsive to customer needs, as well as optimizing existing products.

Link to my Github profile

Link to my LinkedIn profile


To view or add a comment, sign in

More articles by Alejandro R.

Others also viewed

Explore content categories