Other Tools

Popular Game Development Tools

*with the exception of Adobe Flash, all of the following are FREE

FOCUS: 2D Game Development


Level of Difficulty: Beginner
Notable Games: Spelunky
Learning Resources: YoYo Games Wiki

Don’t let its initial level of difficulty fool you; GameMaker is a very powerful tool with increasing popularity among developers of the Indie gaming scene.   It allows you to receive the instant satisfaction of creating your own simple video games with its intuitive drag and drop interface, but it also can help ease you into basic video game programming concepts through the use of its own customized scripting language.

Because of GameMaker’s popularity, there are a ton of GameMaker tutorials floating around on the Internet, so if you’re ever stuck trying to achieve something that you don’t really know how to do, a simple Internet search for the appropriate GameMaker tutorial could very well get you the answers that you need.

GameMaker offers a limited yet very versatile trial version that is perfect for any aspiring developers that want to get their feet wet and learn the basics of game development.


Construct 2

Level of Difficulty: Beginner
Learning Resources: Beginner’s Guide To Construct 2, “How Do I” FAQ, and How To Make A Platformer

Construct 2 is a powerful ground breaking HTML5 game creator designed specifically for 2D games. It allows anyone to build games — no coding required! Just drag and drop objects around, add behaviors to them, and make everything come alive with events.

Creating the events you need for your game is rather intuitive. Just choose the right object, select a condition or action, and add it to the event. Once conditional statements or triggers are met, actions or functions can be carried out. Construct 2 helps you to learn how to think in a logical way and understand real programming concepts, making it easy for you if you decide to learn a programming language later.

Construct targets a wide variety of web game portals. You can also reach the iOS and Android app stores using wrappers like CocoonJS and appMobi.


XNA Game Studio

*XNA Game Studio is also very capable of creating 3D games as well.
Level of Difficulty: Intermediate
Notable Games: Magicka, Terraria
Learning Resources: XNA Development, Riemer’s XNA Tutorials, App Hub

XNA Game Studios is a very powerful game-development framework developed by Microsoft with the goal of freeing developers from writing  €œrepetitive boilerplate code € and allowing them to focus on actually creating the game. XNA Game Studios uses C#, a more structured programming language, but still retains a more simple approach to game development. Though XNA Game Studios is listed as 2D focused, it is also capable of 3D game production.

This game development tool has quickly gained popularity for its ease of use, and the mass market reach. XNA Game Studios currently supports development for Windows, Xbox 360, and Windows 7 phones which represents a very large share of the gaming market. In addition to this, Microsoft’s support for independent development through Xbox Live Indie Games and Xbox Live Arcade, has made development with XNA very attractive for young and experienced developers alike.

As with all popular development tools, tutorials for XNA development are readily available on the internet and the barrier of entry is very low for inexperienced developers.

XNA Game Studios is available for free to students through their Dreamspark program.



Level of Difficulty: Intermediate
Learning Resources: LÖVE Wiki

Much like Flixel, LÖVE is a light-weight game development framework primarily focused on building 2D games. LÖVE is based the Lua programming language, which is an excellent easy-to-learn language for those learning programming. As a matter of fact, the developers of LÖVE are fully aware that most of their users are first time programmers, and they offer resources to learning Lua on their LÖVE Wiki.

LÖVE is entirely free to use and protected under the  zlib/libpng license, which means any games you make with this tool can be distributed as you please, even commercially!


Adobe Flash

Level of Difficulty: Intermediate
Notable Games: Meat Boy
Learning Resources: Kirupa, asgamer

If you’ve ever wasted any time on the Internet, then you’ve played a Flash game. The widespread reach of Flash games has allowed developers to test out small game ideas and release them to a very large audience in a short amount of time.

Though using Adobe Flash requires a certain amount of programming knowledge, there is an abundance of tutorials online to teach you about every aspect of ActionScript 3 (and ActionScript 2) imaginable. If you can imagine it, your idea has probably already been implemented at least once and you will be able to find a code snippet to guide you through your own implementation. Moreover, any skills you learn with Adobe Flash are not limited to game development as Flash is also very common in web development.

Many of our Game-Making Deathmatch entries (and award-winning entries) are made in Flash because it is easy to learn and yet remains very powerful.



Level of Difficulty: Intermediate
Notable Games: Canabalt
Learning Resources: FlashGameDojo

Developed by Adam Saltsman, Flixel is a free open-source game-making library for ActionScript 3. As a game-making oriented library, Flixel takes care of all the basic classes and functionalities commonly found in other game engines such as object collision, particle simulation, and game saving. Customising behavior is also possible as all classes and methods within the library are fully extendable. With Flixel, you are able to focus on developing your game idea rather than spending time developing the framework for your game to run.

Flixel requires FlashDevelop.



Level of Difficulty: Intermediate
Notable Games: Crayon Physics Deluxe, Angry Birds
Learning Resources: Box2D Manual  

