Creating games in Windows

Everybody wants to create games but very few know how to. Even if someone has the requisite skills, knowledge is a barrier to entry in the gaming field.

The common questions which a newcomer to the gaming field faces:

  1. How to start?
  2. Which frameworks should be used?
  3. Which language should it be coded in?
  4. How to create art?

I’ll answer all these questions one by one:

  1. How to start?
    There are several ways to get your feet wet in this field. Even if you don’t have an idea for a game, think of an existing game and try to clone it. The first step if you want to start is to choose the game which you want to create. Once that is done, then it is time to choose the framework.
  2. Which frameworks should be used?
    There are many frameworks out there. Choosing one is of the utmost importance. If you choose the wrong one, it might put you off gaming for ever. Some common frameworks are:

    • Direct3D
    • OpenGL
    • Microsoft XNA
    • Unity 3D
    • HTML5
    • Flash
    • Unreal Engine

    There are pros and cons associated with each framework.

    • Direct3D and OpenGL are the best in terms of speed and performance but they do not offer high levels of abstraction and getting even a texture to load in them is a pain in the neck. However, the raw speed and performance benefits they offer are of far more use than abstractions and these libraries are often used in big games like NFS and Call of Duty.
    • XNA is by far the best according to me. Firstly, it is neither too high level nor too low level. It provides a decent level of abstraction and you can ignore the underlying hardware. However, the drawback of XNA is that it supports only Windows.
    • Unity is too high level and imposes too many restrictions on the programmer. However, it is very fast to create games in . The only drawback is the fact that because it is a framework, its power in giving ready made stuff to the programmer makes him unable to change underlying implementations in lieu of something more efficient.
    • HTML5 and Flash are also good for creating games. HTML5 is really good when used with some good javascript libraries like Impact.js or even Angular.js or some of MIT’s open source libraries. Flash is on the decline now. HTML5 is very powerful and may soon replace Flash for making browser games. However, to create Flash games, one needs to learn ActionScript which may turn out to be a headache. HTML5 games can be made with existing knowledge of HTML.
  3. Which language should it be coded in?
    The language doesn’t matter much at the beginner level. Choose something you are comfortable with. I would recommend some high level language like C# (with XNA) or Java to start with. These languages have built in graphics capabilities unlike C or C++ which need to be linked with external libraries.
  4. What about game art?
    Game art is tricky. You can either do it yourself in Paint or ask a friend who is good with GIMP or photoshop to do it for you.


I’ll explain how to install the XNA framework and then in later posts we can start learning how to make games.

  1. Install Visual Studio 2010
  2.  Download XNA framework from here and install it.
  3. If you don’t have Visual Studio 2010 then even the Express Edition of C# will do.
  4. On pressing f5, a blue screen should appear. If it appears, you have installed XNA succesfully.

In later posts, I will be creating a tower defence game and I’ll be posting tutorials on how to build one soon.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s