If my last games were written in Java, why am I using C++ for my new Roguelike?
Countless religious wars are fought over programming languages, just look at any forums frequented by programmers.
I’d like to think that I’m pragmatic in my technology choices - Languages aren’t often better or worse, but in many cases some are simply more suitable than others. Caverns of Underkeep and Attack of the Meeplings were written in Java because I wanted to have a go at making browser based games and I decided that Java was the best technology for the job. Incedentally I think Flash would have been better in order to leverage in-game advertising - I guess sometimes business decisions need to trump technology ones.
The main reason for choosing C++ is that it compiles to native code on both PC and Mac, there are lots of external libraries for common tasks and it has a mature IDE (Visual Studio) and debugging tools.
The native code argument isn’t because of speed. On modern CPUs for 2D games the speed difference between running on a VM and running natively just isn’t human noticeable. But native code does ensure that all libraries are linked and deployed with the game. While I would love to have the expressive power of LINQ for my game, I really don’t want to require the user to download the .net 3.5 framework.
You ‘d think the Java runtimes would be more widespread than they are. I just bought a new laptop recently and it didn’t have any kind of Java VM pre-installed at all. And when you’re the little guy you want to put as little as possible in-between a potential customer and them buying the game.
And then there is the simple fact that being multi-lingual can improve your programming skills in more ways that just adding another technology to your resume, you get the benefits of seeing the world from a different perspective.
If I was deploying on CD or writing business software, or a designing a web application it might be a different story. But I guess C++ is the choice for now.

0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment