What Tools to Use for Producing Videogames
Discover the best tools and software for videogame development, including Unity, Unreal Engine, and more
Hello, one of the most frequent questions I receive from my students is: "what do I use to produce a videogame? What's the best programming language? What development environment is the fastest?.... and so on". Often, I get asked such questions in the hallways during class changes or in the last 3 minutes before the bell rings. Provocatively, I respond with a smirk, saying phrases like "it depends" or "what game do you want to design?" answering a question with a question. The reality is that few have a quick, immediate, and easy answer to these questions, and such complex questions require more than a few seconds to answer. I'm writing this article to tell my students to go read the article on wikipin.it and probably, after that, you'll still have confused ideas. Exhaustive answers on this topic probably don't exist. But I've decided to review a list of middleware and mobile tools suitable for app development and oriented towards videogame development. I always explain to my students that object-oriented programming has changed the history of software production. All the following tools use object-oriented programming as the starting point for developing and modeling software, from games to management or scientific programs. Here's my ranking, which, however, doesn't take into account your specific needs and goals. Contact me if you want advice or to attend a programming course dedicated to the topic. 1) Unity www.unity3d.com Uses C# code or its own in the scripting phases of graphically modeled objects from its IDE and advanced design environment. It has a suite for producing both 3D and 2D games. It's regularly maintained and used by both major game industries and indie developers. With this tool, you can make big money. 2) Unreal Engine 4 by Epic Games www.unrealengine.com An excellent product, a competitor to the previous one, and not only a powerful engine dedicated to PC production but also for various high-end tech devices. It exploits the GPU of graphics cards for truly advanced 3D modeling. Perhaps too much for those who want to start programming 2D videogames. 3) Corona SDK www.coronalabs.com Used by over 300,000 developers, it's a cross-platform development toolkit suitable for creating 2D games for mobile devices in relatively fast times. It uses libraries like OpenGL, OpenAL, Box2D, SQLite, Facebook API, and the programming language is a C-like called LUA. If you want to develop quickly for iPhone, it could be a solution, but the deployment times with Apple are certainly long and complex. 4) LibGDX libgdx.badlogicgames.com An open-source library licensed under Apache 2.0, LibGDX is a Java framework that enables developers to create 2D and 3D games. The final deployment can be done towards a multitude of platforms through the unification of APIs for Mobile. It's a library for those who have solid bases in object-oriented programming, and I absolutely advise against it for beginners and hobbyists. 5) Construct 2 www.scirra.com An excellent solution for those who don't have advanced programming experience but want to spend hours creating 2D games for mobile or web in simplicity and with an imperative scripting language without code and syntax to respect. Easy but ultimately complex if you want to create serious things. The tutorial and forum part is useful and absolutely to be visited to get tricks and advice. Here are my top 5... but beware of the leap you make. But the list continues: App Game Kit www.appgamekit.com WWISE www.audiokinetic.com used for audio development of games in Unity Marmalade www.madewithmarmalade.com Project Anarchy www.projectanarchy.com Fmod www.fmod.com ARM www.malideveloper.arm.com NextPeer www.nextpeer.com Upsight www.upsight.com DeltaDNA www.deltadna.com HAXE www.haxe.org COCOONJS www.ludei.com Now I can imagine that you're even more confused. You can contact me freely to subscribe to our mailing list of Wikipin game developers, and we can understand what your goals are to choose the right path. Have fun Marco Palladino