I've been using unity to make 2d indie type games for a while now. However, i've tried to branch into different genres and unity cant do some of the things that i want it to do(although it is still very good).

I really want to make a game from scratch were i have complete control over what happens, although i wouldn't have the slightest clue were to start.

tldr what resources do you need to build a game from the ground floor. or more or less. what resources/software/libraries did most well made indies such as super meat boy, braid or limbo use.

  • \$\begingroup\$ If you're really interested in the whole do-it-from-scratch; This guy, handmadehero.org, is live-casting coding a game from scratch, using no libraries. He does one hour a day and is currently on day 40 (something). He explains every single line he types. Full archive of past sessions available on youtube. \$\endgroup\$
    – bornander
    Commented Jan 14, 2015 at 14:39
  • 2
    \$\begingroup\$ Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information. \$\endgroup\$
    – jzx
    Commented Jan 14, 2015 at 14:54
  • \$\begingroup\$ Really curious what you're trying to do that Unity can't do... \$\endgroup\$
    – jhocking
    Commented Jan 14, 2015 at 16:26

2 Answers 2


A great place to start is from this book, but I'll go over the basics. This list is built on the basis that C++ is the language you would be using and you're developing a desktop game.

  1. Games rely on maths, so you need a good maths library. A good place to look is at glm.
  2. You also need some way of displaying an output to a screen. You need a some way to get a window open and handle input (glfw, SDL) and some way to access the graphics card(opengl + tuts) to render.
  3. Assets such as texture (FreeImage), models & animations(AssImp, roll your own), shaders(roll your own) and sound(ffmpeg) need to be handled.
  4. Most games have some form of collision and physics so you need something for this (bullet, box2D).
  5. Sound playback needs to be handle as well (OpenAL, FMOD).

This list is by no means exhaustive but this list and book should give you a pretty good start.

As for "what resources/software/libraries did most well made indies such as super meat boy, braid or limbo use.", I have no idea.

  • \$\begingroup\$ I question the person who down-voted this. Although the question isn't right for the site, the answer gives suitable references. \$\endgroup\$ Commented Jan 14, 2015 at 20:23
  • 1
    \$\begingroup\$ Even though the answer may be reasonable, it's an answer to an off-topic question, which can be considered "not useful" by providing encouragement or validation of the "slip the question in under the radar" approach (which is harmful to the community overall). \$\endgroup\$
    – user1430
    Commented Jan 15, 2015 at 19:42

I would recommend using HaxeFlixel for the programming part. You have a control over almost anything in the game because it relies on it's programming(but you need to know programming in Haxe (Although it's not very difficult)). You can build an entire system from that, if that's what you're searching for.