Independent Game Development – Making a Video Game with Unity 3D

PhD Lecturer at “School of Computer Science for Business Management” – Romanian-American University

)

This article has the purpose to encourage the reader to start putting his ideas together, choose a game engine, build a video game and join the Independent Game Development industry.

Keywords: games, video games, Unity 3D, game engine, indie, independent, developer, programming

 

Introduction to Independent Game Development

Independent Game Development is the process of creating video games. These games are also known as “indie games” and they are usually made by small teams or by only one person. Considering the small number of people involved in the creation process, these games take from days or weeks to even years to be finished and released.

The Independent Game Development move started in the 70s and became popular during the 90s. Back then, the publishing process of the game was very difficult, as big development companies tended to take the video game market only for themselves. Indie developers used to publish their work as an open source project, or share it between friends. It was more like a hobby and not a money making job. Although there was a chance for them to sell the project to the big companies, most of them decided not to do so as the creator of OddWorld, Lorne Lanning, states:

“I’d rather not make games than … be a slave for public companies who care more about their shareholders than they do about their customers.”

The Independent Game Development move met a boost in the 2000s, when the internet was accessible to almost everybody and the publishing process was not so difficult anymore. Also, small developers had access to more tools to use (e.g. Adobe Flash Player). But games made by the big companies became more and more complex, the classical 2D was replaced by the 3D with high, close to reality graphics, designed for high-end PCs or Consoles, so the indie games were not that attractive anymore for the end user. But things were going to change.

Some of the today’s big money making video games like Minecraft started as Independent projects.Indie Game Development making videogame1 Independent Game Development   Making a Video Game with Unity 3D

 

Today, the Independent Game Development industry is very successful, as sharing and selling platforms have been created (e.g. Steam). Game development powerful engines were also made and allow the developers to create complex and highly graphical 3D games. Some examples of those game engines are: Unity 3D, Unreal Engine, Cry Engine.

 

 

What is necessary to become an Indie Game Developer?

A great idea

Considering the fact that games are being created for many years now, if anyone wants to make a successful one, they have to think a lot about the main idea of the game. It has to be original, innovative and most important it has to attract thousands of future worldwide gamers. As a piece of advice, a MUST HAVE for a game is the Multiplayer mode. Gamers love to interact with each other in the virtual environment. So, no matter the genre of the game, even if it is a RPG, FPS or TPS game, a Multiplayer feature has to be included.

 

A team

After the main idea and genre of the game are established, a team of other passionate gamers and wannabe developers should be gathered. Of course, a game can be created by only one person, but the most complex it will be, the more time will be spend creating it. There is always the risk that anyone has already thought about that idea, and has a team around him, by the time one person finishes the game, his might already be out there, having a lot of success. So, having a team is a great way to get closer to success.

The team has to be formed by coders, 2D/3D artists and animators and level designers, each one of them dedicated to the project.

The team should have one team leader or manager. His role will be to establish a deadline for the project and manage each team member’s time in the best possible way to get closer to that deadline. Problems will be encountered, but if he manages the team right, only a few months will be added to that initial deadline.

 

A game engine

There are lots of game engines out there. For a completely beginner it is recommended to start with easy to use engines and to create some small projects to get himself familiar with the process (e.g. Game Maker).

To create complex video games, a more complex game engine like Unity 3D or Unreal Engine 4 is necessary. My personal opinion is that the most user friendly engine is, by far, Unity 3D. The documentation on their website is very well explained and structured. Later in this article, I will explain some of the basic functions of Unity 3D.

An important mention should be made, Unity 3D needs pure scripting in C# or Unity Script (JavaScript), while Unreal Engine 4 allow users, besides scripting, to use Blueprints, which are already written code lines.

The developer should take his time, make himself familiar with the basics, build some test projects, then, after achieving some experience, start working on the main project.

Don’t be afraid to use the Internet if you get stuck, there are lots of tutorials and forums for indie game developers like you. Don’t be shy, search, ask, get yourself informed.

 

Passion

A Video Game project should not be started just because the team wants something new. The build should start because the team loves to work together and loves video games. It should start because the team wants to share the ideas with thousands of other passionate players around the world.

 