Box2D Physics Engine is written in C++ and provides game programmers with a library of code functions that they can use in their games to compute physics and collision detection for objects in 2D. Even in a 2D game, implementing your own advanced 2D physics engine can be a lot of work, but Box2D physics engine allows you to have professional-looking physics without spending the time and effort required to implement your own 2D physics engine. It’s certainly a useful tool for intermediate to advanced game programmers.

Due to its popularity, Box2D has been ported to Java, ActionScript 3, haXe, C#, Javascript, and D.



Level of Difficulty: Intermediate
Learning Resources: Pygame Tutorials

Pygame is a free  set of Python modules designed to help you write your own games quickly and easily.   Games that are made using Pygame can run on nearly every platform and operating system, so your games can essentially be played on any modern computer (no vacuum tubes, sorry).   To get the most out of using Pygame, it’s important to know how to program in the Python programming language, but this programming language also happens to be one of the easier languages to learn.


FOCUS: 3D Game Development

Unity 3D

Level of Difficulty:  Intermediate
Learning Resources:  Unity Tutorials

The Unity multiplatform game development tool, which is free to use, can help you make your own impressive 3D and 2D games relatively easily. In addition to creating games for consoles, computers, and handheld devices, one of Unity’s most impressive abilities is creating visually amazing 3D games that can be downloaded and run within a web browser. It’s difficult to fully appreciate this until you’ve tried out one of Unity’s demonstrations, like the seemingly Far Cry inspired Tropical Paradise demo. There are a large number of features that the Unity game development tool provides, like a 3D map editor and three commonly scripting languages that can be used to customize your game with.

Many of the students in CSC404: Introduction to Game Design  swear by this tool, and have made publicly well-received games.



Level of Difficulty: Intermediate
Learning Resources: Blender Game Engine Wiki

Free, lightweight, and extremely powerful, Blender is one of the best 3D modeling tools available; but did you know that it also packs a built-in game development tool?

Though relatively less powerful than its professional counterparts, Blender still packs all the basic tools necessary to build a spectacular 3D game. With its built-in 3D modeling tool, you could just get too invested in building an epic scene and end up with this  instead of a game!


Unreal Developer Kit (UDK)

Level of Difficulty: Advanced
Notable Games: Bioshock, Gears of War, Mass Effect

UDK is probably the most popular 3D development tool in the industry today. You know that 3D game you’ve been playing recently? Check the credits and the studio probably licensed UDK for the game production.

Powered by Epic Games’  Unreal Engine, UDK is a complete professional development framework with all the tools you need to create great games, advanced visualizations and detailed 3D simulations. UDK offers a large array of tools to make creating 3D game worlds easier such as physics simulations, lighting effects, particle effects, etc. With support almost all major platforms, this game development tool has the one of the largest reaches in the industry.

Surprisingly, this award-winning development tool is completely free for educational use, so anyone that wants to try to make the next Gears of War is free to do so (as long as you don’t release it commercially)!


Source SDK

Level of Difficulty: Advanced
Notable Games: Counter-Strike, Portal 2,  Team Fortress 2
Learning Resources: Valve Development Community

Commonly regarded as one of the more difficult to use SDKs, Source SDK has nonetheless gathered a very strong development community due to the support of its developer, Valve Software.

The Source Development community is a group of one of the largest development hobbyists in the industry and has produced a number of notable games such as Counter-Strike, which was eventually bought out by Valve. Due to its large community base, the SDK’s development Wiki is extremely detailed and contains a lot of tutorials for beginners and professionals alike.

Source SDk is free to use with a purchase of any Valve game (including their free games).



Level of Difficulty: Advanced
Notable Games: Crysis 2
Learning Resources: Cry Wiki

“But can it run Crysis?” Not only can you run Crysis, you can make your own Crysis game now!

As a more recent entrant to the development tool market, CryENGINE 3 SDK packs some of the most impressive technology we’ve ever seen, and it’s completely free for educational use! The engine features a live-view tool to analyze your progress as you go and development is as easy as playing with a sandbox.

On the flip side, it does not have as large of a development community surrounding it as other tools do, so this means it will be more difficult to find the learning resources you need.

Free Game Media Resources

Here are some resources that you can check out to get FREE Creative Commons licensed media (images and music) for developing your video games with.

FREE Music

FREE Sound Effects

FREE Art Images

Tutorials for Popular Game Development Tools

kirupa.com – one of the best resources for Flash game tutorials
AS3 Flash Game Design Basics – a great guide on making an ActionScript 3 game for Flash
untoldentertainment.com – great tips about making Flash games
Unity 3D Tutorials – tutorials for Unity 3D featured by the company itself
Pygame gamelets – simple games made by other developers in Pygame that you can use as examples

Thanks to Derrick for his help in updating the information on this page