----- Original Message ----- From: Phil Tomson <ptkwt / shell1.aracnet.com> Newsgroups: comp.lang.ruby To: ruby-talk ML <ruby-talk / ruby-lang.org>; <undisclosed-recipients: ;> Sent: Tuesday, September 11, 2001 7:34 AM Subject: [ruby-talk:21131] Robocode (RubyBot - perhaps a way to introduce people to Ruby?) > 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. Very interesting idea. I've seen it done long ago in C and even a proprietary language for bots. > 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. :) Concerning "dynamicity" -- apparently in the sense I use it, it isn't a "real word." Now, ordinarily I am such an English language purist I would not use such a fake word... but I like the sound of it by analogy with "periodicity" (which might also be fake, but I've seen it many times). And anyhow, a web search revealed 675 hits for the word, nearly all of which used it in the same sense I use it (not in the chemical sense). Anyhow, I don't like the best alternative, which is "dynamism." > 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. Hmm, wonder if drb would be good? Then clients could register with a central arbitrator or something, and gameplay could happen over the net. > 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? Ruby/Tk has a working canvas object. I've never used it myself. There's a little example in the Pickaxe Book. And I think the GUI can be done even if the players are remote -- i.e., every client gets its own display. Not sure about this idea, though. Maybe you want to keep it local for simplicity (simplism??). Hal