Learning Java Through Violence 225
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.
Hmmmm. (Score:3, Funny)
Re:Hmmmm. (Score:2)
This is how i learned C, too (Score:3, Redundant)
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
Re:This is how i learned C, too (Score:1)
Re:This is how i learned C, too (Score:3, Insightful)
A good way for each person to tout his programming skills. The project was updated over the years by each new class of ACM members. Kind of like a university of maryland cult legacy thing in the com sci department. Anyway, I was under the impression that pretty much every school had their own version of robot wars. I know at one point, U Texas had a world wide robot wars gaming contest based on similar concepts. This was about 18 months or so before lego bots got popular. They truely cunning would like at the compiler code and figure out how many instructions were executed per time unit and craft state machines accordingly.
Re:This is how i learned C, too (Score:1)
Re:This is how i learned C, too (Score:3, Informative)
Yes, this game was called Crobots. You can still find copies of it around with some well-placed Web searches.
There's also a more recent type of this simulation called RealTimeBattle [sourceforge.net] which uses a simple text-based protocol so that you can write a bot in literally any language.
Re:This is how i learned C, too (Score:1)
http://www.robowar.co.uk/
It is the sole reason I do programming to this day. And the weird RPN language it uses was the first language I wrote in.
Alan
anyone know of? (Score:2)
Awesome! (Score:2)
I play that game every time I run Java apps (Score:3, Funny)
Re:I play that game every time I run Java apps (Score:1)
True; the almost-but-not-really-OO quality of Java(tm) is what REALLY snuffs it.
The S-L-O-W UI stuff is just added sucktitude.
Today's young 'uns should be learning real languages, such as C for procedural programming, Smalltalk for OO, and Lisp for functional programming. Then, if the job market is still looking for people who can write scripts for virtual machines, go learn Java(tm).
By the way, did you know that Perl, Tcl/tk, and Awk can be Written Once, and Run Anywhere(tm)? I wonder if Sun knows this? I hope they sue the pants of those bastards for stealing the idea from Java(tm).
Re:I play that game every time I run Java apps (Score:2)
Why waste your time learning a language you will never ever use? If you are going to have to learn Java to get a job why not learn Java in the first place.
Yes Perl, Python, TCL (and you forgot rebol!) all are pretty damned portable too. Life is great when you don't have to tie yourself to one platform with a crappy language like VB anymore heh? Only if they some slick IDE like jbuilder.
Now that's smart (Score:1)
Mindrover (Score:1)
/Janne
Re:Mindrover (Score:1)
Yes, there are others (Score:5, Informative)
Re:Yes, there are others (Score:2)
Is there a question or something here? (Score:2)
nice! (Score:2)
Re:nice! (Score:2)
Considering most of the people there, such as myself, were already well versed in at least one other programming language, we were needless to say bored out of our minds. By the end of the semester, we spoke our mind at The Fence [24.2.137.94] (you people familiar with CMU will enjoy this..)
Re:nice! (Score:1)
Maan
Re:nice! (Score:2)
Having taken 15-100 in the summer session, I got to be among the first set of victims of Karel. The incoming class now will have to suffer with Karel for the first half of their semester.. it's not a bad concept, but it really could be condensed into a couple days. But DJ Slater is a cool guy, they'll have fun (as much as they won't want to admit it).
Re:nice! (Score:2)
Violent Computer Games (Score:2, Flamebait)
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.
Re:Violent Computer Games (Score:1)
Would that be such a bad thing?
New idea? (Score:1)
good job /. ers (Score:1)
OS X (Score:1)
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.
combinations (Score:1)
another recent game (Score:1)
http://www.colobot.com
More programming, less game... (Score:2, Troll)
--CTH
Re:More programming, less game... (Score:2)
Before that I believe there was a game for the Apple II called (I believe) Robot Wars. It had its own programming language and you programmed your robots to fight and move in a little arena. This was in the early 80's at latest, so I believe this would well predate the game you're thinking of.
Re:More programming, less game... (Score:1)
LEXX
Re:More programming, less game... (Score:2)
Re:More programming, less game... (Score:1)
There appears to still be a bit of a player community and they have the language docs:
http://www.atlantic.net/~flburns/omega/ [atlantic.net]
.n.
Another idea.. (Score:3, Interesting)
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.
Such a thing exists. (Score:3, Informative)
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.
down they go. (Score:2, Offtopic)
Bend to our will IBM l0z3rzz.
Re:down they go. (Score:2)
Re:down they go. (Score:2, Offtopic)
Old hat (Score:2)
C++Robots (Score:3, Interesting)
heh.. reminds me of school (Score:1)
-J5K
What about the other way around? (Score:3, Funny)
You Learn Violence through trying to program in Java!
interview with the developer (Score:5, Informative)
Variety Of "Java Robots" out there... (Score:2, Informative)
J Robots [mobydisk.com]. 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 [dmoz.org].
Just like Apple's RobotWars (Score:2, Interesting)
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 (Score:2, Informative)
...which is where I wrote my first (and last) java class. Ech.
Lame! (Score:2, Interesting)
I wanna learn (Score:1)
c-bob out
IBM server? (Score:1)
realtimebattle (Score:1, Interesting)
Stored Procedures all over again (Score:1, Insightful)
Learning vs. Imitating (Score:2, Interesting)
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.
learning company-robot game (Score:1)
anyone know what happened to this game??
Faith
Re:learning company-robot game (Score:2, Informative)
ZZT OOP language (Score:1)
That was a blast, and a fun way to learn OOP.
Re:ZZT OOP language (Score:2)
Tim Sweeney's finest, if you ask me, although I'm sure he'd disagree :)
Re:ZZT OOP language (Score:1)
http://www.zzt.org/ [zzt.org]
Disussion groups, theory and more sample bots (Score:4, Informative)
What a coincidence (Score:2, Funny)
MindRover (Score:5, Insightful)
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
Re:MindRover (Score:2)
MindRover RTS Games (Score:2, Insightful)
Doesn't like JDK 1.4beta2 (Score:2)
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
Weighing the good Vs. Bad (Score:1, Interesting)
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.
Robot Odyssey (Apple II) (Score:2)
real time battle (Score:1)
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
Flowerpower (Score:1)
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
AT-Robots (Score:2)
Entertaining stuff.
RoboCode Repository WebSite - Exchange Bots! (Score:2, Informative)
There are (N+1) of these games (Score:4, Insightful)
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.
Please tell me (Score:2)
Re:Moral implications... (Score:2)
I knew there'd be some self-righteous pollyanna that'd react to the title. Astonishing how everyone already knows how to raise everyone else's kids.
Re:Moral implications... (Score:2)
I second this! I played Rocky's Boots on my Apple //e when I was in college. Even as an EE major I couldn't finish some of the puzzles. (The fact that propogation delay was modelled poorly didn't help at all...)
Cool, Google found this site [warrenrobinett.com] which has links to Apple emulators and the Rocky's Boots disk image. Time to go kick some... um, brightly colored shapes.
You have got to be kidding . . . (Score:3, Insightful)
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.
Re:Moral implications... (Score:3, Insightful)
Re:Moral implications... (Score:1)
And seventeen is a perfect age for us to get a youngin into Uncle Sams Misguided Children. Learn 'em to shoulder an M1 and an M16 and blast those little commie bastards. Ah, the young are so impressionable.
</zealot>
Re:Moral implications... (Score:2)
The people who complain about the violence here are the same ones who turn a blind eye or say "what're ya gonna do?" when teens use real violence on real people.
I look forward to teaching my kid programming with competetive elements to add fun. They don't all have to be violent. Imagine a large field with nuggets and seams of gold hidden here and there, a sensory API for "detecting" gold, and robots in competition to gather all they can.
Computers in education wasRe:Moral implications... (Score:4, Insightful)
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!
Re:Moral implications... (Score:2, Offtopic)
I disagree on both counts. You say for both sex and violence that there is "enough". How much is enough?
There is too much violence in media.
There is not enough sex in media.
And your idea of intermingling with education is a great concept. Now that you've mentioned it already, is it too late to patent it?
Re:Moral implications... (Score:1)
Who defines enough?
Some people may be satisfied with the present level of sex and violence, and others may not yet be satisfied. Some people are harder to please.
Re:Moral implications... (Score:1)
Re:Moral implications... (Score:2)
It's a game, he either learns to code while killing "non-living" robots, or doesn't learn to code while killing humans playing counter-strike.
And everyone knows that video games *do not* contribute to violent acts. I have been playing violent video games for years, and over those years my violent tendancies have deminished.
-- iCEBaLM
Re:Moral implications... (Score:2, Flamebait)
There is enough sex and violence present in the media
I think not. Sure there's enough violence, but never enough sex! I'll tell you what there is enough of though, self-righteous pricks who think they should be the thought police, and that they have the magical rules as to how everybody should raise their own children. That and trolls, so you've got to go either way.
Re:Moral implications... (Score:3, Interesting)
I'll tell you what there is enough of though, self-righteous pricks who think they should be the thought police, and that they have the magical rules as to how everybody should raise their own children.
While I disagree with the poster's hand-wringing about violence, I have to defend his right to judge others. The biggest problem with society today is not sex, violence, the DMCA or any of that: It's the "who am I to judge" crap. It's everyone's responsibility to judge EVERYTHING and EVERYONE in society, but be willing and prepared to be judged by others.
Notice that the poster was not calling for laws to be passed, but it is his absolute right and responsibility to judge on a personal basis what he feels is right and wrong. When enough people feel the same way, society can be transformed.
RM101: Self righteous, and proud of it.
Re:Moral implications... (Score:2)
Re:Moral implications... (Score:2)
you end up with the worst form of mob rule, where a conservative status quo is achieved, and nobody will do anything that could concievably cause waves, as they don't want to rock the boat and be judged themselves.
Certainly it is possible for that to happen, but on balance, I think we would have a stronger and better society when everyone is open game.
The prototype example from my life is that I used to have a very good friend who flat-out cheated on his wife. As far as I was concerned, he showed himself to be unworthy of my friendship. What was incredible to me was that all of his other friends rallied around him, and "supported him" through his "trying time". The man was total scum! I pretty much let him know what I thought, and told him that he should clean up his act and beg forgiveness. But he didn't, and destroyed his marriage.
I couldn't believe his so-called "friends" made it so easy for him to be a total asshole. I believe that being a true friend is steering them away from bad decisions, not enabling them. If all his friends and family totally ostracized him until he owned up to his responsibility, he would have been much better off, and learned a valuable lesson.
And yes, it is "his business" if he wants to cheat on his wife. But it is my business how I react to it, and whether I tolerate that behavior around me.
Make no mistake -- most of evil happens because it's tolerated. On a slightly different subject, I detest the word "tolerance" as its used today, as in we need to "tolerate" other minorities. The is the absolute worst word the PC crowd could pick. It should be "coexist with" or something similar. Preaching "tolerance" enforces the notion that I'm supposed "tolerate" bad behavior, because "who am I to judge". Argh!
What!? (Score:1)
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
Re:Moral implications... (Score:3, Insightful)
Besides, having grown up in a house where my parents didn't really censor my cable access, I find it hard to believe that shielding kids from all possible influences really makes a difference. I never got into fights in highschool or college, despite watching Rocky I - V. I've always felt that an intellectual approach to conflict is far better than a violent one.
How could that be, when I watched The Exorcist and Jaws before I was even a teenager! Why, I even used to watch The Roadrunner back when old Wile E Coyote used to actually hit the ground!
The key to raising your kids to avoid exerting violent behavior isn't to shield them from all possible observations of it. It isn't even that helpful to have them avoid board and video games where violence is a goal.
The key is to teach your kids the difference between fantasy and reality. "Yeah, it's fine to go watch a Jackie Chan movie, but when you leave the theatre, don't kick your friends and pretend that you're in a karate fight." "Play Quake and Duke Nuke'em, but remember that they're just video games."
Additionally, build loving trusting relationships with your children and encourage them to build similar relationships with others. Teach them how to think their ways through problems, rather than giving up and reacting violently.
Re:Moral implications... (Score:2, Funny)
was that supposed to be modded insightful or funny? it's getting hard to tell around here...
although, i'm sure i read that one of the first signs of a serial killer is the torture of small instruction sets.
no, really.
Violence doesn't cause all evil in the world. (Score:3)
Re:Moral implications... (Score:2)
But don't you think that there are better ways of teaching programming than encouraging unnecessary violence?
Violence is not intrinsically immoral. For example, using violence to defend my home against a criminal is absolutely morally justified on the small scale, and similiarly defending the country during WW/II on the large scale.
It's how violence is used that determines whether it is appropriate or not, and games can help reinforce these lessons. For example, "Doom" was a positive game because you were defending the world against invading demons. On the other hand, "Postal" was probably a bad game for kids, because it was encouraging running down innocent pedestrians.
Violence is intrinsic to our nature, and just ignoring natural impulses is not the way to teach morality. The morality of when violence is appropriate should be taught.
And yes, I believe Ghandi and similar pacifists are idiots. Just because Ghandi was lucky doesn't mean his philosophy was any good. Passive resistance would have done the jews a lot of good against the Nazis.
Re:Moral implications... (Score:2)
Do you seriously believe that the kids will really regard this kind of "violance" as the same kind of violance that you're talking about?
This is not violance against humans. This is violance against virtual robots. And the kids can even take an in-depth view at what is actually going on. If they see that it's just an integer counter being counted down when you're hit (or whatever, I've not looked at the code yet), I don't think they'll see this as violance, no matter what the graphical output looks like.
I don't believe in violance caused by computer games anyway (they might be the trigger, but not the cause), but claiming that encouraging kids to develop a virtual robot is like encouraging them to shoot their classmates is ridiculous.
Real violence vs. game "violence" (Score:2)
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?
Re:Moral implications... (Score:2, Insightful)
What complete bullshit! morality is not something you learn through positive reinforcement, morality is something you develop on your own. if we can just point to the bible and throw the rule book at everyone who behaves from what you perspective immoral then it's not really a problem with personal morality as it is following orders and brainwashing people.
Re:Slashcode revisited! Bumper Double Issue! (Score:2)
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.
Re:WHO GIVES A FLYING FUCK? (Score:1)
Who care what they use? Who cares if they are down now and then?
LOL! Now this is an ironic comment to find on a site that is so viciously anti-Windows/pro-Open Source. "Linux is way better than Windows, because Windows occassionally crashes. But hey, cut Slashdot some slack - who cares if they are down now and then?"
Online version for P2P (Score:2)
http://www.ubero.com/