Sign in to follow this  
gamelate

An updated version of 'languages' article?

Recommended Posts

http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx

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)?

Share this post


Link to post
Share on other sites

http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx

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)?

I thought that the industry standard for PC games(not sure for other platforms) was C++ so I do not believe it was ever bad to begin with, just too complex at times with STL,vectors,OOP,maps,iterators and whatnot

Edited by farmdve

Share this post


Link to post
Share on other sites

[...] too complex at times with STL,vectors,OOP,maps,iterators and whatnot

The complexity actually comes from all the places in the standard where it says "the behavior is undefined". And the fact that compiler error messages generally suck (particularly for template issues).

@gamelate: languages don't change every two years (at least not significantly). Sure, C++11 and C11 have come out in the last couple of years, but there's really not a need to update that article.

Share this post


Link to post
Share on other sites

Seraph would be the best person to answer this question.

 

I suppose I should. ;)

 

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:

 

C++

-----------------------------------------------------------------------------

SFML 2/2.1 released.  Frankly it's not all that different.

SDL 2 was released.  Again, not massive changes.

Gameplay3D engine released  Site Link    My Look

 

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.

 

 

C#

-------------------------------------------------------------------------

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.

PlayStation Mobile was released and C# based.  SDK Link (My Tutorials

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.

 

 

Java

-------------------------------------------------------------------------

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.

 

 

Python

-------------------------------------------------------------------------

Um.... anything?

 

 

 

 

 

 

Otherwise there would be a few things I would mention that weren't as relevant 2 years ago.

 

Misc

---------------------------------------------------------------------

Rise of the Lua game engines.  Add Dreemchest to that list as well.

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:

C++ 11

XNA killed

Unity took over the world.

 

 

I miss anything?

Share this post


Link to post
Share on other sites
I thought that the industry standard for PC games(not sure for other platforms) was C++ so I do not believe it was ever bad to begin with, just too complex at times with STL,vectors,OOP,maps,iterators and whatnot

 

C++ is complex, but the things in your list are actually what makes it easier and what other people tell as advantages in other languages. Its more things like the cruft from C, not clearly defined sizes of basic types and a million replacement types for all kinds of different things to learn cause of that, too much undefined behaviour, the ancient preprocessor and how headers and librarys are handled, doubled functionality, weird string handling with no good unicode helpers, no standard name mangling nor ABI driving people into C interfaces, playing bridge between different incompatible library classes that make it annoying. But I think its still better than having to work around not having destructors and having to work around a stop the world gc without having stack variables.

Edited by wintertime

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this