Click here to Skip to main content
15,888,277 members
Articles / STL

Gaming: The Best Free Tools To Start Your Game Development

Rate me:
Please Sign up or sign in to vote.
5.00/5 (3 votes)
13 Jan 2015CPOL5 min read 9.3K   10  
Gaming: The best free tools to start your Game Development

"Who needs sports stardom when you can shoot fireballs from your fingertips?"
- Ethan Gilsdorf

MonoGame monogame.net

MonoGame is a C# framework that allows developers to target desktop, handhelds, mobile, and consoles using a single codebase. The framework is written on top of Mono, an open source implementation of the .NET framework. The framework was originally designed to implement Microsoft's XNA 4.0 API, but Microsoft's decision to abandon XNA has meant that the MonoGame project has started to grow beyond the stagnated XNA implementation. Developers can choose to use MonoDevelop or Visual Studio as their IDE (integrated development environment), though to build content to the xnb format, you will also need install Windows Phone SDK 7.1.1 (installing XNA 4.0 doesn't work anymore), which means you will need a Windows machine to build the content. Once you've built it though, you can continue using whatever OS you were working in. You can read more about the specifics of these issues on Gamasutra or on the MonoGame wiki. Although there are some issues present, the MonoGame Team is working on solutions. To date, the framework has been used in multiple successful titles such as Bastion, FEZ, Mercenary Kings, TowerFall Ascension, and Transistor. You should also be aware that Ethan Lee, the developer behind the ports of games such as Escape Goat 2, FEZ, Rogue Legacy, and TowerFall Ascension, has been working on a fork of the project know as FNA, which aims to reimplement MonoGame using SDL2 (see below), and can be found here:

Simple DirectMedia Layer (SDL) libsdl.org

SDL is a cross-platform library written in C, designed to act as a wrapper around operating system specific functionality. Some of this functionality includes audio, input devices, graphics hardware, file access, timing, and threading. SDL allows developers to write more generalized code, rather than worrying as much about the underlining specifics of the system they're targeting. Beyond this, any extra functionality can been added through libraries that sit on top of SDL. Some of these libraries include support for multiple image formats, audio mixing, networking, TrueType font, Rich Text Format support and many more, via third party libraries. SDL provides bindings for several languages such as C#, Lua, Python, Lisp, Haskell, and others. It's also commonly used as the base code for other game libraries such as LÖVE, PyGame, ScummVM, and even the CryEngine, as well emulators such as MAME and ZSNES. SDL is probably the most commonly used games library I know of - you'll see it in games such as Amnesia: The Dark Descent, FTL, Portal, Psychonauts, Team Fortress 2, The Cave, The Walking Dead and many, many more.

Unity

unity3d.com

Unity is a game engine developed by Unity Technologies that allows developers to target desktop, web, mobile, handhelds, and consoles using a single codebase. It comes with a fully-fledged game editor as well as the MonoDevelop IDE, which provides code auto-completion and debugging. The engine provides scripting through Mono, and allows developers to write games in C#, a JavaScript like language that most people call UnityScript, or a Python-like language called Boo. While some new developers to Unity start off using UnityScript or Boo due to its perceived lower barrier of entry, the majority of developers use or eventually switch to C#. Unity comes with full support for 3D and 2D games, and generally anything that you feel is lacking can usually be found through their online Asset Store or somewhere else online. Games like Kentucky Route Zero, Night in the Woods, Superhot, Shadowrun Returns, and Gone Home have all been made in Unity, showing that as an engine it's versatile enough to be adapted to any number of genres. While the free version should allow a lot of developers to write their entire game without the need for Pro features, they should be aware that there are restrictions, which you can read about here:

  • unity3d.com/unity/licenses

A developer can use the free version provided their annual gross revenues does not exceed US$100,000, otherwise they will have to purchase a license for Unity Pro, which will cost $1,500 or $75/month. Check out unitypatterns.com for some useful tips and tutorials, as well as the tutorial in this issue.

Top 5 Alternatives Libraries/Frameworks

If none of the above suggestions appeal to you, then maybe check out one of the following.

Cocos2d

cocos2d.org

Cocos2d is a 2D framework designed for mobile and desktop, but the majority of games made with it are for mobile. It's divided into multiple branches, the most popular being cocos2d-x, cocos2d-swift, and cocos2d-html5. Each branch is written in a different language, though they do try to keep some consistency. Cocos2d also comes with an editor called CocosBuilder, which can be used for designing UI, and setting up scenes and events without code.

LÖVE

love2d.org

LÖVE is an *awesome* framework written in Lua design for making 2D games. The nice thing about LÖVE is that it's well documented, there are loads of tutorials, there's an active community, and a lot of cool libraries built on top of LÖVE to help you add features you feel are missing. The fact that LÖVE is written in Lua is also a big plus to me since it's an extremely popular scripting language in the game industry. So even if you later decide LÖVE isn't for you, you can still apply that Lua knowledge somewhere else.

OpenFL

openfl.org

OpenFL is a Flash API-compatible library designed for desktop, mobile and web. OpenFL is built on top of a library called Haxe, so if feel like you want lower level access, then check that out. One of the cool things about OpenFL is that because it's compatible with Flash, you can also use popular Flash libraries such as Flixel and FlashPunk if you feel more comfortable using those libraries. OpenFL has been used in such titles as rymdkapsel and the IGF winner Papers, Please.

Phaser

phaser.io

Phaser is a HTML5 framework designed for desktop and mobile, built on top of Pixi.js. Although Phaser is relatively new, it supports a lot of features such preloading, animations, tilemaps, sounds, physics and WebGL rendering, that are not commonly found in most competing JavaScript frameworks.

SFML

sfml-dev.org

SFML is a C++ library similar to SDL, but with additional features such as networking within the core library. Like SDL, SFML comes with additional third party libraries, and also supports bindings to multiple other programming languages.

Courtesy: Game Career Guide

This article was originally posted at http://gamethrong.blogspot.com

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Comments and Discussions

 
-- There are no messages in this forum --