Road Map to game development

Codynn
13 Min Read

Developing a game is always challenging and enjoyable at a same time. you have to work hard and sacrifice your sleep to become a game developer.

Almost every developer has their dream(wishes) to become a game developer. Many of learners enter the field of computer science or programming because of their interest in game development nowadays. I have seen so many students with the concept of game design. Some of them has also long term goal to become game developer. But most of students or learners gets demotivated because of the fact that the path to become a game developer is very tough. There aren’t many colleges or universities that offer a game development program. Motivation is a must skill that you must have in order to become a game developer.

In this article, I will try my best to give you a road map. This article can help you to get started with game development. Personally I am not also game developer. I am also a beginner in this field. I made this roadmap for myself while I was doing my bachelor’s in computer science. If you start right away, it will take 2 years to become a good game developer.

There are basically seven steps for development of any software or application which we call it as program development life cycle. The list below also applies to game development also:

  1. Defining the problem
  2. Analyze the problem
  3. Design the solution
  4. Coding the program
  5. Testing and debugging
  6. Documentation
  7. Maintenance

In software development, you have to find the existing problem in real world. But in game development you have to find the better way of engaging the users to your game, as game is for entertainment purpose. So, you have to find a reason why user should play your game instead of other game in the market. For game development you can think defining a problem as a story line or idea. Now, we will discuss in detail about the game development lifecycle.

1.Story Line and Idea or concept :

Before making a game, you must have a solid idea about what you want to make. If you are formal, try to write a documented paper and write all the concept in organized manner. Unlike formal one, I am the one that is informal who scribble a concept or story line in a paper which I only understand what I am trying to do. If some other people views my paper, they will probable don’t understand what I am creating or doing. Always make a list of plans or ideas that you want to implement in your game. You can use notepad, google docs, word or you can even use trello for this purpose.. You must have to focus on different things like what is the purpose of game, what emotions and impressions can you make to the user, what makes them play game again and again, what impacts can you make and the list goes on and on. You must have the answer to why users want to play your game instead of other games.

Please keep in mind that Playing different games does not make you creative enough to generate a new idea or concept.

2. Designing game:

Once you have completed a storyline or idea about the game, you have to work on designing the game. You can use different software to design the game. You must have to focus on colors, shape, structure, point, line, texture etc. You can get the concept and detail explanation of these through this link. You can use game engine software like unity, unreal. If you are not familier with these game engine, you can also do this with the help of photoshop, Figma, Gimp, sketch or even you can use paint for 2d game. If you are interested in 3d gaming, you can use the software like maya animation, blender, autodesk 3d’s max to make the environement for the game.

But my suggestion is to use unity or unreal engine to design the game. If you want to develop games and want to become game developer, you sooner or later have to study or learn about game engines like unity or unreal engine. You will get plenty of 3D assets there. You can get the idea from itch.io, steam, gog.com, behance etc.

3. Coding/Programming a game:

This process is one of the most important process for game development. You can start from here, if you are not interested in above two processes. You can make a team and you can give a work of design and story line to other team mates who are good at those things. If you are working in companies you don’t have to worry about design and ideas of game.

Langauge for game development??

After seeing the word programming or coding, one thing always arise in mind. Which programming language should we use? Most of the students gets confused which language should they choose to enter into the field of game development. I also had same question when I was very new to this field. Before being language specific you must have the basic concept of programming like: flowchart, algorithm, variable, constants, statements, keywords, comments, operators, expressions, program flow, control statements like conditional and unconditional branching. Conditional branching are if statements, if else if statements, if else if else statements, nested if else, switch case statements etc. Unconditional statement are go-to statement, continue, break and return keywords etc. Then you have to good at looping. There are different loops like for loop, for each loop, while, do while, nested loops etc.

After getting all of these basics you have to learn methods or functions. Different programming language has different way of writing or declaring functions. After that you must have the knowledge of data structure and algorithm. At last you must have a good understating of object oriented concepts.

Now we will talk about the programming language for game development. There is no any great programming language. If you try to compare one programming language with another programming language, you will end up comparing only. Just choose one programming language and start coding. If you want to make 2d games, you can use pygame(a python modules for game development) which uses python programming language. You can also use HTML5 to make 2d games, you have to know the concept of canvas. I have also made some small games with pygame and Html5, the experience was not so good. The performance and resolution is not so good in both of these language. There are also other option like construct3, game maker studio etc. But if you want to develop better app, you can use unity. Unity is game engine for both 2d and 3d games. Unity supports C#(C -sharp) or C++. JavaScript is also used in game development world like java script can be used in Phaser 3 game engine. Java is also used in game development. Java is used widely by indie games and some of the engines where java is used are : JMonkeyEngine,Cocos2D etc. but java is not the best option for programming a game. I will highly suggest c# or c++ etc.

game engine for game development??

There are plenty of game engines like unity, unreal engine, corona, godot, pana3d and the list goes on and on. But there are two technology that are dominating other engine. They are unity and unreal engine. Unity is the cross platform game engine which was developed by unity technologies and unreal engine is also a cross platform game engine which was developed by unreal. Both game engines are used widely to develop 2d and 3d games. If you want to compare between these two engines, you will end up with confusion only. Unity is best suited for mobile game development whereas unreal is better for photorealistic and highly graphical games. C++ language can be used on both of this engine. You can choose any of these game engine. Both game engine has some pros and cons. We will discuss that part in next blog.

Is math needed for game development??

Yes, t is obvious that you need mathematics to develop a game. You must have a good knowledge of basic math. Besides basic mathematics, you must be good at linear algebra, calculus, discrete mathematics, . engineering mathematics, numerical analysis, probability and statistics etc. we will discuss this part in next article. For now, only get these basic idea.

5. Testing and debugging :

After developing a game. The game must be tested and debugged before the release. You dont have to worry about this if you are working in game company. There will a group of tester and debugger to test and debug your code. If you are solo developer, then you have to handle this on your own. There are different ways to test a game to find the faults, failure and errors in the game.

6. Documentation:

This is also very important aspects of software development lifecycle or in game development lifecycle. Basically, documentation is the written text where you specify the user how you can play your game. It is only importance if you are solo game developer. You dont have to worry about this part in company.

Some of the course that you can follow are the course of udemy, tutorials of youtube and coursera courses. Free coursera course’s are really helpful if you are beginners in this field. Don’t forget to follow the documentation for the engine and programming language.

I will attach the cheatsheet made by nexon korean game developer Chris Ohk.

  1. Client Road Map:
Client road map to game development
Server road map to game development
QA road map to game development

Thanks for reading this article. Please comment down below of you did not understand any concept. Please let me know if you want other information regarding any topic related to it and computers.

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *