Project Overview

andreyLevushkin edited this page Nov 29, 2012 · 1 revision
Clone this wiki locally

So the chosen project is a bot fighting arena in the spirit of RoboCode. Have a look at an example here:

The basic premise is a bunch of bots fighting each other on a 2D battlefiled like below:


It's a 2D world where the robots can do 3 things :

  1. Move

  2. Sense using a radar ie point the radar in a direction and figure out if there is a wall or another robot there.

  3. Shoot

These actions are exposed as methods the robot can call.

RoboCode is effectively turn based where a robot picks an action every turn and once all the robots have picked an action the engine figures out what happens next. I think this is a good model to follow.

We will need to pick the exact rules but as an example RoboCode world rules are RoboCode Physics

Project parts

This project can be split into following parts so have a think about what interests you most before the next meetup:

  • Create the Engine takes a bunch of bots and simulates a world
  • Tools for quickly simulating battles for figuring out if your bot is any good
  • Create a render that takes a world state and draws it on screen so you can see the bots fighting.
  • Build some bots
  • Probably something else i haven't though't of so feel free to add stuff.

(The following are a bit more ambitions)

  • Create a server for host the battles using something like Yesod. Some interesting challenges here in terms of running untrusted code.
  • Create a an in browser renderer that streams matches from the server. Something using Fay and WebSocket would be pretty cool.

Next Meetup

The next meetup will be on the 11th of December and the location is being finalised. The aim is to figure out how you want this project ran and and get a high level sketch of what the result will look like.

Will keep you posted with more info.