Stages of a game

Video Games, indie or developed by big companies, pass through some stages before they reach the end user. They start as an idea, that idea is put together by the developers who create version after version containing new implemented content and bug fixes until it reaches a final state which will be published.

 

  1. Creation state

After writing down the ideas for the game, the team has to start putting all those ideas together and start building the first version of the game. Being an indie game, the team members’ number is limited, so the testing of each built version has to be done by the developers. After testing, they will have to fix found bugs and build a new version. This step makes the game cleaner and cleaner with each new version, so the final product will be almost perfect and the gaming experience of the end user will be the best.

Reach a publishing platform (e.g. Steam) and announce them about your game. The game needs to be GREENLIGHT by the users for Steam to publish it on their platform. For more information visit Steam Official Website .

Another critical step during the Creation state is advertising. The world needs to know about your game so they can vote later, during the Publishing stage.

Spread the word over the social networks, build a website for your game and share it with the world, create a YouTube channel for your game and post trailers, teasers, gameplay videos.

There are also a few other websites where you can showcase your game and receive votes from players. A few examples are IndieDB or Armed Unity .

The indie developer has to interact with the potential end users, they are the ones that give the game great reviews and great reviews get the game published.

 

  1. Pre-Alpha version

An early release demo version should be published. By doing this the developer will receive feedback from the potential future users. This feedback is very important, it gives information about what should or have to be modified, implement or remove from the game.

By playing this early release version the users could also report the bugs they encounter during the gaming experience, so the future versions will be even cleaner.

 

  1. Bug Fixes and Beta Version

After gathering all the necessary information regarding the features, requests and bugs from the user, the developers are ready to build a final, beta, version.

The bug fixing MUST be made only after all the new features are implemented and the rejected ones are removed. Modifications, usually, come with new bugs, so all of them (old and new), will be fixed altogether.

Choose a small number of players and grant them Beta Access for a few weeks. Gather the given feedback, fix the remaining bugs, build a “bulletproof” (almost bug free) version and proceed to the next step.

 

  1. Gold Version

The Gold Version is the final one. Is the version that is going to be published, the version that is going to be in thousands of players PCs or Game Consoles, the version on which they are going to spend a lot of hours.

Make sure is almost bug free and the most important thing, make sure that some room for any other future implements has been left so the users can receive future updates. This, of course, needs a lot of dedication from the indie developers team.

 

Congratulations, if the game has been GREENLIGHT by the Steam community, it is ready to get published!

 

Reminder: implement new content and even new game modes periodically and perform bug fixes by publishing new updates for the game. Dedication from the developers attracts even more users and keeps close the ones already playing the game.

By doing all mentioned above all the work will be rewarded with publicity, great feedback from the users and, of course, monetary revenue. With more published games or updates for existing ones and dedication, the indie developers team will grow to become, why not, a great game developing company.

 

Introduction to Unity 3D

What is Unity 3D?

