How To Get a Game-Obsessed Teenager Into Coding?
looseBits writes "I have a friend whose 14-year-old son spends all his time gaming, like any normal teenager. However, my friend would like to find a more productive interest for him and asked me how to get him into coding. When I started coding, it was on the Apple II, and one could quickly write code that was almost as interesting as commercially available software. Now, times have changed and it would probably take years of study if starting from scratch to write something anyone would find mildly interesting. Does anyone have experience in getting their children into programming? How did you keep them interested if the only thing they can do after a week is make the computer count to 10 and dump it on the screen?"
Try this head fake:
http://www.alice.org/
I would try introducing him to Scratch http://scratch.mit.edu/
Wish I had mod points (har har, no pun intended), because this is the way to go.
Get him into a FPS that has an active mod community (TF2 would be my pick, but it's far from the only option). Even just making maps for these games is a start.. scripting game events with entities in Quake/Source based games requires a lot of if/else logic and it's a very roundabout way to get someone thinking like a programmer. From there, they'll probably want to make new guns. This will naturally lead into making mods, which require "real" programming.
Other games that might work is Civ 4, WoW, or X3. All three have great support for mods via a scripting interface.
Or better yet, Garry's Mod + Team Fortress 2.
Granted, TF2 will likely go on sale soon... it's name in the Steam store is now "Team Fortress 2 (Mac coming soon)" and the remaining Orange Box games all went on sale the day their Mac versions went on sale... Portal was on sale for 100% off for a week and a half, while HL2/HL2Ep1/HL2Ep2 are 30% off right now.
Speaking of which, The Orange Box is $20.99 on Steam right now.
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
"It took my parents years of coming around to this ..."
This.
Don't try to force your hand in the matter. If the kid doesn't want to do it, so be it. A forced hobby is just another chore without allowance to look forward to.
As far as how to encourage it, and there is nothing wrong about that--just know when to lay off, I would recommend playing a game (TOGETHER!!) that allows for HEAVY mod application/usage. Even something as simple as writing LUA mods for WoW might get him/her interested in more complex stuff like full Counterstrike rewrites. Many games come with Construction sets and are excellent tools for learning the mechanics of a game engine.
Last bit of advice. Unless you plan on doing this yourself as well, don't expect your kidlet to pick it up.
I'm 17, and started coding mods for GTA IV ( http://www.gtagaming.com/downloads/gta-iv/script-mods/3661 ), with some kick-off samples and help from the modding community, I got the c++ going, and got much pleasure from seeing my ideas in the game. Now I have created many script mods, and know pretty much c++.
Visual pinball lets you code your own pinball tables and it's open source as well.
you can buy a number of cool sensor packs from MakingThings and he can program it easily with Max MSP to do things. Using Jitter to do image manipulation is even better, since he can edit images and videos.
Its pretty interesting. Its actually how I got into programming.
On the XBox 360? Look into "Kodu Game Lab" and maybe eventually XNA.
World of Warcraft? There's a rich XML-and-LUA-based modding system; you can start with "hello world" apps and produce richly customized user interfaces with complex tools added to them.
The Wii? Install the web browser, and show them a bunch of the games that are optimized for the special version of Flash that the Wii has, and then poke at one of the dev kits that works with that.
Really, just knowing that they're doing "gaming" doesn't tell us enough to know what might best serve as a bridge to other things.
PHP Game Programming
http://www.amazon.com/Beginning-Through-Game-Programming-Second/dp/1598633600/ref=sr_1_3?ie=UTF8&s=books&qid=1275079894&sr=1-3
Beginning C++ Through Game Programming, Second Edition
http://www.amazon.com/Beginning-Through-Game-Programming-Second/dp/1598633600/ref=sr_1_3?ie=UTF8&s=books&qid=1275079894&sr=1-3
Game Programming for Teens, Third Edition
http://www.amazon.com/Programming-Teens-Third-Maneesh-Sethi/dp/1598635182/ref=sr_1_6?ie=UTF8&s=books&qid=1275079894&sr=1-6
Have you tried Alice?
I've abandoned my search for truth; now I'm just looking for some useful delusions.
Oh boy. When amateurs program...
while(1) {
printf("FUCK\n");
}
Remember kids, always use the one true brace.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
Why even include the brace?
while(1) printf("FUCK\n");
Dijkstra, not Djikstra. Brrr....
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)