At TidalWare, we have not spent a single penny on production tools. Not because we are cheapskates, but because we have no need to satisfy a corporate ego that leads companies into spending thousands, even hundreds of thousands on commercial tools. It is common for companies to think that quality = money. While this may be true in many cases, the amount of investment ploughed into fancy software could be better spent in other areas of the production process.

Today, the line between commercial and free in terms of software is narrowing drastically. The introduction of open source has lead to many quality projects being produced as a result of community effort. At the end of the day, it’s the consumer that will use the software. To have the consumer develop the very software that they use leads to productive and user-friendly tools. Even you can contribute to its development. Commercial software is developed behind closed doors, and its functionality stems from a company’s own priorities. You have little to no say as to what goes into the software, and you end up waiting for new, single large releases that you can only hope has the features you want.

The use of open source software in the commercial world has grown significantly in recent years as companies realise its benefits. However, even today the number of game development businesses large or small embracing open source technology is minimal. Most continue to reinvent the wheel, developing proprietary tools that often already exist. Today, with all the technology readily available there is no excuse for neglecting areas of your game due to time wasted on unnecessary development.

So, what tools are currently available that allow for free development? Well, below is a list of some of the free and commercial quality tools, software and libraries that we recommend for game development.

Tools

Compilers

We recommend:
Visual Studio Express – Visual Studio is the most widely used compiler for games development. It’s reliable, and has everything you need to compile your application, including unparalleled debugging and streamlined programming. While the commercial version offers more bang and titivation, Visual Studio Express has everything you need to compile and debug your game.
Code::Blocks – Our recommended choice for cross-platform development. It’s solid, has plenty of great features, is customizable, and can integrate with any number of compile types from MingGW to GCC.

3D Modelers

We recommend:
Blender 3D – Blender is fast approaching the standard of commercial tools, and studios are beginning to consider Blender as a serious option for art production.

2D Graphics

We recommend:
GIMP – The best free graphics package. An alternative to Adobe Photoshop.

Animation

CharacterFX
Pacemaker

C++ Libraries

Graphics

We recommend:
Ogre3D – In our eyes, the number one free graphics engine. Many commercial games have been produced with Ogre3D. It has an intuitive interface, workflow and a fantastic community with many child projects which are also open source.

Other:
Irrlicht
Crystal Space – Rendering engine used in Blender 3D.

Physics

We recommend:
ODE – ODE is an open source high performance physics engine for rigid body dynamics. We found it great for simulating vehicles.
Newton – Newton, while not being open source, is robust and has all the features you would ever need for physics in games.
Bullet – Reasonably new physics library with a rapid development speed. Used for physics in Blender 3D.
PhysX – Free for non-commercial use. This is a commercial-quality physics engine that is great if you don’t plan to sell your game. Requires a redistributable package.

Networking

We recommend:
RakNet – High level networking library with many out-of-the-box features for networking in games.
cURL – File transfer library.

Other:
ENet – A very lightweight UDP network library.
OpenTNL – Another high level network library.

Audio

We recommend:
OpenAL – Low level cross-platform audio featuring 3D sound and more.
Ogg Vorbis – A free quality audio filetype.

Input

We recommend:
OIS – A lightweight, cross-platform input library.
SDL – SDL is a heavy cross-platform input library.

GUI

We recommend:
CEGUI – A free graphics library providing a windowing and widgets API for in-game.
wxWidgets – A cross-platform GUI library for developing software. Create editors for your games without MFC.

Other

We recommend:
Boost – Hundreds of portable C++ source libraries.
TinyXML – A small but powerful XML library.