I know this is asked very often here and probably my question will get closed, but I am clueless in this direction.

I want to start creating my own PC games. I know C++ and a bit of C#. I created a little game in Html5 using plain javascript so I know I can do this kind of stuff.

But I need some guidance:

1- Is enough to know only C++/C# to get started?

2- What program should i use for its development?

3- What is actually a game engine and how can i use it? Should i use it?

You can add whatever you think it's useful for a starter.


  • 4
    \$\begingroup\$ Welcome to gamedev.stackexchange.com. Unfortunately "How to get started" threads are considered off-topic here. Please read the FAQ for more information. \$\endgroup\$ – Philipp May 15 '13 at 11:11
  • \$\begingroup\$ I knew it... But there is no better place to ask something like this besides the page that is visited by the people who actually do this kind of stuff. \$\endgroup\$ – Tbi45 May 15 '13 at 11:44
  • \$\begingroup\$ There is a better place to find this information. Look at the FAQ there is a link for getting started and a list of sites where questions like this are accepted. \$\endgroup\$ – MichaelHouse May 15 '13 at 14:46
  • \$\begingroup\$ Well i learned a lot of things. And i am sure that i'm not the only one who will benefit from this question even if it's considered off topic. I am sorry that i violated the rules and from now on I'll try respect the site purpose. \$\endgroup\$ – Tbi45 May 15 '13 at 15:31
  • 1
    \$\begingroup\$ @Tbi45: "But there is no better place to ask something like this" How is there not a better place to ask for something than a place where you're not allowed to ask for that? By definition, anywhere must be a better place than the place where you can't ask for it. \$\endgroup\$ – Nicol Bolas May 15 '13 at 16:44

There are plenty roles in Gamedev. business, each role splits at least into a dozen, if you want to work at some company as a game developer here are some roles you can pick:

Artists: http://en.wikipedia.org/wiki/Game_art_design

GUI Artists, concept artists, general 2d artists, 3d artists, 3d sculpters, 3d animators, pixel artists..

Game designers: http://en.wikipedia.org/wiki/Game_design

game designers, writers, sound designers, testers, UX (User Experience) designers

Game programmers: http://en.wikipedia.org/wiki/Game_programmer

Artificial intelligence programmer, Sound programmer, Gameplay programmer, Scripter, UI programmer, Input programmer, Network programmer, Game tools programmer, Porting programmer, Technology programmer, Generalist, Lead game programmer

Those are just a few general roles, that split into smaller bits, such as the combat programmer who is a specialised gameplay programmer.

Directors, art director, main director, lead game designer etc. They are the guys who have to know how everything works, to maintain a stable workflow between the game design teams.

Look at careers section at EA, it is the best reference when it comes to game development jobs.


If you want to go "solo/indie" you will have to know a bit of everything; kind off like the game director who needs to know the role of every team member. Here are a few tips.

If you would like to create 3D games you have to know about 3d modelling: You must know how to use 3d creation tools, what formats are there etc. For start I'd recommend Blender, due to the fact that it is light (120mb~~) and opensource. Or simply get the Autodesk 3d Studio Max or MAya. Those weight a bit more (3.2gb~) but have all the functions a 3d artist needs, they are supported by most game engines when it comes to 3d asset pipeline. You can download a free student version from www.students.autodesk.com . When it comes to learning I'd advice you to use the cg tutorials that are avaiable over the internet, for Blender Blendercookie.org , For anything else Digitaltutors.com - I used to learn on that website, they have thousands of hours of video tutorials on 3ds MAx/Maya/Zbrush/PhotoShop. I don't think that there is a better website, the only con I found about it is the fact that it costs $45 a month.

//Keep in mind that if you would like to use Autodesk student software for commercial purposes you are not allowed to do that, and you will have to get a copy for about $4000 to be "legit".



As for the indie game engine, depending on the enviroment you will be working with you got many options. XNA, Unity, Blender Game Engine, Unreal Engine, HeroEngine.


It is a crossplatform 3d engine, which can be perfect for those who know only Javascript or C#. The game engine is free for commercial use for indie studios, while the bigger studios with at least $100,000 yearly revenue are required to get the Full/Pro version. You keep all income, no revenue splits. You can make mobile games, online games, MMo games that can be crossplatform, distributed on Linux, Windows, Mac, Android, IOS. Games like the Temple Run use it. It is the game engine behind the SlenderMan game.

