Difference between revisions of "User:Voidious"

From Robowiki
Jump to navigation Jump to search
(misc updates)
 
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
"RoboWiki Donor"
+
== Background ==
  
I'm a 26 year old Software Engineer, fledgling guitar player, Smash Bros expert (well, I try =)), and admitted Robocode addict. I took a stab at Robocode in late 2002 just before starting my college career, but never got much past LinearTargeting and PerpendicularMovement. I took another look in Fall of 2005, and in less than a week, I was completely hooked!
+
{{Youtube|OQ6hpn3gECQ|Voidious and Riker}}
  
I've got some web sites, though most are not updated often and/or just out of date: (partially thanks to Robocode)
+
I'm a 34 year old software developer, dog lover, and former Robocode addict. I took a stab at writing bots in late 2002 just before starting college, but never got much past [[Linear Targeting]] and [[Random Movement]]. I took another look in Fall of 2005, and in less than a week, I was completely hooked! [[Dookious]] emerged and took the 1v1 throne about 6 months later.
* [http://www.dijitari.com dijitari.com] - The root of a few small/fun web pages of mine. (man@machine isn't mine, though.)
 
* [http://www.dijitari.com/void dijitari/void] - Miscellaneous personal stuffs.
 
  
TEST2
+
I'm currently in charge of the [[RoboWiki]], handed the reigns by [[User:PEZ|PEZ]] in 2007. It's truly a whole community that keeps this site alive, though, so I just do my best to help make that possible. You can probably consider me retired as a bot author since late 2012.
  
My bots:
+
I'm also...
* '''[[Dookious]]''' - A duelist named after [http://www.starwars.com/databank/character/countdooku/ Count Dooku], using WaveSurfing and GuessFactorTargeting. He's currently at #1 in the RoboRumble general 1v1 class  (since 4/18/2006).
+
* [http://twitter.com/Voidious @Voidious on Twitter]
** '''[[Shaakious]]''' - An experimental duelist, named after [http://www.starwars.com/databank/character/shaakti/ Shaak Ti]. Uses the movement from Dookious and a PatternMatching gun.
+
* [https://github.com/Voidious GitHub/Voidious]
** '''[[Tyranius]]''' - A cross of the WaveSurfing movement from [[Dookious]], and the amazing targeting of [[Ascendant]]. Version 1.0 hit a rating of 2092, over 10 points ahead of Dookious at the #1 spot (at the time).
 
** '''[[Lukious]]''' - Built from the shell of [[Dookious]], Lukious is a duelist that uses DynamicClustering for data analysis in both movement and targeting.
 
* '''[[Codious]]''' - A melee / team bot (only melee released so far), using MinimumRiskMovement and the same (but differently configured) PatternMatching gun as [[Shaakious]]. Retired for now.
 
* '''[[Komarious]]''' - A MiniBot duelist using WaveSurfing and GuessFactorTargeting, currently at #2 in the MiniBot class, and about #25 in the general rankings.
 
** '''[[KomariousTeam]]''' - A TwinDuel team based on my mini surfer, [[Komarious]]. Started out as a very average team, but I left it in the tourney for the sake of variety. Then [[David Alves]] came along, tweaked it a bit, and now it is one of the top entrants in the TwinDuel.
 
* '''[[LuminariousDuo]]''' - My serious TwinDuel team, currently using GuessFactorTargeting and MinimumRiskMovement.
 
* '''BrokenSword''' - Born from [[LuminariousDuo]], this is a melee MiniBot. It's around #10 in the melee MiniBot rankings, but I'd love to get it into the top 5 (or 1) some day. =)
 
  
Other stuff:
+
== BerryBots ==
* '''TwinDuel''' - A 2v2, CodeSize restricted survivalist competition that I run weekly. The tourney consists of a round robin where everyone faces each other 1 or more times (these days, always 1) to determine the seeding for a traditional, single elimination bracket tourney, with the finals being best of 3. Originally, I just automated the round robin, but now the entire tourney is automated. Get the source code here: [http://www.dijitari.com/void/robocode/TwinDuelUtil_002.zip TwinDuelUtil_002.zip]. Thanks to [[Albert]] for his [[RoboRumble]] code, which I used to learn how to do some things, and copied a little code from, as well.
 
* '''[[/SegmentationResearch|Segmentation Research]]''' - Some machine learning methodologies applied to finding good [[Segmentation]] slices in targeting.
 
  
==== Where did you get that handle? ====
+
These days I spend my time working on a new programming game I developed: [http://berrybots.com BerryBots]. You write bots in [http://lua.org Lua] and the app runs on Mac, Linux, Windows, and Raspberry Pi. It has some cool new stuff, like walls, torpedos, programmable stages, HTML5 replays, and a pretty snazzy automation API. You can even try it on the web.
Once upon a time, my handle was "Void". (If you were around at the dawn of FPS internet gaming, you might remember me from PlanetQuake!) One night, I was "Darth Voidious" for a gaming session where we all played with Star Wars themed names (around the time of Episode I). Eventually, "Voidious" stuck, and the gaming scene got far too big for "Void" to be a unique handle... So after a bit of a hiatus from gaming, I got back into it a bit and used "Voidious" exclusively.
+
* [http://playberrybots.com Play BerryBots in a browser]
 +
* [http://youtu.be/2WQnYSs0cl8 BerryBots overview video]
 +
* [https://dl.dropboxusercontent.com/u/72179384/battle1-2015.07.27-15.25.10.html BerryBots replay - battle1: NightShade vs SANIC]
 +
* [http://berrybots.com/forum/viewtopic.php?f=1&t=17 BerryBots vs Robocode rules comparison]
 +
* [http://berrybots.com/wiki/Category:Sample_Stages Sample stages]
  
----
+
== My bots ==
 +
All my bots are open source. Older ones are under [[RWPCL]]. Diamond and RetroGirl are under [http://www.gzip.org/zlib/zlib_license.html zlib].
  
==== Comments, questions, feedback: ====
+
=== Active Bots ===
Welcome to the robocode addiction! -- [[Pulsar]]
+
* '''[[Dookious]]''' - My first real bot (by name, anyway), a duelist using [[Wave Surfing]], [[Segmentation]], [[Visit Count Stats]], and [[GuessFactor|GuessFactors]]. He was [[RoboRumble]] General 1v1 champ for almost 2 years (April 2006 to early 2008), but has since been bumped down to #8.
 +
* '''[[Komarious]]''' - A [[MiniBot]] duelist using Wave Surfing and GuessFactors/VCS. Cousin of the [[Wave Surfing Tutorial]]. Former MiniBot 1v1 champ, currently at #2.
 +
* '''[[Jen]]''' - A [[MicroBot]] duelist using [[Stop And Go]] + [[Random Movement]] and a GuessFactor/VCS gun. Just outside the top 10 of the MicroRumble.
 +
* '''[[LuminariousDuo]]''' - My [[Twin Duel]] team, currently using GuessFactor Targeting with VCS and [[Minimum Risk Movement]]. One of the top teams and #2 in the rumble.
 +
* '''[[BrokenSword]]''' - Born from LuminariousDuo, this is a [[melee]] MiniBot. It's around #13 in the MiniMeleeRumble rankings and needs an overhaul.
 +
* '''[[Diamond]]''' - A melee [[MegaBot]] and my main bot right now. Uses Minimum Risk Movement, Wave Surfing, [[Dynamic Clustering]], [[Shadow/Melee Gun]], [[Displacement Vector|Displacement Vectors]] and GuessFactors. Currently #2 in both Melee and 1v1.
 +
* '''[[BlitzBat]]''' - A melee [[MicroBot]] with a simple Minimum Risk Movement. Ranked #6 among Micros and #11 among Minis (yes, above BrokenSword!).
 +
* '''[[RetroGirl]]''' - A [[:Category:Perceptual Bots|perceptual bot]] with a pretty strong gun evolved by [[wikipedia:Genetic algorithm|genetic algorithms]] with [[User:Voidious/WaveSim|WaveSim]].
  
Man, you said it! It's good for my programming skills, though, so it's not as hard to rationalize as some of my previous addictions :) -- [[Voidious]]
+
=== Other or retired bots ===
 +
* '''[[Shaakious]]''' - An experimental duelist, named after [http://www.starwars.com/databank/character/shaakti/ Shaak Ti]. Used the movement from [[Dookious]] and a pretty strong (for the time) [[Pattern Matching]] gun. Retired / abandoned.
 +
* '''[[Tyranius]]''' - A cross of the [[Wave Surfing]] movement from [[Dookious]] and the amazing targeting of [[Ascendant]]. Version 1.0 hit a rating of 2092, over 10 points ahead of Dookious at the #1 spot at the time.
 +
* '''[[Lukious]]''' - Built from the shell of Dookious, Lukious is a duelist that uses [[Dynamic Clustering]] for data analysis in both movement and targeting. Retired after the release of Diamond.
 +
* '''[[KomariousTeam]]''' - A [[Twin Duel]] team based on my mini surfer, [[Komarious]]. Started out as a very average team, but I left it in the tourney for the sake of variety. Then [[User:David Alves|David Alves]] came along and tweaked it a bit, making it a very strong competitor for a while. Still a Twin Duel entrant, but I don't work on it.
 +
* '''[[Codious]]''' - A melee / team bot (only melee was ever released), using [[Minimum Risk Movement]] and the same (but differently configured) Pattern Matching gun as Shaakious. Never found much success. Retired.
 +
* '''[[/TripHammer|TripHammer]]''' - This started as a [[wikipedia:k-means clustering|k-means clustering]] gun experiment, but is now the companion bot to [[User:Voidious/WaveSim|WaveSim]] and code name for some of my 1v1 gun work.
  
I couldn't find any page for "miscellaneous discussion", is there one? Anyway, I wanted to point out this contest: <BR>
+
== Utilities ==
[http://www.joystiq.com/entry/1234000283066508/ Tank Wars competition seeks smart AI programmers]
+
* '''[[RoboRunner]]''' - A multi-threaded Robocode battle runner. Designed to be easier to setup and faster than [[RoboResearch]].
<BR>
+
* '''[[WaveSim|WaveSim]]''' - A utility for testing gun classification algorithms against pre-gathered data sets outside of Robocode. Includes data collecting bots, testing infrastructure, and source for everything.
It's an invite-only competition, EA Games looking for AI game programmers... You can still download the package if you want, but you can only enter the competition if you go to one of the 14 eligible universities. Man, I'd bet some of you top-notch Robocoders could own this thing. -- [[Voidious]]
+
* '''[[/BedMaker|BedMaker]]''' - A Perl script for generating test beds from a set of criteria. Designed as a companion to RoboResearch, also compatible with RoboRunner.
 +
* '''[[/LocationBot|LocationBot]]''' - A helper bot for testing [[Precise Prediction]] code.
  
Wow, I go to one of the 14 eligible universities... but I don't know C++ and the competetion is over. Other than that, boy, I bet a quick guess factor gun implementation and some nice random movement would be useful. -- [[Alcatraz]]
+
== Other stuff ==
 +
* '''[[Twin Duel]]''' - A 2v2, [[Code Size]] restricted [[survivalist]] competition that I once ran weekly. The tourney consists of a round robin where everyone faces each other in round robin preliminary matches to determine the seeding for a traditional, single elimination bracket tourney. This hasn't been run for a while, but it might be coming back soon.
 +
* '''[[/SegmentationResearch|Segmentation Research]]''' - Some machine learning methodologies applied to finding good [[segmentation]] slices in targeting.
 +
* '''[[/History/Innovations since 2005|Innovations since 2005]]''' - Tired of hearing so many Robocode newcomers complain that there's nothing new to be invented/discovered in the Robocode arena, I started compiling a list of notable innovations since the advent of [[Wave Surfing]] in 2005.
  
When will we see the new Dookius in the rumble? -- [[PEZ]]
+
== Where did you get that handle? ==
 +
Once upon a time, my handle was "Void". (If you were around at the dawn of FPS internet gaming, you might even remember me from [http://www.planetquake.com PlanetQuake].) Actually, before that, my [[wikipedia:Quake|Quake]] news site was called "The Void" and people thought it was my handle, so I adopted it.
  
Probably tomorrow... I'd like to rush it out and see how it ranks, but I am thinking of taking a short break from Dookious after this version, so I want to polish it a little bit first. (Plus I've released 4 versions into the RR in the last week.) There are a lot of aspects of Robocode that I haven't really explored much, and I would really like to toy with some various ideas soon. I doubt I'll be able to stay away from Dookious for too long, though... -- [[Voidious]]
+
One night, around the time of Star Wars: Episode I, a group of friends and I used Star Wars riffs on our handles while gaming, as a joke. I was "Darth Voidious", and I occasionally used it as an alternate handle when gaming online. Eventually, "Voidious" stuck, and the gaming scene got far too big for "Void" to be a unique handle... So at some later point, I returned from a gaming hiatus and used "Voidious" exclusively from then on.
  
Too bad. Just throw it out and while waiting for a rating on it tidy up and polish it some. I'm curious! -- [[PEZ]]
+
[[Category:Bot Authors|Voidious]]
  
Well, OK, if you say so ;) I'm heading home now, I'll post it within the next 30 mins or so. -- [[Voidious]]
+
__NOTOC__
 
 
I posted version 0.69, since the next release was going to be 0.70. It skips a lot of turns when I have CPU constant set to 1, something I was going to work on before 0.70, but I have my RR client set to 100 now, anyway. (It didn't take much of a performance hit when set to 1, anyway.) -- [[Voidious]]
 
 
 
Wow, the air really is thin up there! I thought 0.70 would crack 2,000, but it's looking like it won't. Maybe I'll release *one more* version before taking that break from Dookious... ;) -- [[Voidious]]
 
 
 
A belated congratulations on 2000, by the way. [[Florent]] was the only person to break the barrier in 2005. You've kicked 2006 off to a great start! --[[Corbos]]
 
 
 
Thanks! I was extremely excited about that. I was workin' on Dookious a *lot* for several weeks before that, and now I'm really enjoying taking a break from him to try some other stuff... -- [[Voidious]]
 
 
 
I spent much of yesterday tinkering with my first team, and got it to a very basic functional state. What a pain in the neck! That might be the last chance I ever give to AntiGravityMovement - it's generally so simple that it seems like a promising idea, but I feel like I have zero control over my tanks when using it. I will probably try some MinimumRiskMovement and/or some MultiMode strategy ideas next. Pain in the neck or not, it seems like a lot of fun! -- [[Voidious]]
 
 
 
My attempts went from '5 Ugluks' to '5 Ugluks that didn't shoot each other' to '5 rambots that focused on one target at a time determined by the most senior bot alive in a chain of command' but that was a colossal failure due to the friendly fire that ensued.  I spent about two days working on it around Thanksgiving and a few weeks ago I removed the last of the related code.  -- Martin
 
 
 
Hehe, sounds a bit like my development process so far. Of course, you have a working melee bot, so you probably have a much better grasp of strategies with that many tanks on the field. Right now I'm happy to get over 33% of total score against any of the teams rated around 1600. -- [[Voidious]]
 
 
 
It helps a lot if you have any melee-experience, even if it is just about how to handle the radar. Note that radar only has a 1200 scanrange. Most teams just are 5 meleebots put together, which leaves the door open for some 'real' strategy. [[Troodon]] is a very simple and successfull melee and teambot and one of the few that makes use of droids, I lent its way of communication for GrubbmGroup. My tip is to start with a simple gun and concentrate on movement. And watch your battles, it gives much more info about what goes right and wrong than the results can tell.  -- [[GrubbmGait]]
 
 
 
Whoah, I thought I was at the wrong site for a moment when I saw this headline: [http://www.joystiq.com/2006/03/03/cyanide-launches-loki-web-site/ Cyanide Launches Loki Web Site] ... =) -- [[Voidious]]
 
* It's not my kind of game, but at least the name sounds good. --[[Loki]]
 
 
 
A no. 1 rating at 486 battles and a positive momentum: will Dookious be the new top-bot and Voidious the new king? Stay tuned!
 
 
 
Anyhow, congratulations with your steady improvement on this strong bot. And i noticed you also entered the melee arena! So we will have to fear your presence there as well... --[[Loki]]
 
 
 
Thanks, Loki! I'm quite pleased with the latest rating, and I'll enjoy my time at the #1 spot, but the [[History/KingsOfRR|official crown]] certainly still belongs to Ascendant, since I'm sure his best version would outrank Dookious by a good 10 points.
 
 
 
* hehe, you wrote "I'm quite pleased with the latest rating" but i bet you are walking around with a permanent ear-to-ear grin on your face!!! And its earned! (reading this it's almost as if the British flag in front of Dookious is better suited ;) ) --[[Loki]]
 
* Ha, that comment made me laugh =) I guess "pleased" might be a slight understatement ;) There's a margin of error on anything I post about before lunch... -- [[Voidious]]
 
 
 
And it might be a while before it's worth fearing me in the melee arena. That fear is probably better placed upon [[Florent]] at the moment. But I'll keep working at it... =)
 
 
 
-- [[Voidious]]
 
 
 
My sincere congratulations to you! Real 1st place at RoboRumble. I can only hope, that one day my bot will enter first ten at least. -- [[DemetriX]]
 
 
 
Wow. I turn my back for a second and you take the #1 space - a very sincere congratulations! I look forward to seeing what kind of hornets nest you stirred up there. Well done. --[[Corbos]]
 
 
 
----
 
 
 
I started using [http://en.wikipedia.org/wiki/Darcs Darcs], a free revision control system that runs on Windows, this week. Spoiled by large amounts of disk space, sometimes I'll just make a copy of my whole [[Dookious]] code directory when I want to preserve something, but I do know just how "wrong" that is. I finally put in the effort to find a CVS-type system that I can use on Windows, and Darcs is working very well for me so far; it's definitely worth checking out if you're looking for one. I wouldn't mind hearing what other people use, if anything. (I'd guess some of the Unix-lovers use CVS, which I've used but have never setup myself.) -- [[Voidious]]
 
 
 
* Gah, I had seen the [[VersionControl]] page, but just found the [[CVS]] page. Maybe I'll give that [http://www.tortoisecvs.org/ TortoiseCVS] a try... -- [[Voidious]]
 
* I've been using Subversion happily for a little while, and there is a plugin for Eclipse which makes it so easy to commit new versions. -- [[Alcatraz]]
 
* I have been using [http://www.march-hare.com/cvspro/ CVSNT] since I started [[X2]] along with CVS plugin for Eclipse. It saved me few times. -- [[Florent]]
 
* I use nothing :o  Almost all my bots are using only one sourcefile. (and I also use [[Kawigi]]'s built-in editor)  -- [[GrubbmGait]]
 
 
 
I e-mailed PEZ right when this started, about 1.5 hours ago, just so you guys know. I hope he shows up sometime soon, but if not, it seems very likely to me that he (or I, if he wants me to) could write a script to revert the vandalised pages, and I don't doubt he could come up with some way of filtering out the SPAM edits in the future. I wish I had the time to keep helping with the reversions, but I have a research paper to work on, unforuntately. :( -- [[Voidious]]
 
 
 
Sorry for the rudeness but... HOLY FRICKIN CRAP! Whoever did this(and their bot) should be shot in the testicles! -- [[Xero]]
 
 
 
----
 
 
 
Well, I picked up a MacBook (white, 2 GHz) today, and I am loving it so far. I've only got 512 RAM right now, and I'm going to upgrade to 2 gigs on my own since Apple would charge $450 for that upgrade (sheesh!). I haven't collected hard numbers on how it compares to my AMD2000 Windows machine in Robocode speed just yet, but it seems to be noticeably a bit faster (as I would hope). Also, this machine is still completely usable even when running an intensive benchmark; and I was able to run 2 separate Robocode matches at the same time with seemingly no slowdown. I haven't found anything to let me manually assign a process to a specific core on a Mac, but if anyone knows how, feel free to let me know.
 
 
 
Of course, even if the speed of Robocode were just ''not worse'' than my AMD machine, I would still be very happy to be using Mac OS X instead of Windows =) So I am quite a happy camper right now. I hope you other Americans are having a good holiday weekend!
 
 
 
-- [[Voidious]]
 
 
 
Have fun with the new machine. =)
 
 
 
Hey, I remember reading somewhere that you changed your RR@H client to fail quickly if the repository was unavailable. Could you send me the class files for that version? My contact information is on ContactInfo. --[[David Alves]]
 
 
 
I sent you my version (which should be the same as [[Voidious]]'). This version will never download a bot from the repository, if it is available or not. This means that I download a bot manually if necessary and put it in the 'robots' directory. -- [[GrubbmGait]]
 
 
 
Ah, beat me to it! :) Anyway, I posted my .class files for that version online, too: [http://www.dijitari.com/void/robocode/roborumble_norepository.zip roborumble_norepository.zip]. It's just replacing the part after the "if" in line 205 of netengine/BotsDownload.java with "return false", instead of formulating the robocoderepository.com URL based on the id number. -- [[Voidious]]
 
 
 
----
 
 
 
Snipped that discussion over to [[TwinDuel/2v2CompetitionIdea]]. -- [[Voidious]]
 
 
 
----
 
 
 
I'm taking a machine learning course at school this semester, and one of the books we are using for the class is available for free online, with the stipulation that you don't print it. (It's also sold as a "real" book by a publisher.) It assumes some familiarity with some high-ish level math, but I figure some of you might find it interesting: [http://www.inference.phy.cam.ac.uk/mackay/itila/ David MacKay: Information Theory, Inference, and Learning Algorithms] -- [[Voidious]]
 
 
 
----
 
 
 
Thanks for running those TC battles; though, please don't feel obligated to make up for my laziness. ;) I'm running a few MC rounds to make up for it... - just hard to balance everything with robots, family, work, and my [http://handmodel.co.uk/ hand modeling career]. Cheers. --[[Corbos]]
 
 
 
Don't worry, I feel no obligation =), I was just curious to see the scores on your latest release. It looks like [[Chalk]] is a strong contender for the most accurate DC gun out there - very impressive. And besides, it's always nice to flex my MacBook's Core Duo muscle during lectures ;) -- [[Voidious]]
 
 
 
[[Shadow]]'s got nothing to fear for a while. I've noticed (regretfully) that most of my improvement is against the more simple bots. My PL scores remain wanting. Still, my robofire is refueled. I've got a couple more ideas before I go dormant. What's the class schedule like this semester? Don't you have a couple theater credits left so you could go easy on us for a while? --[[Corbos]]
 
 
 
Well, only one specific class "required" for my degree (it's my last semester), so I get to take my other classes as pass/fail, which is nice. However, like the dork I am, one of those "electives" is a Senior / Grad level Machine Learning course. On the one hand, it might consume my time so that I have less for Robocode; but on the other hand, it's possible I'll learn something that will help in my Robocoding. =) We're soon looking at k-means clustering. -- [[Voidious]]
 
 
 
Growing a little frustrated by my recent work on BrokenSword, I turn back to an ancient problem that I've never quite solved: hitting [[Shadow]]. =) -- [[Voidious]]
 
 
 
 
 
----
 
 
 
By the way, have you finisced your NaNoWriMo? I enjoyed the beginning and would like to read the whole story! --[[Krabb]]
 
 
 
Hey, I saw your comment, I appreciate that =) Unfortunately, with everything else I had going on in November, I failed miserably to finish my story again this year. But I was really enjoying it, so maybe I'll pick it up again even though I missed the Nanowrimo deadline. Thanks for checking it out, man ;) -- [[Voidious]]
 
 
 
Well, it's about time I post the reason for my recent hiatus: I've spent the last month or so moving to / starting my new job. I should be at least a little more active again in the next week or two, but we'll just have to see what happens. There are still some more pressing concerns, like adding to my miniscule quantity of furniture. =)
 
 
 
I'm certainly still reading the wiki regularly. I know I missed the TwinDuel this past week (without notice, too, sorry), but I'll get it going again this week, for sure. Maybe I'll even find time to try and improve LuminariousDuo in time or work on that TargetingChallenge2K7 score.
 
 
 
-- [[Voidious]]
 
 
 
 
 
Hey [[Voidious]] i was wondering if you knew how to setup a robot project in xcode so that xcode will compile the bot and copy the class files back to the robots directory in Robocode after a build. Thanks!! -- [[Gorded]]
 
 
 
Sorry man, I really don't know. I haven't played with XCode all that much yet, though it's always on my list of things to do. I just use Eclipse for Robocode. -- [[Voidious]]
 
 
 
Hey, who was that from rpi.edu that just edited / reverted the main page? That's only about an hour away from me and I know a couple people who go there. Just curious. =) If it's someone new and you'll be hanging around, feel free to make a page for yourself and your bots. -- [[Voidious]]
 

Latest revision as of 20:36, 27 July 2015

Background

Youtube
Youtube has a video of Voidious and Riker in action: click here to watch

I'm a 34 year old software developer, dog lover, and former Robocode addict. I took a stab at writing bots in late 2002 just before starting college, but never got much past Linear Targeting and Random Movement. I took another look in Fall of 2005, and in less than a week, I was completely hooked! Dookious emerged and took the 1v1 throne about 6 months later.

I'm currently in charge of the RoboWiki, handed the reigns by PEZ in 2007. It's truly a whole community that keeps this site alive, though, so I just do my best to help make that possible. You can probably consider me retired as a bot author since late 2012.

I'm also...

BerryBots

These days I spend my time working on a new programming game I developed: BerryBots. You write bots in Lua and the app runs on Mac, Linux, Windows, and Raspberry Pi. It has some cool new stuff, like walls, torpedos, programmable stages, HTML5 replays, and a pretty snazzy automation API. You can even try it on the web.

My bots

All my bots are open source. Older ones are under RWPCL. Diamond and RetroGirl are under zlib.

Active Bots

Other or retired bots

  • Shaakious - An experimental duelist, named after Shaak Ti. Used the movement from Dookious and a pretty strong (for the time) Pattern Matching gun. Retired / abandoned.
  • Tyranius - A cross of the Wave Surfing movement from Dookious and the amazing targeting of Ascendant. Version 1.0 hit a rating of 2092, over 10 points ahead of Dookious at the #1 spot at the time.
  • Lukious - Built from the shell of Dookious, Lukious is a duelist that uses Dynamic Clustering for data analysis in both movement and targeting. Retired after the release of Diamond.
  • KomariousTeam - A Twin Duel team based on my mini surfer, Komarious. Started out as a very average team, but I left it in the tourney for the sake of variety. Then David Alves came along and tweaked it a bit, making it a very strong competitor for a while. Still a Twin Duel entrant, but I don't work on it.
  • Codious - A melee / team bot (only melee was ever released), using Minimum Risk Movement and the same (but differently configured) Pattern Matching gun as Shaakious. Never found much success. Retired.
  • TripHammer - This started as a k-means clustering gun experiment, but is now the companion bot to WaveSim and code name for some of my 1v1 gun work.

Utilities

  • RoboRunner - A multi-threaded Robocode battle runner. Designed to be easier to setup and faster than RoboResearch.
  • WaveSim - A utility for testing gun classification algorithms against pre-gathered data sets outside of Robocode. Includes data collecting bots, testing infrastructure, and source for everything.
  • BedMaker - A Perl script for generating test beds from a set of criteria. Designed as a companion to RoboResearch, also compatible with RoboRunner.
  • LocationBot - A helper bot for testing Precise Prediction code.

Other stuff

  • Twin Duel - A 2v2, Code Size restricted survivalist competition that I once ran weekly. The tourney consists of a round robin where everyone faces each other in round robin preliminary matches to determine the seeding for a traditional, single elimination bracket tourney. This hasn't been run for a while, but it might be coming back soon.
  • Segmentation Research - Some machine learning methodologies applied to finding good segmentation slices in targeting.
  • Innovations since 2005 - Tired of hearing so many Robocode newcomers complain that there's nothing new to be invented/discovered in the Robocode arena, I started compiling a list of notable innovations since the advent of Wave Surfing in 2005.

Where did you get that handle?

Once upon a time, my handle was "Void". (If you were around at the dawn of FPS internet gaming, you might even remember me from PlanetQuake.) Actually, before that, my Quake news site was called "The Void" and people thought it was my handle, so I adopted it.

One night, around the time of Star Wars: Episode I, a group of friends and I used Star Wars riffs on our handles while gaming, as a joke. I was "Darth Voidious", and I occasionally used it as an alternate handle when gaming online. Eventually, "Voidious" stuck, and the gaming scene got far too big for "Void" to be a unique handle... So at some later point, I returned from a gaming hiatus and used "Voidious" exclusively from then on.