Games That Teach Programming: A Brief Overview
gamasutra.com
gamasutra.com
Also, there are tools that make it easier for kids/beginners to create games, and in doing so learn programming, such as: http://www.playmycode.com/ http://pixieengine.com/ https://www.scirra.com/construct2
Some other LightBot-like games include Cargo-Bot, Robologic, and several others: http://breakoutmentors.com/kids-programming-resources/
There's ComputerCraft in Minecraft, etc.
And there's learning programming by modding games/simulations such as minecraft
this games main site is down, you're left to your own methods to acquire it.
Another worthy mention is SpaceChem[2], a game that revolves around bonding elements together using a deceptively sophisticated visual programming language. It's not really directly about programming, more of a puzzle game really, but I feel like it uses the same part of my brain that programming does and it'd be a good way to get people into the coding mindset.
I've always thought you could craft a curriculum around developing for the emulator.
You could start off small as I did by just teaching students how to create items in the game. Show the inheritance hierarchy where 'Uber Sword' inherits from 'Sword' which inherits from a base class 'Weapon'..
Teach students how to write their own spells in the game with delays and different damage types which exposes them to simple if/else logic, timers, enums, etc.
Advance to creating your own monsters and NPCs that respond to player speech which teaches state/simple AI/string manipulation.
You could leave the server running 24/7 so players could play/develop/hangout together.
Show how items disappear from the game world on reboot and how to serialize the game objects.
You could have an exam in the game where players showcase what they've developed and culminate with an all-class battle.
I think a stripped down MMO like this could be the perfect environment to foster creativity/learning.
Each ASCII character with a program was an object and they communicated by passing messages to each other. Items like bullets and the player also could pass messages to these custom objects. I remember piecing together some complicated multi-step, multi-object behaviors in a sort of concurrent programming.
My other introduction was changing the behavior of the gorillas in GORILLAS.BAS. From that I learned about Basic, and eventually wrote my first utility for another game, which was a battle success estimator/damage calculator for Sid Meier's Alpha Centauri.
I think the playfulness of games and the more straightforward representation of objects in games really helps children understand the point of programming and some programming concepts that are more obscured in business/utility software.
https://www.google.com/search?q=rocky's+boots&safe=off&clien...
I didn't realize until college that I had been learning EE when I was a kid.
I'd link to the bitbucket game but that's too much self promotion for a Saturday.
Edit: s/it's/its/ -- I know better.
Ideally this place would take care of the back end and provide a few basic components (e.g. pages, views) for you to structure your app. There would be code boxes for you to type into, and once you click save you'd be able to view and use the app at username.site.com. At first you might piece together a program out of pre-written components via point-and-click, then you might tweak the code to better serve your app, later on you'll get bored with the presets and start writing your own functions...eventually you'll learn to code from scratch.
There are tools that come close to this (GAE for example), but nothing at the absolute-beginner-anyone-can-do-this level.
My first exposure to "programming" when I was in middle school was using the Warcraft 2 level editor, setting up custom triggers and using my imagination to build something I thought would be fun for others to play.
That's basically 1000000x better than those games that stress on learning programming or are build around coding. A game that is good by itself and has a great map editor or a good api for modding. Now that's fun. These "programming games" just make me think of tricking people with no interest in programming to do some. Not that I don't recognize some do enjoy these and fall in love with programming thanks to them.
* "I don't really know what call means in this context, but based on previous knowledge, I'm guessing I should replace the example words with that."
* "Oh, right, I remember based on previous knowledge that "#" means comment, so I should remove that part too."
* "Oh, maybe I need the exclamation point that previously looked to me just like punctuation, because I know that code is precise about punctuation like that."
* "I don't know how to use if/else in Ruby, but I can guess that I just type 'if' and 'else', because Ruby has a reputation for simplicity."
* "I can also guess based on previous knowledge that indentation probably means something in Ruby, so I'll try indenting things."
And that's about as much guessing as I feel like doing for a game, and I'm still on level two. (I know I could easily learn how to play the game by looking at any basic guide to Ruby; I'm just demonstrating how it feels for a person without any experience.)
I did have to Google for ruby tutorials to figure out things like instance variables and I'm sure somebody who has no prior programming experience would really struggle with this. Having said that, this could easily be modified into a proper tutorial and even now its a fun thing game to try out what you learn in some other tutorial.
I also wonder why Minecraft (and especially Redpower 2 mod) didn't get a mention.
I also enjoyed Lightbot, btw. But someone should turn that to a real game, not just flash (bigger desk, larger program space).
I know several people who learned Gimp because of SL, or scripting. Scripts could be as easy as a "say hello" if someone walks through a door, or as complex as self driving cars, or a 200x100 meter big pinball game, that requires 3 players: One for each flipper, and one inside the ball. Linden Scripting Language makes quarternions as easy to use as Havok physics.
(requires WebGL)
Those games which try to teach you programming with little games/puzzles or whatever don't have any value to me. I don't know...
Still, Corvus's mid tier match. I managed to win it by developing a rover that could lead its shots.
My god, if I could just go back and time and have another crack at this game with what I know now.
I wonder if the old data is on one of my hard drives. I made a two vs two rover mission with large rovers. You could make some scary rovers.
I have some slow backburner plans for a game with similar mechanics but an easier introduction for total beginners and more challenging end-game tasks such as dealing with concurrency.
They seem to be doing much better nowadays, I found this recent video[2] of theirs to be quite inspiring.
http://codepupil.com/game7.html http://codepupil.com/game5.html