Programming Language Preferences and Tips from Readers and Twitter Followers

Mar 31, 2013

I use the handle @HobbyGameDev on Twitter for this blog. After tweeting from it for a long time only to announce new articles when I post them, I’ve recently switched to using it more actively, to engage daily with readers and other hobby or unfunded videogame developers. Another way that I have been using it more frequently is occasionally calling attention to older entries from the archives that readers who joined us more recently might find useful.

Matthew Guzdial, the current Speaker – head officer – of the student videogame development club I started at Georgia Tech [my advice on starting videogame development clubs], likes to take a survey at the start of each semester to gauge the composition of the group. That inspired me to broadcast a few survey questions of my own, figuring that if I know more about who I’m connecting with through Twitter, I’ll be better able to tailor my content there, and of course here, to their interests, platforms, and situations.

For HobbyGameDev readers that aren’t connected to me via Twitter, or don’t use Twitter, I thought this information might still be of interest as a cross-section of which languages, engines, and libraries others in the community have used, are using, and suggest using. Folks are always asking, “what’s the best programming language to learn” and since there are so many different opinions on the matter, it seems like a perfect thing to crowdsource. Note that these don’t necessarily reflect the recommendations that I personally would make, though seeing that as of this entry I’ve accumulated 4 full years of my advice on this blog (monthly issue #48! wooo!), I figure I can afford to put my own views on hold for a moment to instead amplify the voices and experiences of others out there. I didn’t even add or include my own vote in these counts.


1) What’s the first programming language you finished a game in?
10 Basic (Visual Basic, QBasic, BlitzBasic, AppleSoft, TI-BASIC…)
7 C/C++
4 ActionScript 3 (Flash)
4 Java
3 HTML5/JavaScript
1 C#
1 RPGCode

2) Your favorite programming language?
10 C/C++
6 C#
4 ActionScript 3 (Flash)
4 Java (though not yet used in a finished game by 2 of the 4 responders)
3 HTML5/JavaScript
2 Assembly
1 Python
1 Objective-C

3) The one you’re using now?
10 C/C++
5 C# (some in Unity, some in XNA/MonoGame)
5 Java
3 GML (GameMaker)
3 HTML5/JavaScript
2 Objective-C
1 Python
1 Haxe (in Stencyl)
1 Strawberry SDK for mobile
1 ActionScript 3 (Flash)

Special thanks to all that replied to this first set of questions: @apgamesdev, @MikeADMurray, @GunbusterZ, @Imphenzia, @StephanHaldaman, @Muffkinerz, @DrunkyMonken, @SpadXIII, @_JPierce_, @gmlscripts, @neopixel22, @DMDrummond, @alexdef, @konop, @MrAlexBethke, @Vault16Software, @avidGamerNino, @LotusGames, @StudiOwens, @goutamshanbhag, @Tenacious_Diaz, @Codexus, @Black_Heretic, @magooracss, @leobenaducci, @JMattSullivan, @DarrenAtherton, @thesolewalker, @JoeKlemmer, @NyphoonGames, @NickWrenn, @Tsogtoo_Perseus, @glcheetham, @SunnyDayGaming

Now regarding game library/engine:

1) The first you used
3 Game Maker
3 Unity
2 SDL with OpenGL
2 Allegro
2 Ogre
2 Homebrew/custom
1 The Games Factory
1 PyGame
1 Adventure Game Studio
1 RPG Maker 2000
1 GameSalad
1 Source Engine
1 Flash CS (Core/built-in Framework)

2) The one you use now
15 Unity
2 XNA/MonoGame
1 ActionScript 3 (Flash) with FlashPunk
1 Cocos2D
1 Construct
1 PlayCanvas
1 Stencyl
1 Homebrew/custom
1 Esenthel Engine
1 JMonkeyEngine

3) Which do you recommend for beginners?
7 Game Maker
6 Unity
3 Construct 2 (“after learning core programming concepts like loops, conditionals, and variables”)
2 XNA/MonoGame
2 JMonkeyEngine
1 Loom
1 Love2D
1 ActionScript 3 (Flash)
1 Perlenspiel
1 JavaScript layered 2d engines
1 Esenthel Engine

Quick cross-reference since Unity is such a common answer for “Which are you using now” and nearly tied at the top for “Which do you recommend for beginners”: I prepared a short tutorial not long ago that has everything you need to pull together a simple car game environment in Unity for free tonight: Beginning Unity Tutorial (video) Even if you decide not to stick with it, may as well figure out what all the fuss is about – it’ll only take an hour.

Special thanks to all that replied to that second set of questions: @MikeADMurray, @apgamesdev, @invicticide, @NikolMarg, @corey_schaf, @_JPierce_, @AlbertOfEarth, @_zulli, @Futch007, @thesolewalker, @tomvoros, @DoobieDoctor, @TaylanK, @StudiOwens, @jamesljae, @JMattSullivan, @mfascia, @omar13x, @mauticom, @mr_andyelliott, @The_BenMears, @drr00t, @Vault16Software, @Muffkinerz, @neopixel22, @gamepopper, @NyphoonGames, @nerdyfreak9000

The third question that I posed to my Twitter followers was simply, “What’s your #1 tip for beginners?” Since these are more personal, not easily aggregated (though some patterns certainly emerge!), here I’ve kept each tip with its provider, in the order that I received the replies:

@MattrifiedGames: Don’t let your own negativity stop you from pursuing your goal.

@Zejgar: Record every step.

@mr_ianthompson: Paper-based prototypes.

@invicticide: Make anything and everything. Ignore quality for now! Quality comes later, and naturally, with experience.

@vnwriter: Start small, like, really small.

@omar13x: Don’t try to begin with a MMORPG.

@MikeADMurray: Start small and simple. Don’t try to be original at first. You can learn a lot by making clones of old games, like Tetris.

@NyphoonGames: Just make games! The only limit is the one you impose on yourself!

@fugugames: Don’t start with any server-side development (especially if you don’t know what that means).

@jamesljae: Learn basic programming principles and you’ll learn the limitations and allowances of which to base your game ideas on!

@mr_andyelliott: Finish your games. Ideas and prototypes are easy to start but require dedication to finish.

@Sm0kinPandaz: Like learning any skill start with the basics and work your way up.

@SpadXIII “Stay curious” must be some of the best advice I’ve ever read.

@moosesharkgames: Persistence. It’s really easy to settle on something, or give up because a project seems hard. Hard work makes good games.

@DavidMaletz: Start small, and finish games. Nothing’s more demotivating and useless than having tons of unfinished grand ideas/prototypes.

@magooracss: Make it tiny and then finish it. All people love a finished game.

@lefishy: Get on with it and begin. It’s easier once you start.

@infposgames: Make SOMETHING and finish it. You can’t learn where you need help without doing. Make a small game all the way through.

@MGreenLightning: Make your first game very small, but finish it. Also don’t start with your dream project!

@StudiOwens: Pick one simple game mechanic and make it. Then pick another mechanic and make that. Start small and focus on the fun.

@terrcin: Making sure it’s a fun game is more important than graphics quality.

@neopixel22: Start small.

@Vault16Software: Don’t try to make an MMORPG or the next CoD or Warcraft. Aim small so you don’t get crashed. Make a small simple game. Also make a game not an engine. Most of the code you write for your first game is bad. Learn from it and improve upon it. Try looking at other devs code and see how they implemented a specific feature. Learn from it. That’s how you improve your code. One last thing: learn how to use Google because as a programmer that’s your most powerful tool.

@Stephors: Keep it simple.

@Imphenzia: Start with a very simple game and make sure to finish it.

@krooked590: Code! Code anything. Once you learn enough to start doing, something do it. Best advice I could possibly give.

Also, if you have a Twitter account, why not follow these fine people above? Some have only a few followers, others have thousands, but no matter. They’re all our peers and allies in the growing community of hobby, student, and unfunded indie game developers. I linked all of the Twitter @handles to their accounts – please don’t let me have done all that for nothing (though, true, I used regular expressions to do it…). I’ve now followed them all from my personal account @ChrisDeLeon, and I encourage you to do the same. Life’s easier in co-op!

Learn and practice team game development with Gamkedo Club.
Membership worldwide. Professional support. Proven process.

Subscribe by e-mail to receive weekly updates with Gamkedo.Community interviews and YouTube training videos for game developers!

All contents Copyright ©2017 Chris DeLeon.

Site production by Ryan Burrell.