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 Engine — free
- 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 Engine — free
- 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 Series — ranging 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
DirectX — graphics / 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
Blender — all 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.
Gimp — graphics tool
- It’s like Photoshop, but free
Audacity — audio 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
Subversion — version 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#,


