Slashdot has an article about a game called Robocode that teaches Java by 
having users program their own robots.

From the Robocode homepage: 
http://robocode.alphaworks.ibm.com/home/home.html
"Build the best. Destroy the rest. In Robocode, you'll program a robotic 
battletank in Javatm for a fight to the finish. The game is designed to 
help you learn Java, and have fun doing it... from a simple 10 line robot 
to a very sophisticated, intelligent robot that destroys the competition!"

This seems like a good method for teaching programming in general and for 
teaching the Java programming language specifically.  So I'm thinking... 
what about a version that would teach Ruby programming: RubyBot (or some 
such), or if you didn't want just a simple shoot-em-up game you could make 
something like a simulated ecosystem (RubyBio) where you can create 
different types of creatures and see how they survive.

Now, it seems to me that since Ruby has more 'dynamicity' (didn't somebody 
create that word on another thread?) than Java that it would allow for 
doing a lot more than is possible in the Java version.  Also, you could 
make it a multi-user game where different people can create their own 
Robots or creatures and introduce them into a running game.  It seems like 
it could be a good way to 1) introduce people to Ruby and 2) teach them 
Ruby.

Since a GUI is a very important part of getting something like this going, 
I'm wondering which of the supported GUI toolkits would be good for this?  
I have the impression that most of the toolkits are good for creating user 
interfaces with windows, scrollbars, buttons, etc. but I don't think that 
in general they are good for drawing a robot or animal and moving it 
around the screen.  Do any of the supported toolkits allow you to do this 
sort of thing?

Phil