Battle! A! Fellow! Rubyist! Today!

by Patrick Davey, Daniel Fone on at Christchurch Ruby

We’re going to have a battle to the death at this months meetup involving robots (well, virtual tanks)

tanks!

We will be using the rrobots gem which allows you to easily make tank and then pit it against each other in a virtual tournament.

Guest Submissions

We are actively encouraging guest submissions for people who cannot make it on the night. Please simply email a copy of your code to battlearubyist@gmail.com

Also, please Tweet about it and copy in @chchruby #battlearubyist

IF you’re interested in a LiveStream of the event… well.. we’re not sure we’ll get round to doing this (or what form it’ll take) but please add a +1 in the comments on this gist

RULES! (and evening flow)

So, yes, this is Ruby, yes there is meta programming.. however, for most of the night we will not be allowing metaprogramming (if you’re caught your robot will be banned and all your millions of points taken away ;)

With that said, in the last round of the evening it’ll be all on for young and old.. metaprogram to your hearts content.. Destroy! All! Things!

We will - courtesy of the awesome Daniel Fone have a git server which you will be able to push your robots to on the night.

Each round will be 20 minutes long, after which everyone will be able to see all the other robots which have been submitted for the round. It is encouraged to iterate on each others ideas. There will be several categories of winning.

  1. Most brutal killer (biggest number of kills)
  2. Most damage inflicted (most hit points)
  3. Last robot standing at the end of each round.

How To Play

  1. git clone https://github.com/patrickdavey/chchruby-robotwars
  2. It would be great if you could bundle install and run the basic tournament before arrival on the night. There are some dependencies for the graphics which you may need to install packages for.
  3. Using one of the basic robots in there, come up with your own AI.
  4. There are a heap of useful links in that repository to the API etc.