Automabot Battler

by neilo
Overall★★★★★★★★★★3.31
Fun★★★★★★★★★★3.10
Innovation★★★★★★★★★★4.07
Theme★★★★★★★★★★3.21
Graphics★★★★★★★★★★2.93
Audio★★★★★★★★★★2.67
Humor★★★★★★★★★★2.20
Mood★★★★★★★★★★2.92
Coolness★★★★★★★★★★45%
Test your skills at implementing a simple AI program, and pitting it against a tougher robot!

This requires WebGL, and probably an alrightish GPU (May run on a Chromebook, let me know if it does!). If there is demand I may put together a Windows & Linux build for this, but my aim here is to avoid needing native builds anymore.

Each time you win, the tougher bot will take the AI you beat it with, forcing you to improve your own program more be it through brute force spam attacking it, or be it through simpler means by evading quickly, healing at the cost of some energy, or annoyingly circling it until you can blast it with a higher power weapon.

Each bot has both health (green bar), and energy (blue bar). Energy will charge, and is used for firing weapons and healing. This will also charge over time.

The program works quite simply, a single command is a "Condition" and an "Operation". Each condition and operation can have a value associated with them (to the right of them in the UI). This value is called (X) below.

The conditions available are:

"!" - Never do this. Used to do nothing.
"*" - Always do this. Will always execute this operation.
"EX" - Do operation when enemy greater than (X) units from you.
"StX" - Do operation when starting point is greater than (X) units from you.
"AtX" - Do operation when our health is greater than (X)%
"EnX" - Do operation when our energy is greater than (X)%

The operations are as follows:
"Set" - Set current state to (X). State is denoted by the number on the left of the command.
"M-X" - Move to within (X) units of the enemy.
"M-St" - Move to within (X) units of our starting point.
"AvAtX" - Avoid attack by moving (X) units out of its way.
"At-WpA" - Attack using Weapon A. Weapon A is fast, low energy cost, but low damage.
"At-WpB" - Attack using Weapon B. Weapon B is slow, high energy cost, and high damage.
"Heal" - Heal ourself (X)% by using some of our energy.

Comments18

Wezley8 Dec 2014, 03:44
Incredibly complex, I like it though.
igneousmoon8 Dec 2014, 06:28
Had a few goes, it's complex but you can create a pretty powerful bot if you refine for a while, pity that makes the enemy stronger too :P
NeiloGD
NeiloGDauthor8 Dec 2014, 06:56
Just don't make the bots *too* good ;)
mrexcessive8 Dec 2014, 17:28
Hi there. Like the idea. I think it may need a simpler way in. Not sure much need for state label and go to state without any conditionals. Making player play their own algo at next level is a clever way to self-balance the game and keep it challenging. Good job!
NeiloGD
NeiloGDauthor8 Dec 2014, 21:19
mrexcessive: The state stuff was sorta put in. Each statement also has an implicit conditional on it, so I've done an example that switches state in an attempt to only evade and heal (the fewer instructions the lower latency on response). I did want to make it a bit more complex and become more programmable by using a simple assembly language, but I felt that would have just complicated things further. Thanks for the feedback though, glad you like the idea!
NeiloGD
NeiloGDauthor8 Dec 2014, 21:20
By sorta put in, I meant sorta forced in. Was originally just jumps but it was too complicated to work with reliably.
voxel9 Dec 2014, 07:48
This is certainly the most approachable Write Your Own Killer Robot game I've played. I like that you didn't over simplify to the point of stupidity, but I can see it being possibly too complex for non programmers. Nice work, would deathbot again
Renaldo13 Dec 2014, 14:31
It's fun to play, but it takes some time for you to understand how to control the bot. I got confused with the distance units and the spread and power of the weapons. It would be fun to see your bot battling bots made by other people.
snickersnacks
snickersnacks14 Dec 2014, 21:41
I'll be honest, this is way too complicated for me to want to play it for long. I have to keep going back to your entry page to reference the rules. It seems other people enjoyed it though.
6DownStudios
6DownStudios14 Dec 2014, 21:45
Really awesome idea! Team battles could be neat, 2v2, or even 8v8 with different area attacks (line, cone, etc). Might also be fun to set up a free-for-all arena with a bunch of randomized bots, and use the victorious bots' data as a seed for the next generation of bots. Natural selection at work!

Well done!
erik15 Dec 2014, 08:09
You've built a really cool system. I found it hard to get into it though. And once I did, it seemed like it was really easy for any bot that uses heal to stalemate really quickly. It also seems like the energy requirement on weapon b is way too high for it to ever be useful.
Lovelock16 Dec 2014, 08:51
Bonus points for an ambitious game concept. I always liked games where you don't have direct control over your characters and such. Sort of set it and forget it and hope you were clever enough to win. Neat idea. I'd love to see it refined!
d3garcia22 Dec 2014, 04:59
I love the game.
Topaz Studios22 Dec 2014, 10:06
Really cool design base. Found it kinda complicated but I felt more at home with the programming inspired instructions, instead of the oversimplified controls most games give nowadays. Good work xD!
mohammad30 Dec 2014, 01:05
Complex but a lot of ways to dig into the game. I kinda like it.

Other games by @neilo

Found a bug?
Tell us on Discord