You need to know C#, Javascript, or UnityScript in order to make games with it.

- Perfect FPS game engine

You can use it Commercialy, you keep any money you earn below ~$52,000. After that you are supposed to split 25% of the revenue. Fair if you consider the ammount of work they have done in the engine creation process, tens of AAA game titles used the Unreal Engine, Mass Effect 3, Bioschock Infinite, Unreal Tournaments (...) and more.

This engine gives you a complete Game Development kit with terrain editors, built in AI and so on.

It utilises its own script language called the UnrealScript, which is a C++ based language

http://Heroengine.com - Perfect solution for the MMO Development. "Minecraft world editor"

It is the perfect engine when it comes to MMO Develpment. You do not have to handle the server architecture; everything is done in the Herocloud. In order to work with it, you have to buy a work station for at least ($100/year) or 25 CCU workstation for ($400/life time).


If the game starts and you start making money, they will charge yo 30% of the revenue with no additional costs and they will handle the servers. If you pay $75,000 for the source code license you will only have to pay 7% of the revenue + you will gain the ability to host your game yourself in your own cloud.

It uses HeroScript, based on C++, for the 3d graphic pipeline you must use Autodesk 3DSMax/Maya as nothing else is supported.

The HeroEngine gives you many built in features, such as the facegen, speedtree (used in Avatar movie)


For a start I'd tinker around the Audacity, which is basic sound editor. Free GNU


2d art If you can afford one, get an Adobe Photoshop as it is fairly the best 2d edition tool 2d graphic edition.

You can also use the Gimp, which is an opensource program that has probably everything you might need to make your game.



I posted the overall stuff you might need to know to find yourself around the game creation process. There are more engines as the Tourque 2d, more software to use like the Allegorythmic Substance creator for smart textures, or the 2d Illustrator. But I hardly believe that anyone would be able to master everything at once, so check out what suits you most and then go deeper into the rabbits hole. Whether it is the gamedesign, story/code writing or art design - You have to choose



For a very simple game where you don't make a whole engine but just program the game as you please, this is enough, if you are able to learn things as you go along and the required math too (linear algebra comes to mind). For more complex games you either need to collaborate with artists and other content producers (3d-modelling if it's a 3d game), or if you are multi-talented learn that yourself as well.


What are you talking about here? Programming IDE or game IDE? Unity or UDK are popular. They are also their own game engines. If you program a simple game like I'm talking about in (1) maybe you shouldn't bother with a full game engine IDE yet.


I'm quoting wikipedia on this: The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, and a scene graph.

  • \$\begingroup\$ 2* In highschool i used MinGW for making algorithms in C++. I was wandering if there is a special program that serves the same purpose...but for gaming. Thanks for the answer! \$\endgroup\$ – Tbi45 May 15 '13 at 10:08

You should know that this is hard coding, which you already know.

1- It's not enough just knowing how to code. There are mathematical subjects like trigonometry and algebra that are really useful and necessary when developing games (specially 3D ones). A little background on elementary physics is a good plus. In case you need guidance, there are books like: "3d math primer for graphics and game development" and "Physics for Game Developers". However, you don't need to know everything to start. Start making games and learn by doing. The keyword here is research.

2- It's your choice depending on the language and platform you're aiming. Use the editor and compiler you're already used to and try to install and import the libraries with that in mind (or learn the most used IDE for that language/platform). I advise to use APIs, frameworks or engines instead of making a whole game from scratch.

3- A game engine is a cohesive set of tools (editors, libraries, APIs) to make games given a fixed pipeline. The best way to use it is reading/watching tutorials and books. You should use it in order to speed-up the development process and not reinventing the wheel. Start by learning GameMaker, for example. It's one of the simplest game engines out there. It'll help you understand an engine pipeline and philosophy. After having a little mastery you can move onto Unity3D or UDK.

Well, there is no perfect path or something. There are several paths you can take in order to make your own PC games. If you already know C++ and a little C# the best is to leverage on APIs and frameworks. Clanlib is an excellent choice for C++ coders and MonoGame for the ones who prefer C#. However, given the mobile revolution and the fact that you already know Javascript, I advise to learn Cocos2D-html5 or Enchant.js instead.


Not the answer you're looking for? Browse other questions tagged or ask your own question.