Project Description
A Battle Droid is an AVR® microcontroller running the BattleDroid firmware. This firmware turns your AVR into a lean, mean, fighting machine, and through the accompanying software, lets your droid connect to the Internet to wage war against other Battle Droids.

Website: http://www.BattleDroids.net/
Wiki: http://wiki.opendesignstrategies.org:8040/display/DROID

Welcome to the home of exciting AVR®-based combat. The Battle Droids game is part Role Playing Game (you gain levels, choose feats, etc), part Real Time Strategy (you wage real-time combat against your enemy, or as a team), and part custom bot building (at certain levels and with certain feats, you gain the ability to outfit your droid with real-world hardware as well as being able to develop custom code you write to run on your Battle Droid for defense and attacks). The coding takes place via the Extended Online Network (EON) language whereby the player pre-programs his/her droid using the skills and feats he knows at his level. The hope is to combine some bit of real-world expertise (ie understanding paradigms of good programming) with in-game reality (such as gaining particular advances in skills, feats, and talents that offer new abilities). Here's a snippet of of the EON programming language:.

; Extended Online Network (EON) Programming Example
; This code is for a Grunt Model Droid running on
; an ATmega644P with an external 32Kbit EEPROM

; prologue
.model shinjuku
.class medium

.device ...

.code
.org 0x0000
    ; interrupt vector table
    RJMP Start
    RJMP DamageVect
    RJMP TimerVect
    RJMP MsgVect
    RJMP ArmorVect
    RJMP HeatVect
    RJMP ScanVect
    RJMP SecurityVect
 
Start:  ; start of program
 
DamageVect: ; damage ISR
    ; do something
    RETI



This means you design and build your own AVR-based system, download and install the firmware to unleash the Battle Droid inside it, then install the PC software that connects via serial/USB to your AVR and allows it to then connect to the Battle Droids website where you can engage in head-to-head combat.

At the time of this writing, about 80% of the game mechanics have been worked out. The hardware integration into the game mechanics is still evolving and presents the largest hurdle. That is, how should installing a light dependent resistor or ultrasonic transducer effect the gameplay? If you have any ideas or thoughts or are interested in this project, feel free to get in contact. The beginnings of a player's guide is on the website, and I've attached the working draft of the to-be-PDF player's guide below. Just remember, it's only just begun.

Battle Droids - AVR Network Combat.pdf

And, of course, I have to include a picture. This is of the first Battle Droid I built. It's a shield connected to an Arduino.




Cheers!

Last edited Jan 20, 2012 at 10:17 AM by DroidEngineer, version 8