Do you want to make your own games?

There is a lot of buzz about game development these days with India set to become a major market in the field. New game development companies are coming up everyday and the market is predicted to be worth $1 Billion in India. Obviously, many new coders and designers want to get into the industry, and many of them are starting on their own without much investment to begin with.

So, if you are a lone developer and you want to get into game development, here are the few things you should know.

1. Game Development takes time and effort
Sounds very generic but all those smooth animations and physical effects you see in AAA games are actually made by teams of 100+ coders and designers who spend a huge amount of time and money in the process. Top AAA games usually take 2-3 years to make. If you do the math, 50 developers work 40 hours a week then the total time spent in a year will approximate to more than 2000 hours for one developer! For 50 devs, its 50 X 2000 = 10000 hours ! But you may not have to worry about that because once you create good games individually, your team will probably grow too.



2. Branches of game development and Programming Languages
There are basically two broad branches of game development. The first is the art aspect and the other is the coding. Those responsible for the art portion should have knowledge of basic modelling software like Blender(free) or Maya(free). For 2D games Photoshop rocks! If you are a coder then programming languages like Java, C#, C++, Javascript or Python come in handy. Out of these, python is considered the easiest to begin with but Java and C++ come out as the real winner when the stakes are high. Javascript does wonders in Web Based games. Personally, I have never heard anyone making games in C! For Apple Store, you will have to learn Objective C, and for Google Play Store one needs to know the Android OS.

3. The Art Aspect
Apart from good mechanics, games also need a good art style. Top games AAA games have a “consistency of design”, which means that they follow a single theme which helps to market the game. So, while some games are based in a post-apocalyptic world others are based on open world sports! As mentioned above, familiarity with 3D modelling software is a must to make visually appealing games. But then your game doesn’t have to have photo-realistic graphics. To begin with, games must follow a single theme or else the various elements don’t gel together. So, even if you use pixel art, you can still come up with a best-seller! Lastly, if you don’t want to make artwork for your game and want to focus on the coding process only, then you should download assets (free or otherwise) available online on websites like Open Game Art, Game Art 2D or Kenney

4. Take help of online tutorials
There are plenty of game development tutorials on the internet from Udemy to Youtube, which can guide you in your quest. These tutorials teach everything from coding games to making textures and assets for your games. Some courses on Udemy are pretty good and as cheap as Rs. 700 for lifetime!

5. Software required and PC power
For making AAA games, one requires at least an i7 processor with at least 3.5 GHz CPU. Top notch graphics cards like NVidia 1080 Ti are good with at least 16 GB of RAM. Such desktops cost more than 75K and consume a lot of power. Other software required are Adobe Photoshop, Blender or Maya for 3D modelling. Blender is free software and can still create great artwork and animations. For 2D games, Photoshop is great but it can also be used in 3D games to make UI. Or you could use Gimp or Inkscape for vector art (both free).

6. Most Important Tip – Start small
So, you have decided to get into game development on your own or with a small team. In that case, you should begin with small, simple games and then proceed to make big and more complex ones –
a. Text Based
b. Puzzle Based
c. Simple 2D games
d. 2D platformer – linear
e. Top Down 2D / Multiplayer
f. Top Down 3D
g. 3D FPS linear / Multiplayer
h. 3D Open World

This list might not be exhaustive but does cover the basic sequence.

7. Strive for Uniqueness
There are tons of lone devs out there who pick up ideas from already popular games and make a copy before launching it on Steam or Playstore. This is obviously not a good practice. To get more downloads it is better to make a unique and finished product which is thoroughly tested for bugs, and then launch it to the markets. When users buy a game they are basically looking for a good experience. A well made, bug free game makes end users happy and increases your chances of success.

8. Popular Game Engines
The most popular game engines for 2D games are :-
a. Twine (Text)
b. Game Salad
c. RPG Maker
d. Unity

For 3D games :-
a. Unreal Engine
b. Unity 3D
c. Source
d. Godot
e. Cry Engine
f. Frostbite

Of the 3D engines, the last two come at a price but the above 4 are free. The lists are not exhaustive. The engines mentioned have different terms and conditions for commercial use. For example, Unreal charges 5% of game sales while Unity has a free and premium option. In my research I have found that out of Unreal and Unity, the latter is better for 2D games, while devs prefer Unreal for 3D game development.

9. Maths required
Surprisingly enough you don’t have to be a mathematical genius to make games but yes your coding skills should be good. The reason being that the Game Engine you will work on will take care of most of the maths required, and so you will be left with simple calculations regarding 3D geometry etc. But if you would want to make a game engine (which is not recommended if you want to make it quick), then you will have to know advanced topics like 3D Geometry, Vectors, Calculus, Applied Mathematics, Linear Algebra and so on. You would also need to know good amount of physics. It doesn’t come as a surprise that most companies stay away from the idea of making a game engine and use ready-made engines with some tweaks and plugins. Needless to say there are very few game developers who make their games from scratch using C++ or Java, but when they do, the game turns out to be better than otherwise. One such example is Roller Coaster Tycoon made by Chris Sawyer in x86 assembly language! Other notable single developer games are Minecraft, Cave Story, Dust: An Elysian Tale, Stardew Valley
and more recently, Thomas Was Alone.

Finally, I would like to say that one has to work hard and stay motivated in the entire process of making a game. Even if you don’t come up with the next Minecraft, Dust: An Elysian Tale or Stardew Valley, you will still learn a lot in the process which will help you in your career as a game developer, 3D artist or coder.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Akanksha_Rai