Where to Start: Game Engines and Graphics LibrariesSo for many people, the hardest part about learning anything new is "Where do I start." With something as complex as game programming, this is especially true. I'm going to go over a few different game engines, libraries, and helper tools, but just know there are literally dozens if not hundreds of these to choose from. If it's your first game, the most important thing is just to choose one in a language you are proficient in, and take a project to completion.
Lets start by separating them into a few categories:
Game Engine – Limited Programming
Game Engine – 2D
Game Engine – 3DGame Engine – Limited ProgrammingThese are engines that are "drag and drop" or "wysiwyg" (pronounced wizzy wig ). They're great for prototyping an idea, or if you just need a really basic starting point. If you're a person who needs instant gratification and has a hard time seeing things through to completion, this will give you lots of small iterative steps to see progress. You can even share the games with your friends at any time pretty easily. Some examples of these engines:
Game Maker Studio, by YoYo Games:
http://www.yoyogames.com/studioThis one has a free download, and is probably the most widely used. It also has its own scripting language called GML that is good to practice your programming skills with more advanced features
Adventure Game Studio: http://www.adventuregamestudio.co.uk/This is mainly for point-and-click adventure games, like Monkey Island, and has some pretty cool advanced features as well
RGP Maker: http://www.rpgmakerweb.com/As the name states, this is geared towards RPGS and has tons of tile sets for you to choose from so you don’t' have to worry about art.
Game Engine – 2DLÖVE: https://love2d.org/LÖVE is a multi-platform, free 2D game engine that you can program in Lua, which is a functional scripting language. It's open source, so you can even check out the inner workings of the engine yourself! It has a very healthy community and many commercial games released
LibGDX https://libgdx.badlogicgames.com/ This is a java-based game engine that is multi-platform and is open source as well. It has been around for a long time, and because of that it is one of the fastest performing game engines out there. There lots of demos and tutorials on their site for you to check out.
Construct 2 :
http://scirra.com/This engine has the added benefit that it is both native and web-based. It has a very easy to use interface with a lot of drag and drop features to be a strong middle-ground for starting developers
Game Engine – 3DJMonkeyEnginehttp://www.jmonkeyengine.org/ This is my engine of choice, for a few reasons. It's Java, so easily portable to multiplatform and I am very proficient in Java. It's open source, so I can modify the source however I need. It's has hundreds of contributors, so the add ons and plugins are above and beyond any that I've seen in any engines. Very happy with it so far
Unity https://unity3d.com/Unity has been around for a long time, and has the huge benefit of a large budget for tooling and support. It is quite pricey, but there are indie-centric prices available. It is C# based, and offers a lot of drag-and-drop functionality as well for easy entry into 3D games
Unreal Engine https://www.unrealengine.com/blogUnreal is for super developers who are comfortable in C++ and the inner workings of game development. Very powerful, but not for the faint of heart. This is aimed towards AA – AAA studios, and now that you have access to the source of the engine, you can really get the most of out of it. The learning curve is pretty steep, so you have to be really committed to finishing your project. The benefits will be very high though.
Ok so that's enough for this first article, I glossed over a TON here to keep it digestible, so let me know any questions you have before I dive into the other articles!
This post was edited by phintastic on Dec 11 2015 11:02am