Start making games now.

Start making games now.

One of the biggest questions for many amateur game-programmers is “Where do I start?” Thankfully you’re on the right page to answer that very question. On this page we have compiled a list of many open source tools you can use to start creating games, as well as appropriate descriptions so that you can choose where you would like to begin on your journey.

Game Engines

Irrlicht Enginefree

  • One of the biggest benefits of Irrlicht is the amount of starter tutorials that have been documented
  • It has language bindings with .Net, Java, C++, Python, Ruby, and Lua
  • Supports a wealth of level and model formats
  • 3D rendering support with OpenGL, DirectX 8/9, and a custom software rasterizer

Ogre 3D Enginefree

  • A very robust 3D graphics engine written in and for C++
  • Not a game engine like Irrlicht — is purely for rendering in OpenGL or DirectX 9
  • Support handling for most 3D modeling export tools such as Maya, 3D Studio Max and Milkshape

GarageGames Torque Engine Seriesranging from $150 – 350 for students

  • Fully capable game engines complete with Audio/Input/GUI/3D and 2D rendering components
  • Some of the newer engines do not have full documentation and can be hard to use
  • The more successful engines such as Torque3D and Torque2D are widely support and have a very large user base
  • Come with many custom-made tools, and many books have been written on their engines

Game Libraries

OpenGL graphics / input

  • cross-platform API for 2D and 3D graphics
  • hides the complexities of interfacing with different 3D accelerators
  • highly documented, many tutorials, many, many books on how to use it

DirectXgraphics / sound / input

  • a collection of many API’s for handling tasks related to game programming
  • if you use pure DirectX for your projects, the dependencies are much easier to manage
  • Has language bindings for C++ and C#
  • has a lot of documentation which has been come in form of books / articles / tutorials

SDL – graphics / sound / input

  • has the largest amount of available language bindings (refer to site for list)
  • is an abstraction of OpenGL, making it a bit easier to read and code with
  • highly documented in the form of books / tutorials / articles

Allegro– graphics / sound / input

  • game programming library for C/C++ developers distributed freely
  • Supports DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X
  • Very old and stable with lots of projects and tutorials
  • Simple API for graphics sound and input

Physics Libraries

PAL Physics Abstraction Layer

  • Uniform API which has Plug and Play for almost all the major physics engines
  • Complete list here

Art, Modeling, and Sound

Blenderall purpose model creation tool for games

  • Can be used for modeling, UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations, non-linear editing, compositing, and creating interactive 3D applications.

Gimpgraphics tool

  • It’s like Photoshop, but free

Audacityaudio creation and editing tool

  • cross-platform and is available for Windows, Mac OS X, Linux and BSD
  • many features, including multi-track mixing, amplitude envelope editing, selective noise removal, etc.

Milkshape3D low polygon modeling tool

  • famous for its large repertoire of export capabilities (70 file formats)
  • can also act as a skeletal animator and viewer

Software Engineering

Subversionversion control

  • allows you to perform the most common version control operations directly from inside the Microsoft Visual Studio IDE
  • requires a web server for installation

MSDN Academic Alliance for Cal Poly Pomona students

  • Free Microsoft software for Cal Poly Pomona students
  • requires your Cal Poly Pomona login information to access

Eclipse IDE software development tool

  • Allows you to build programs in Java, C++, C, COBOL, Python, Perl and PHP
  • Supports many user-created plugins for the Eclipse Framework

Doxygen automatic API generation for projects

  • generates documentation for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#,