Thanks for the responses, I do not think that the mov current current+1 would work to end in anything but stalemate.
However, depending on the instruction set a variant would work if it was:
movdoubleword current current+1
illegal opcode
I find this interesting because:
I once tried to write a program like mov current current+1 on a motorola processor, but it was not possible because the move double word instruction was a double word itself and the operand was a word. So, I would have needed a move triple word, which did not exist:) And of course the move word instruction was 1 word + a 1 word operand.
Armies of bots fight in a virtual battlefield, capturing cities, navigating terrain, and communicating over radio.
This game uses a custom JVM, which means it’s the only programming game in existence that both uses a modern programming language (Java) and has precise instruction counting (crucial for ensuring fairness and reproducability.) It’s also a lot of fun!
Cool to see an easy implementation of Assembly, “deliberately simple”, and quite intuitive… the way it should’ve been, regarding the naming convention.
Reminds me of Terrarium: showcase .NET application. It was higher level then core wars, creatures were graphical and underlying code had functions like bite(), eat() and look(). You upload your dll to server and watch your creature perform.
Wow. I played Core Wars for a while about five years ago, but never was very good at it. Even my best warrior couldn’t get past 5th on the beginner hill. But it was a lot of fun, and I learned a lot about assembler (even though redcode is a toy language).
It is in Java.
You have tanks/robots driven by your own algorithms to fight other robots on the battlefield.
You can have team battles, where a number of your robots work as a team to beat the other team.
That is a lot of fun, and good starting place for those who want to learn Java. Bare minimum java/programming experience needed to start building your own robots.