Learning Java Through Violence
Joe writes: "Someone introduced me to a new game called Robocode and now I'm hooked as well as my 17 year old son. We are both learning Java while playing the game or I should say while building our Java robots. The game is setup to teach you how to handle events, how to create inner classes, and other Java techniques to build more sophisticated Java bots. I have a c++ background so I've been helping my son with his bots, but he's catching on very fast. It's turning out to be a cool and easy way to get the kid clued into programming and best of all its free." I'll bet if the little Logo turtles shot at each other, I would have had more fun programming as a kid.
Now if we could only have Quake III teach reading, we'd be good to go.
Where does the school board find them and why do they keep sending them to ME?
There was a thing just like this for Amigas in the late 80's that used a crippled version of C for the bots. You could use "radar", shoot things, move, etc.. a lot of fun - and a good way to learn C.
And, before that, i actually wrote my own version of a programmable bot game for C64, using a homemade 'machine' language. no slick graphics here - you watched the memory space (each bit in the arena's memory space lit up as a single pixel on the 340x280 screen).
All of this based on a Scientific American article about a phenomenon called "Core Wars".
-c
I have discovered a truly remarkable proof which this margin is too small to contain.
There was a game I played as a kid on my macintosh. It had the same general idea, and i've been looking for something to replace it. Theres a new game called RoboForge out, but it costs money, and doesn't look all that interesting. Thank You!
Kill all the other tasks as quickly and accurately as possible before your computer crashes.
Most edutainment is really pretty boring, but this seems like a good conceptI think I've heard of something similar based on Z80 processors. Are there many other projects like this (especially for other languages)?
Joe: I think it's fantastic that you're teaching your son to program. I only wish my parents and teachers recognized the importance of learning computers when I was your son's age. But don't you think that there are better ways of teaching programming than encouraging unnecessary violence? There is enough sex and violence present in the media already without intermingling it with education. The road to knowledge should not be paved with death and destruction. This is certainly not the way to encourage our children to expand their horizons.
I say, reward our children for their good deeds with positive reinforcement. The violence is completely unnecessary, and can warp an impressionable young mind.
Children are notoriously suceptible to the power of suggestion, and if you present violence to your son as a prize for doing something good, he will receive the message that violence is okay and should be encouraged. This is unacceptable, and should be stopped immediately.
Slashdot: Open Source, Closed Minds.
Mindrover from Loki has the same idea. The difference is really that it doesn't require you to learn a full programming language, but allows you to program your robots through a graphical building-block kind of interface, with counters, gates and stuff.
/Janne
Trust the Computer. The Computer is your friend.
Yes, robocode is not the first, see DMOZ's entry. Corewars was perhaps the most famous. Okay, now we can move on to talking about Robocode's merits instead of talking about its family tree.
Lots of kids learned to code this way. Back in the days of Pascal in my high school I found Tom Poindexter's C-Robots and learned C that way (thinking it was pretty much just Pascal with some shortcut characters like braces instead of BEGIN/END). It's a funny coincidence that someone introduced you to the game within a day that somebody interviewed the guy behind the game at kuro5hin, however. :)
www.HearMySoulSpeak.com
This sounds tons more fun than that lame ass Karel the Robot baloney we had to go through in high school programming class. Forget the steeplechase, code up a deathchase!!!
this site is prove positive that open source will only go so far, before you need to call the big boys at MS, Oracle, Sun, IBM, etc.
1) Barney. Or, as I like to call it "unlearning through sensory numbing." Obviously not a good choice for anyone, at all, period.
2)Not learning, although still through violence. Example: most pointless video games. I say most, because I am still a firm believer in the idea that viedo games are great for the imagination, among other things.
This leaves us with the healthy alternative of:
C)Learning through violence! Yes, blowing up giant robots is FUN, and most kids would be thrilled to pull the trigger and show off his or her prowess on the virtual battlefield. I know I would love to destroy a an opposing process or script with the knack of my own creation. What is the big problem, when the kid would more than likely spend his or her time on a (possibly) less productice game? I say that this is a great idea. People learn better when they are having fun with what they are doing.
Finally, it is not "rewarding" the child for following through with a violent act - it is simply a mode by which the student can learn a new skill. Haven't you ever built an erector set? Most of them involved the construction of battlefield tanks or other war machines. It just happens to be one of the best-suited applications for teaching programming.
Man is born free; and everywhere he is in chains.
Just wait until some kid decides to shoot up his school again.
We don't really know what set off this victim of child-abuse and school bullying who just happened to have easy access to firearms. But we think it might be the fact that he was a Java programmer.
And we'll have Oprah and Senator Liebermann calling for a ban on applets for a few months afterword.
Look...
/. is a great message board. It provides great content. You don't have to support it. You don't even have to be here.
Who care what they use? Who cares if they are down now and then? Who cares what database they use? Who cares what language they use?
GET A LIFE, MORON.
Wow, someone finally gets it, make an educational game that is actually interesting! Seriously, id bet if developers/companies/whoever made educational games that were actually fun to play, they could do well, esp. dealing with computers......programming......stuff like that.
http://www.google.com/search?hl=en&lr=&ie=UTF-8&o
All of you browsing ibm's pages have decreased my transfer rate to 2.3K/sec. Thanks.
Let's get drunk and delete production data!
I ran Robocode under the OS X terminal using the Linux install/run options, worked like a charm, although it seems that the text in the preferences window got cut off for some reason. If you're using a G4, I highly recommend maxing out the FPS and watching the game fly.
Maybe they can combine this technology with the dog-bots from sony? Fun will be guaranteed :)
the website's /.ed, google's cached version is at http://www.google.com/search?q=cache:L1cXj8y2PgI:r obocode.alphaworks.ibm.com/+&hl=en (just delete the space, slashcode always puts extra spaces in URLs...)
Colobot claims to teach you the basics of programming through a game, and I haven't gotten very far in it yet, but it seems cool. You have to program robots to go do tasks that you need done.
http://www.colobot.com
When I was in 3rd and 4th grades, way back, we had Apple ][ and IBM PC Machines, and we were taught BASIC, and LOGO, both turtle and mathematic instructions. We had district-wide competitions. Computing was for more than teaching productivity software and reader rabbit-crap.
This is something that has been lost from the curriculum, and should be regained.
Joe's son is 17, and while still developing, I'd venture that any associations he's made with violence and good were made long before he reached this age. Give the kid and parent some credit, the kid is an adolescent and hasn't rejected hanging out with his Dad- they must be doing something right!
There was a whole range of products out there along these lines back in the mid 80s. I recall one from Origin Systems (back when they were independant) that enphesised the game aspects rather than the programming aspects but nonetheless tought basic programming concepts using a BASIC-like language. As a teaching aid it was somewhat lacking but as a game, it rocked. Battles ere fought in a dufimentry 3D universe set around Origin Systems headquarters in Austin Texas. They even offered the ability to upload your robots for competition against other players where the stats were available on a BBS where members could review their rankings. Granted the online competitions weren't realtime and Blizard's battle.net is a far cooler forum for online gaming, but all that proves is that technology marches on and that Origin Systems was way ahead of their time. I think the game was called OMEGA although I'm not sure.
--CTH
--Got Lists? | Top 95 Star Wars Line
Has anyone given any thoughts to creating an online 'arena' where anyone who wants to can pit their bots against one another? This would be the poor man's version of battlebots, although I'd like to see if we can extend the code to do more 'interesting' things...
Has this been done?
What about a programming puzzle game? You'd get a task and some constraints and have to write a program that meets the requirements.
from "Output the alphabet without using any character literals." to.. something more complicated. permutations of a string?
It'd just have to parse the source file to see if they followed the rules, see if it compiles (warnings not allowed!), and then run the program with whatever input it needs, and parse the output.
wow, weve /.ed IBM.
Bend to our will IBM l0z3rzz.
This kind of game came out 16 years ago as C-Robots.
Have a look at the link here. At the bottom of the page, and i thought that thing was dead and gone by now.......
does anyone have a mirror for the setup files?
This reminds of of one of the programming projects I had to do for my introductory C++ course in school was an artillery simulator. The final program had to input the angles you wanted to launch the shell, and you had to hit certain targets around campus. It was pretty fun.
-J5K
The libertarian solution to the failures of capitalism is to apply more capitalism til the failures are fixed.
There are those that will tell you it works exactly opposite this.
You Learn Violence through trying to program in Java!
kuro5hin has a much more in depth look at robowars .
Java robot-programming systems have been around for a few years. My room mate created one three years ago called
J Robots. His inspiration was the C-Robots which many people have already mentioned in their comments.
There are a few other Java robot systems listed on Dmoz.org.
Program a robot to get a date with Heidi Wall. Meee-ow!
In 7th grade Comp Sci class (only in San Jose, CA!) we used Robot Wars on Apple ]['s that did similar things. Robots would be in a 2-dimensional plane, had a motor, radar and a cannon. You could control these things with code. Your bots would fight each other on the screen. By the way, I had the best bot in the class! I even beat the bots built by the teacher's sons, who were CS students at San Jose State and he always bragged about them.
Anyways, I've been craving a modern version of this for some time now and haven't been able to find anything. I've thought of building one but I'll have to check this one out.
intergalactics.net also allows users to create Java robots to test and play them on the server.
...which is where I wrote my first (and last) java class. Ech.
I/O Error G-17: Aborting Installation
Real men play Core Wars and learn assembly. This does beat learning Java in Prof. Thronton's ICS 22 class tho. :-)
Posting messages for the betterment of humanity..
Don't take it serious.
Yet another site slashdotted http://www.google.com/search?q=cache:L1cXj8y2PgI:r obocode.alphaworks.ibm.com/+&hl=en
Does anybody else remember a game called Chipwits? It was a mac game, I think it came out sometime in the mid 80's. The player put together a program from little instruction-tiles (kind of like a flowchart in a way), for the purpose of guiding a robot through a maze filled with hazards and goodies.
I don't suppose it's as good a primer on programming as some of these other games people have mentioned, but then again it's playable by younger kids -- I have fond memories of playing it when I was 9 or 10.
I was gonna pay to go to a Non-credit Java course at the local college (I'm only in high school). I'll probably still go but this will definatley help. and being a amer it should be pretty fun to.
c-bob out
We seldom regret saying too little but often regret saying too much.
Hmm.. it's a message board, a BBS.. not a air-traffic-control system. I am sure that more time and effort can be put into better text search tool (ie. off the shelf alternatives exist), but who cares?
I just want to see the news, read crap from trolls (such as yourself), and hopefully learn a thing or two.
You put a lot of effort into this post, but you haven't offered a single suggestion on improvments, only shot down the efforts of many. I guess some people are born to build, some are born to tear down.
Good luck on your conquest.
I'm getting 8k (and d/loading both the winversion and the ns .jar version also...so go cry in yer cheerios anyway..sorry to browse YOUR ibm.com turd
Did we just /. and IBM server?
Smeghead every day of the week.
that site is great..when it's up
For those who don't care about Java but want to program robots, there is a similar program called realtimebattle which lets you write robots in any language you want (ok, any language which can read and write standard input and output).
Humans have solved conflicts using violence for hundreds of thousands of years. Why should we drop that great tradition now? Why should we forget its effect through suppression in the media? Is it better for me to take your stuff by way of bribery, legal trickery or by knocking you down and taking it? I suggest that the more honest approach is through the violence of knocking you down and taking it (it may result to that anyway).
Violence is an honest viable form of conflict resolution. I suggest that people learn when it is appropriate. Given that, it is not appropriate in school, in the houses of congress, or in the board room.
Violence may be appropriate when dealing with a group that has extremely different background and values from you own. Violence is a very basic conflict resolution style that everyone from Asian, to African, to European, to American Indian, to canine, to sheep, to lion understand. I would guess that any form of life capable of memory and self preservation, even alien, would understand violence.
Violence is in itself not wrong.
Are battling robots really violent? What's the difference if we settle our conflict through dumping money into lobbiest, or dumping our money into battlee bots; in the end, the organisation with the most money wins.
Just some Sunday morning banter.
Joe
Joe Batt Solid Design
Why not make it be multi-lingual? Why just Java? Supply an API that any language can use. This issue comes up whenever stored procedures are mentioned and somebody wants to use another language besides PL/SQL or Java or whatever.
Table-ized A.I.
In middle school, I built robots for a pascal-based fighting environment such as this one.
I notice now that I was merely imitating the coding practices found in the example code and the code that my friends and I shared.
I was learning interfaces and code structure in a very oblique manner.
I wasn't learning program structure or timing.
It was a lot of fun, but I didn't walk away from the experience with anything more than a cursory memory of what code is.
OK, I think this "violence is bad" argument is being taken way beyond a sane or healthy level here. You call this game violent? Did you ever play Tank for Atari as a kid? This is game a remake of that game with modifiable AI and better graphics. You aren't looking at horrific scenes of brutal warfare; you see these small robots shooting little pellets at one another with a decreasing counter above them. Hardly what I would consider violent. Suppose kids were not exposed what you consider violence. How would they deal with the real world? They couldn't, they'd probably go crazy and we'd be worse off than we are now. I don't know about you, but I was technically a kid when I played Wolfenstein 3d, Spear of Destiny, Doom, Doom2, and Quake. You fail to reallise the premise of these games, they clearly state that you have two options: kill, or be killed, they do not present you with the peaceful resolution option because it is assumed to have failed. A situation we would hope never to put into but one we as a species are innately curious about. I also don't feel these games had any negative affect on me whatsoever, in fact, they gave my life direction: they inspired me to study Computer Science, and I'm sure there are millions, if not billions, of kids playing violent games every day. How many are cold-hearted killers? Very few. Due to the fact that Joe appears to be a good parent (helping his son pick up some skills that will be very handy later in life), his son is almost a zero risk for causing another Columbine. This debate against violence has been taken beyond reason. It has become more of a witch-hunt.
The learning company had a cool game out that you had to put different gates together to make robots to complete quests. It was non violent. Very fun! I'm not sure why they don't sell it anymore. I wish I could get a copy for my neices and nephews.
anyone know what happened to this game??
Faith
Real men buttfuck each other 75% of the day and then suck each other's cocks the rest of the time!
I regret to inform me that I, sir, am a raging homosexual.
Damn, I remember using Logo in 1980. Using that to draw circles and squares on the Commodore Pet, if I remember correctly. That was cool, except everyone wanted that thing to play Rocky's Boots.
Ever since I read about the play-by-email C++Robots I wondered where I could find the original concept. Thanks!
Does anyone remember programming in the game ZZT?
That was a blast, and a fun way to learn OOP.
I'm usually pretty violent when forced to program something in java.
Can be found at: http://www.robocode.net/
I get violent when they make me use Java, too.
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
http://www.cognitoy.com
And, of course, Loki ported it to Linux.
It's an incredibly addictive robot battle game. You generally build robots with a GUI interface, but for serious hackers there is an object oriented definition language called Ice that compiles into the same VM code as the GUI builder.
-John
FYI: Robocode doesn't like Sun's JDK 1.4 Beta 2. I'll presume it'll play nice with 1.3.1.
.jar with Netscape 4.77 (Windows) didn't work (mangled file), but wget (from my Linux server) did.
:-).
Also, downloading the
Maybe this will get little brother interested in programming, he likes to destroy stuff...
Damn, Slashdotted IBM. Obviously they need to devote one of those S/390's running Linux to Alphaworks
I say, reward our children for their good deeds with positive reinforcement. The violence is completely unnecessary, and can warp an impressionable young mind.
If this game involved the murder of others than yes it is violent. Unfortunately, its a game with badly rendered tanks. I really think its important to realize the difference between reality and fantasy. The more PC thugs try to blur that line the more confused kids we have.
Children are notoriously suceptible to the power of suggestion,
Ever consider that your assumptions might be doing to the impressionable?
Don't work don't study... PLAY THE CORE WAR!
When it was called COREWARS.
Violence in a game is always seen as a terrible thing. Especially in this day and age with violence everywhere, I really don't see 2 tanks shooting each other as incredibly violent. Have you played Soldier of fortune or any recent 1st person shooter? You can de-limb a victim and see the blood splatter against the wall.
Even if this game is violent think of what it is doing, it's trying to get people involved in programming and computers in general. I attend an engineering school and have been amazed at the number of people that have no computer knowledge of any sort, especially in a technological field. Things like this could get people involved at a high school level in computers, so violence is bad, but sometimes the benefits are worth the cost.
I waited years to find a copy of this game. Unfortunately it didn't age well -- the robots are programmed with logic gates and IC's, and they don't shoot each other -- but it's fascinating nonetheless.
Corollary to Moore's Law: The IQ of new computer owners is declining.
Wouldn't it be cool if you could fight code bots over the IR port of a PDA?
actually, there are tons of these programming game.
A project like Real Time Battle (http://www.lysator.liu.se/realtimebattle/)allows you to use any language.
look at this page
http://www.cs.mcgill.ca/~stever/games/
there are about 20 programmin games there
I have, in a P2P fashion, where people could host arenas on their PCs and bots get submitted in the network, battle in others areans, and then move to other areans on the network once they are beaten or dethroned. The owner gets incremental reports on how their roaming robot is doing, either getting the crap beat out of it left and right or is king of the arena and unbeatable at 167.89.45.19.
http://www.ubero.com/
Well, I guess kinds were taught to program with flowergames in the 60's, the "stoned peace" age. ;)
So it's kind of logical that they learn it with violence now, we are of cource in the "I'm on speed and very aggressive" age
42 + 1 = 42
I've seen a lot of ones like this, but the one I liked the most was AT-Robots. It was based on Assembler, and it was entertaining enough that even though assembler is hard to learn I actually learned *some* of it by playing this. The address: http://www.necrobones.com/atrobots/
Entertaining stuff.
Does anyone know of games that could teach someone perl or php and stuff? Does anyone have a list of games that teach different programming languages?
The anti-salmon
I'm really waiting for a tournament mode or network API for Robocode. I want to see if I can write better bots through coding them directly, or by using genetic algorithms to breed them.
You are a fuckwad
Violence and sex are good
Have sex and agree
THIS IS RELEASED UNDER GNU PUBLIC LICENSE
And corewars before that was the great-granddaddy.
Crobots original page
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo! http://goo.gl/J9bkO
The fact is that there are four completely different things that go by the name ``Java'':
A language;
An enormous class library;
A virtual machine;
A security model.
Sun would like you to believe that these are all the same thing, and that the name ``Java'' implies all of them, but this is marketing fiction. Worse
than that, the fact that Sun has tried so hard to push this idea has done grievous damage to the acceptance of Java.
Java-the-virtual-machine is an interesting research project, a nice proof of concept
speed isn't all that important: basically, those tasks where you could get away with using Perl instead of C.)
Java-the-security-model is another interesting research project, but it only barely works right now. In a few years, maybe they'll have it
-This is by jwz
figured out or replaced.
http://robocode.turbochicken.com - This is a site that me and some of my Java buddies are putting together for fun. We've just started it - but already have most of the back end done. Please stop by and check it out. We're looking for suggestions and ideas before we officially launch it. So, please read the stories on the homepage to see what we have in mind for the site then send feedback to the email address posted on the homepage. Also, I've compiled a list of links to other RoboCode websites, tutorials, and discussion forums. By the way, the upload/download and save features are disabled for a few days. Check back towards the end of the week to start actually exchanging source and class files.
What the hell is the "postercomment compression filter"?
Why the hell do you people think anyone would want to become a programmer? You people are like religious nut cult trying to convert all the children to your ways.
Wow, the site has been major slashdotted.
I'm downloading Robocode at a wild 2.2k/s.
It's called TopCoder, located at www.topcoder.com (use my name khaladan as referrer if you sign up). You can participate in a contest usually once or twice a week with 7 other programmers trying to solve various problems of increasing difficulty.
It's based on time. Whoever submits code the fastest, gets the most points. Of course, then there's a challenge round where you inspect other people's code for bugs, and if you find one, supply input that will produce bad output (or crasht the program).
It's a greate contest. Currently you can choose either Java or C++ to program solutions in.
Plus, if you get 1st, 2nd, or 3rd place in your room (of max 8 people), you get $150, $75, or $25 dollars, respecitively. I myself have not been playing very long but I got 2nd place once, and sure enough, a check came about two weeks later for $75.
So, sign up and try it... use my name, khaladan, as the person who referred you.
Learning throgh RoboWar to produce advanced behaviour out of a slow and limited language was a great help when I later went on to dabble in embedded systems--the skill set required is very similar.
I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!
A lot like the game A.I. Wars which has yet to gain the attention it deserves. Check out www.tacticalneuronics.com and go to A.I. Wars-The Insect Mind.
Leftist - force the world to work together, thus violating human nature.
Liberal - ask the world to work together, thus getting no response.
Libertarian - allow corporations to enslave humanity without government intervention.
:)
Have always wanted to see a version of this built inside an RTS game. Its the only reasonable way I see to solve the stupid AI pathing issues that seem to plague the games.
Thought this might be of interest...there is a game called RoboForge that uses programmable robots. See: http://www.roboforge.com/ Basically, you have a Bot wizard you can create your robots with, then you run the simulation against an opponent, then after the simulation, you watch the 'real' fight. Kinda cool. Seems to use fairly intense collision detection and stuff. It is one of the first commercial games (that I know of anyway) that uses Java3D. There is a free trial download (about 30 mb). Mike
Now if we just combined this thread with the Lego Mindstorms thread we'd get some true BattleBot action in your living room... I wonder how Lego'd feel about THAT?
Me
Actually, I think "Robot Odyssey 1" also by the "The Learning Company" is closer to Mindrover.
You can find it here: http://www.theunderdogs.org/game.php?id=916
Unfortunately I've never been able to get my copy to run on anything except my original XT.
Rocky's Boots was a good pre-requisite for Robot Odyssey 1.
A game that could be considered an inspiration for Mindrover would be Origin's "Omega".
Unfortunately, like most games empasizing thinking over twitching - it never sold that well.
http://www.theunderdogs.org/game.php?name=Omega
First they burn books, then they burn people.
I would greatly be interested in learning C++ through sex. Since sex is better than violence, and C++ is tougher to use than Java, I think it will all balance out.
Everytime you look at porn a devil gets their horns.
Is slashdot learning from tabloid journalism in making up the headlines? Oh well, at least the writeups usually clarify the issue...
Learning Java Through Violence - for every bug and every unnecessary perusal through the manuals, you get beat up...
See Typing of the Dead for the Dreamcast.
Gun down zombies with your mad typing skillz.
There are several games where you write code in some language to control a robot that fights another robot, programmed is the same language.
:)
:)
Now, imagine a beow... ooops, a game where you first choose the language for the control program. Fight java-controlled bot with perl-controlled bot, lisp-controlled bot, python-controlled bot, etc. By this, the ultimate winners of language holy wars can be determined in most apparent way
The bots should be equipped with a flamethrower, of course
Computers make very fast, very accurate mistakes
http://www.epsitec.ch/colobot/index.htm
Not only good graphics but good game logic too.
Cognitoy actually did this for their Mindrover robot sim, see this link.
"There are already a million monkeys on a million typewriters, and Usenet is NOTHING like Shakespeare." - Blair Houghton
There's also PICbots... basically the same thing as Robocode and the like, except you're programming in real PIC assembly. I thought it was pretty cool, except for the fact that I loathe assembly. Can't say for sure what impact this has had on my manliness, though.
I uploaded the setup.jar file to my old geocities-trash, so if you want to dwonload it from a not slashdotted server (yet):
www.geocities.com/kruemelcam/robocode
X
Boycot? Blackout? Subscriptions?
I don't care!
By coincidence, I had just sent the following to robotcombat.com
It looks like that little SciAm article spawned quite a legacy.I had also heard of a (and found) a non-discriminatory EXE that let you code your robot in any language, the master control program then played the EXEs against each other. Pascal, C, VB - any EXE-producing compiler worked.
I think everyone is missing the point of this!
Hell yeah, cool that you know other similar games exist, and for the last 20 years there have been similar games. So what!! Most of the are outdated, or simly not used very much these days.
But thats not the point.
This is not a game to compete with the others,
This is simily a Robot game, made for use with JAVA, and for programing in JAVA!
I find it very fun, and usefull. Why? Because its a real language, one Im currently learning in school, and its new. Mat has big plans for the game. It already has a huge userbase behind it, and its only 3 months old.
Im happy many of you have other such games, Im just glad there is now one made for Java, and crossplatformed.
Actually, this week Im starting to organize a Semester long Tournament starting from now until the end of November for those interested in my Campus who are taking the Java Class..
This is great I hope others are enjoying it as much as myself!
cheers
--JED
Anyone has develop a bot that won the 'Wall' bot? I worked hard on it in vain. Please!
They have a new ftp server up... downloading at my full dsl speed now...