Video Game Design Software
September 29, 2013 9:31 AM   Subscribe

My son, who will be turning 12 this month just told me that he wants a video game design software program for his birthday. He is already adept at website coding and has Microsoft's Kodu game design software, but finds Kodu very limiting. He is better at Photoshop than most of my colleagues at work and is generally very computer literate. His favorite game to play is Minecraft, so I expect that this is an example of the type of game that he would like to be able to create.

This is a subject that I am unfamiliar with, so any input and suggestions will be appreciated. Generally, I am hopeful that there is something available for less than $150 ($200 max.) that will not be too hard for him to use, but will allow him to use his creativity to design his own games. Does such a program exist? We are not expecting PS3/Xbox 360 graphics, just something that will allow him to experiment with his interest in game design.

Thanks in advance!
posted by The Architect to Computers & Internet (13 answers total) 25 users marked this as a favorite
Game Maker was used to make Gunpoint, one of the best games of the year so far. It's a very flexible platform that can make small, made-for-learning games and full professional products.
posted by Punkey at 9:48 AM on September 29, 2013 [2 favorites]

I think he should look into learning a generic programming language, then trying a framework that helps you get started with all the mechanics of games (physics, graphics, etc)

Two that spring to mind are Unity and Phaser, both of which use Javascript, but in different ways. This won't cost you anything, although some books will help.

(I'm not a games developer, though)
posted by BinaryApe at 9:51 AM on September 29, 2013 [1 favorite]

I'm sure someone with more direct experience will be along soon, but many game developers I've met use Unity for building games.

From the linked page: "There are two main licenses for developers: Unity Free and Unity Pro. Unity Pro is available for $1500. Unity Free is free as long as the user is not a commercial organisation with annual gross revenues in excess of US$100,000, or an educational, academic, non-profit or government entity with a total annual budget for the entire entity in excess of US$100,000"

Perhaps there are some useful resources that you could buy to go with this.
posted by Gomez_in_the_South at 9:51 AM on September 29, 2013

While I was looking for this tutorial on game making with Twine written by a 13 year old to give you that I had seen before, I also found this Kotako guide to making your first video game. The good news is all of the examples given by Kotako have free versions (or in the case of Twine are free all together), so he can try them out to see what he likes best and their basic versions are all within your price range.

If he is starting to find Kodu limiting, now would be a great time to get him start learning programming if he is interested--it's a great skill that opens lots of doors. Here's a resource on learning with Python. Twine also uses Python for anything more complicated.

If he likes Minecraft, maybe he could learn how to create mods for it; that would need learning the programming language Java. There's also a Javascript-based minecraft like engine which if he's savvy enough he could use to make minecraft like games.

Most of my suggestions are more free with effort than easier fun with money, unfortunately, but I would have loved to have done some programming at that age, if I'd gotten the pointers and equipment (far more easily available nowadays) to do so.
posted by foxfirefey at 10:18 AM on September 29, 2013

He's at the right age to start learning a general-purpose programming language.
posted by phrontist at 10:19 AM on September 29, 2013

Get him a Python book and maybe a Unity book. One of my friends started reading Nvidia's GPU publications at that age, although that friend is in MIT EECS doing graphics so YMMV. Perhaps he would be interested in a C++ book, like I was at that age, in which case the Woo book comes recommended. The O'Reilly animal cover books for Python are uniformly alright, although I cannot really say that any one of them is better than reading the online python documentation over and over again which is how I learned.

One game domain-specific thing to look into is Lua, which is generally faster and therefore used more in games in Python. People still use it as a general-purpose programming language.

With the possible exception of Unity (the pro version of which is not in your price range really), paid tools are usually worse than the free tools for the purpose of amateur game design. Either the paid tools suck or are well-designed to have a team of professionals working on them.

I nth the recommendation to learn a general-purpose programming language strongly. Even in Unity he will be learning a general-purpose language, which is Javascript or C#. The plurality of remarkable computer scientists and programmers I have seen have fell in love with computation this way, from Zork and Adventure on.
posted by curuinor at 10:55 AM on September 29, 2013

One thing to note is that if he really is adept at website coding, he may know Javascript already, in which case a free Unity becomes the natural choice. Maybe get him a bunch of unity books?
posted by curuinor at 10:59 AM on September 29, 2013

There's Python for the Absolute Beginner which focuses on programming using games. I didn't finish the book, but it was pretty fun.
posted by kathrynm at 1:57 PM on September 29, 2013

I'm not an expert here at all (I've done a little bit of programming but never made a game), but just a thought:

For your son's birthday could you find him someone to help him get started with using a programming language, so he can make a game? I've always found it a lot easier to work out how a language works by making a little project and looking stuff up when I get confused, rather than ploughing through a book. However, it's really easy to get stuck for a long time on some things and I find that really frustrating as an adult who knows how to look for solutions to these things, so I can imagine it being off-putting for a 12 year old. Is there a way you can pay a local CS student or competent high schooler who'll take your son through the basics and help him gain a bit of confidence?
posted by Ned G at 4:15 PM on September 29, 2013

A site just dedicated to making games with Python (a great beginner computer language) with some free books: Invent with Python.
posted by aarondesk at 6:45 PM on September 29, 2013

If he has any interest in writing stories as well as making games, he could jump into Ren'Py, which is a scripting engine written in Python for making visual novels.
posted by ashirys at 6:26 AM on September 30, 2013

I also suggest Unity. One correction from above, Unity uses something that is similar to JavaScript called UnityScript, but there are differences. Some major, some minor. If he goes with Unity he can read more here.
posted by Green With You at 7:37 AM on September 30, 2013 [1 favorite]

Thanks everyone for the great input! I think that I could have marked them all as Best Answers. We will do some more research based on your suggestions.
posted by The Architect at 8:09 PM on September 30, 2013

« Older Does anyone know about whole-house water...   |   What's leaving this on my windowsill? Newer »
This thread is closed to new comments.