One of the oldest and most popular articles on my site is I want to be a game developer… now what? It offers a collection of advice for new game developers. I keep intending to update it but frankly, not enough changed. The following was recently posted on GameDev.net:
This article was written 2 years ago, and is very informative about each game development language, but 2 years sounds like too much for how events quickly change now, XNA is partially dead, more books released, etc..
Is there a newer article of that kind of information? and is C++ still a bad choice (with the introduction of SFML 2.1 and SDL 2)?
Which got me to thinking about what all has changed since I wrote that guide. The following was my answer. Of course, I have no idea how many thousands of things I forgot to mention. All told, the world hasn’t changed all that much, languages don’t really move all that fast.
Truth is, I keep meaning to update it, then look at the state of the game development world and there hasn’t really been enough changes. I will be doing a v2 eventually, but in summary, here is what’s changed since the article was written:
SFML 2/2.1 released. Frankly it’s not all that different.
SDL 2 was released. Again, not massive changes.
Hands down the biggest change to C++ ( and over the last two years ) was the release of C++11. This completely changes the C++ book recommendations. C++ changes a lot about the language, especially how it should be taught. Some books did a horrid job updating to the new standard ( just bolting on the new features ), while others did a better (less lazy) job. I will probably do a post specifically about C++11 books at some point in the future.
XNA was put out to pasture by Microsoft. Fortunately, Monogame also got a lot better. XNA is still an option, just not as good of one as it used to be.
Unity 3D is now free.
Mono for iOS and Android 100$ cheaper
C# 5 released. Outside of parallel programming functionality (async), not much changed. Nowhere near the change of C++ for example.
Slick2D is dead or abandoned.
Java took a few hits in terms of deployment due to security concerns ( Apple yanked it for example ).
LibGDX is probably the strongest option in Java now.
Don’t believe there were any major language updates ( 1.7 then and now ), just service releases.
Otherwise there would be a few things I would mention that weren’t as relevant 2 years ago.
In the mobile space, Lua just simply put got big. Lua is also the scripting engine of choice for CryEngine, Gameplay and Project Anarchy. Lua is a very very very good starting point for people looking to just start out. Corona is now available free and at the same time, is more expensive…
HTML5 got a little bit more viable ( but still limited ) Flash suffered some major blows ( but still viable ). There are now a number of solutions that make appifying HTML5 applications possible, such as CocoonJS. Tons of libraries exist for HTML5 game development..
Previously niche/limited game maker software ( GameMaker, Construct2 ), as well as cross platform tools like Haxe (tutorial series) or LoomScript ( my look ) have made cross platform game development a hell of a lot easier.
The 3D engine space saw a bit more activity. As mentioned earlier, RIM released GamePlay3D. On top of that Torque was released for free, CryEngine leaked it’s developer information in a hack attempt… ( thanks for that btw… ) and Project Anarchy (my look) was announced and released. Project Anarchy is a bundle of Havok’s game developer technology released completely free for mobile development. On the 3D game engine space the story is Unity Unity and Unity. Frankly Unity had a good year, made partnerships with pretty much every single platform available and is available in a free version for pretty much every platform now.
Grand total, not all that much happened, not really enough to full write a v2 version, hands down the biggest changes in the last two years:
Unity took over the world.
I miss anything?
Anything else I missed in the last two years of game development?