Choosing a Programming Language

Some people were asking in the comments today about when Infiniminer will be available – the answer is when it’s finished.

Some people were asking what languages I’ve used to make my games; this is a question I can expand on a little more.

Some of the first games that I wrote and find acceptable enough to display here, such as Pulse, the original Ruckingenur, and Gregor Mendel’s Pro-Botanist, were surprisingly written in C# using the native GDI+ drawing routines. When I got involved with the Game Development Club in college I switched to Python and pygame (a nice SDL wrapper), as those were the tools that the Game Development program generally revolved around in, and used them to write Silicon Foundry, the original Manufactoid, the Atropos control system, and, with the use of some OpenGL, Infinifrag.

And from there I proceeded to mix it up; Manufactoid is C++ and SDL, Tex Mechs was Python and PyOGRE (more like PyAWFUL!). Ruckingenur II was C# and SDL.NET, which is nice but apparently refuses to work under 64-bit versions of Windows. My two completed Flash games, and an upcoming and unannounced third title, are all AS3. I have a neat way of developing my Flash games, which I may document with a post in the future.

I wrote Infiniminer in C# using Microsoft’s XNA framework – I’m pretty sure it’s the greatest 3D game framework I’ve ever used, as it doesn’t get in your way but offers a bunch of really neat tools to make the process a breeze. You should definitely try it out if you haven’t already.

So what does this mean for you? If you’re looking to start programming games, two great ways to start are with Python and pygame or C# and XNA. Both setups are totally free and offer a good balance between ease of use and the ability to make whatever you want. Flash is a workable third option, but is sort of sketchy and probably not the best way to learn about game programming.

Do you have any questions or thoughts about game programming? What tools do you use? Fire off in the comments!

4 Comments to Choosing a Programming Language

  1. March 18, 2009 at 3:05 am | Permalink

    I find Flash great for game coding if you use pure Actionscript 3 with a tool like FlashDevelop and the free Flex compiler. It lets you code as if you’re using any other real programing language, while taking advantage of Flash’s very nice graphics libraries. I’ve done very little in Flash Studio proper, so I can’t speak to that.

  2. March 18, 2009 at 8:03 am | Permalink

    I must say this is extremely ironic. Two days before this was posted, I also posted a quicker and more general rundown of languages. I guess “great minds think alike.”

  3. payjack's Gravatar payjack
    March 18, 2009 at 8:27 am | Permalink

    I wanted to start making Flashgames, but I don’t knew where to get the required Tools, or Compilers.
    So I dropped that…

  4. March 18, 2009 at 10:41 am | Permalink

    payjack: For Flash development, I always recommend the following introductory forum thread:
    It explains how to get an environment for development set up and how to get started with coding.