Unity 3D is a powerful 2D/3D game development engine which allows indie developers to create awesome multiplatform (Smartphone, PC, XBOX, PlayStation) video games starting with nothing but an empty scene. It comes with a built in Animation system, two types of scripting languages (C# and JavaScript or Unity Script), lots of lighting, water and particle effects for the user to add to his work.

Below is an example of a script written in both C# and Unity Script languages, if attached to a Game Object, by pressing the indicated keys, the object’s material will change its color.

Indie Game Development making videogame7 1024x456 Independent Game Development   Making a Video Game with Unity 3D

This engine comes in two versions, Personal and Pro. For the beginner indie developer the Personal version is more than enough, considering that, in recent version updates (v5.x.x), the Unity team implemented real time Shadows and lots of other effects that, in the past, were Pro only.
As an advice, be very careful with the assets downloaded or purchased from Unity Asset Store, some of them are Pro only so they will not work as intended (or at all) in the Personal version.

Of course, Pro version comes with more realistic lighting, shading and water effects and also allows the user to better optimize his game, but, for the beginners the Personal version is a perfect training and testing environment. Lots of the awesome games out there are made with the Free version.

Indie Game Development making videogame9 1024x525 Independent Game Development   Making a Video Game with Unity 3D

Unity 3D Personal vs Pro

This game engine is available to download on the official website, Unity 3D

Indie Game Development making videogame12 Independent Game Development   Making a Video Game with Unity 3D

 

Unity Asset Store

Unity Asset Store is a place where game-art creators from all around the world upload for free or for a certain amount of money their 3D models, animations, sounds and also full projects. The Asset Store should be the best friend of an independent game developer, it will spare a lot of time spent by creating all the art for the game. A certain extra attention should be paid regarding the license that come with the downloaded asset. In order to reduce the risk of any future trouble, a permanent communication with the artist is indicated.

Downloading the assets will open them directly into the project. After that they can be exported as separate objects or as a Unity package.

Only free assets can be shared with other people and not the paid ones. Other “unofficial” sources can provide the paid assets for free but they can only be used for testing purposes. If they are what the developer is looking for, the artist should be supported by buying his work.

The Asset Store can be found on the official website and also, it can be accessed directly from Unity 3D engine.

Indie Game Development making videogame13 1024x488 Independent Game Development   Making a Video Game with Unity 3D

Unity Asset Store

Unity 3D has a very user-friendly interface so the beginners will find it very easy to use once they became a little familiar with it.

 

How can a beginner learn to work with Unity 3D?

Today this is not so difficult as it was when the indie move started. The Internet is full with information and tutorials regarding creating video games.

If the engine chosen by the developer will be Unity 3D the documentation on the official website is very well organized and explained. After a few hours/days spent getting familiar with the terms used and with the very basics of the engine anyone will be ready to start building simple video games.

PRACTICE IS THE BEST TEACHER.

The most common mistake that developers do is to panic if something is going wrong. This, of course, leads to abandoning the project. A real developer should not stop if something is starting to go wrong or is not working as intended. A fail should be seen as “a way it did not work” and a way that works should be found.

The only thing a developer should remember is that everybody was once a beginner.

 

Getting familiar with Unity 3D User Interface

After Unity 3D is successfully downloaded and installed the “Create a new (2d or 3d) project” should be accessed. The main interface, which will allow the developers create awesome video games will open. The layout of the interface is 100% customizable, each window can go anywhere the developer wants.

 

  1. The Scene View – is where the developer put up the Level Design, think of it as a painter’s canvas or a musician’s sheet. The possibilities are endless. With a lot of work anybody can create the best level design.
  1. The Assets Folders – where all the models, sounds, textures, scripts etc. that are going to be used or are already using in the game, are being stored. This window should be kept organized, new folders should be created for each category of items so, if there are hundreds of items, any one of them will be easy to find.
  1. Assets in the Scene – the title speaks for itself, here are located all the items and objects that are included in the scene. This window should also be kept organized, the duplicate items should be kept under one big empty Game Object.
  1. The Inspector –In this window the developer can manipulate the Game Objects, add components to them as Colliders, Rigid Bodies, Scripts or Audio Sources, can adjust the position or the rotation of items based on the X, Y and Z axes or add tags or layers to the objects for them to be easy to be called or found by the Scripts.
  1. The Game View – is the Point of View of the user during the gaming experience.
  1. There are a lot more windows and menus in Unity 3D, these are just the basics to help everyone get started. A lot of information can be found on the official Unity 3D website, in the Learning corner.

Indie Game Development making videogame15 1024x552 Independent Game Development   Making a Video Game with Unity 3D

Unity 3D main User Interface

 

 

Conclusion

In this article we spoke a little about the Independent Game Development history, a few steps to get everybody started and also about the stages of a video game so the developers will know how to manage their time.

We talked about Unity 3D engine and how easy anyone can maser it.

But the main purpose of this article is that if anyone wants to build a game, they should not do it for the money or for the fame, they should build it with passion and love so every playing user will get those feelings during his gaming experience. This is what matters the most.

 

References:

Unity 3D Game Engine

Steam

IndieDB

Armed Unity Community

Article reviewed and approved by: Garais Gabriel

PhD Lecturer at “School of Computer Science for Business Management” – Romanian-American University


Article Autor/s:

Razvan Tudor

“School of Computer Science for Business Management” – Romanian-American University

Leave a Reply