[QUIZ] RRobots (#59)

R

Ruby Quiz

The three rules of Ruby Quiz:

1. Please do not post any solutions or spoiler discussion for this quiz until
48 hours have passed from the time on this message.

2. Support Ruby Quiz by submitting ideas as often as you can:

http://www.rubyquiz.com/

3. Enjoy!

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

by Simon Kroeger

RRobots, Inc. is always looking for new talented pilots. Recently they lost so
many skilled employees in a show battle against one of their competitors that
they decided to try something new.

Don't be afraid, you don't have to lead a robot into the fight personally.
RRobots, Inc. is asking you to write an AI for one of their bots. You will be
provided with a programming interface and as many shiny new robots as you may
need to test your creation.

All bots have a body equipped with a powerful engine and robust plating, a gun
capable of firing energy bullets of various strengths, and a radar to scan the
battlefield for enemy bots.

Battles take place in an arena, 1600m by 1600m, each robot is placed at a
randomly chosen position and powered on simultaneously. For this test all
fights are one-on-one, so if you scan something it will be your opponent.

RRobots, Inc. will run a championship competition on 12-20-2005 (wasting even
more hardware) matching each participant against all others, three times. (Your
bot must be posted to Ruby Talk on or before 6 PM (GMT) the 19th, to compete. A
resubmission of the same bot class replaces the original submission, but
contestants are allowed to submit multiple distinct bots.) The winner of the
competition will be the bot with the most overall wins. The result of these
battles will lead to a winner honored with having the next product-line named
after him. (James and Simon will provide the winner with a Desktop R/C
Mini-Rover from ThinkGeek.com, after the quiz summary is posted. Contestants
must provide a valid email address with their solutions to be eligible.)

If you are interested, here are the details:

You have to provide a class including the module 'Robot', defining a method
named 'tick' taking an array of events as input. By including the module
'Robot' you gain access to the robot hardware via methods like:

fire(power) # fires a bullet in the direction of your gun
turn(degrees) # turns the robot (and the gun and the radar)
energy # your remaining energy (if this drops below 0 you are dead)
# ...

You have to define the behavior of the robot for each tick (approximately 20ms).
This approach is kind of low level but you are allowed (if not encouraged) to
unleash the whole power of Ruby to create higher level functions and interfaces
(take a look at http://rrobots.rubyforge.org/OOSittingDuck.rb for an idea).

A word of warning: If your AI tries to cheat (using other ways than those
provided by the 'Robot' module to gain information about the battlefield or the
other bots) or throws any errors, your submission will be disqualified.

You can get information, sample bots and the arena program on
http://rrobots.rubyforge.org/.

Good luck and may the best bot win!

Disclaimer: Of course there is no 'RRobots, Inc.' (if there is, this is totally
unrelated to them) and you will not receive any hardware whatsoever via snail
mail. While it is very unlikely that you get hurt in a RRobots battle, I'm not
responsible for any harm done to you or your equipment during this quiz.
 
P

Peter Thoman

Ruby said:
[...]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

by Simon Kroeger

[...]
Is there a limit on the amount of time the tick() method may take? I can
think of lots of interesting stuff I may want to try that could be quite
expensive computationally.

Great quiz!
 
J

James Edward Gray II

Ruby said:
[...]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=

by Simon Kroeger

[...]
Is there a limit on the amount of time the tick() method may take?
I can
think of lots of interesting stuff I may want to try that could be
quite
expensive computationally.

We tried to talk these issues to death, and I knew we would still
miss the ones you guys would raise. ;)

Simon is running the final tournament, so his word is law, but I
would limit it, yes. 30 seconds to a minute seems plenty.

James Edward Gray II
 
J

James Edward Gray II

RRobots, Inc. will run a championship competition on 12-20-2005
(wasting even
more hardware) matching each participant against all others, three
times. (Your
bot must be posted to Ruby Talk on or before 6 PM (GMT) the 19th,
to compete.

I'm extending this date/time to 6 PM (GMT) on the 20th, to give
people a little more time and hopefully snag another submission or two.

James Edward Gray II
 
J

Joe Van Dyk

I'm extending this date/time to 6 PM (GMT) on the 20th, to give
people a little more time and hopefully snag another submission or two.

Gah, was out of town and just now saw this. I think you should extend
the deadline until the 31st or something. That way, those of us who
get a little holiday break from work can spend some time on this
project.

Joe
 
J

James Edward Gray II

Gah, was out of town and just now saw this. I think you should extend
the deadline until the 31st or something. That way, those of us who
get a little holiday break from work can spend some time on this
project.

Simon can make the call on this.

I was not planning to release a quiz this week (due to the Holiday).
If people want, I could extend this one until the 27th (covering the
week off).

Simon has to run the tourney at the end though, so he gets to make
the call. Let me know Simon...

James Edward Gray II
 
D

David Balmain

Sounds like someone needs to set up a league. I have no time for the
next month or so but I'd definitely like to build something someday.
 
J

James Edward Gray II

Btw, should these be written from scratch for the quiz? This is more
like a bot that i wrote some weeks ago that begat another bot that
begat another bot that begat this.

I think it's fine.

James Edward Gray II
 
J

James Edward Gray II

Simon can make the call on this.

Simon gave us the green-light. This quiz will be our first two-week
Ruby Quiz. The new deadline for submissions is 6 PM (GMT), December
27th. No more extensions after that though.

Now show us some bots! ;)

James Edward Gray II
 
B

Bryan Kennedy

James said:
On Dec 19, 2005, at 10:15 PM, James Edward Gray II wrote:
Simon gave us the green-light. This quiz will be our first two-week
Ruby Quiz. The new deadline for submissions is 6 PM (GMT), December
27th. No more extensions after that though.

Oh, that's cool.
Myself I'm a complete Nuby, however if I manage to figure stuff out even
I might do something here.
Now I actually might have the time to do it. :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top