Green circlebots need blue energy, but they can't feed themselves. Give them directions to coordinate them into a loop of infinite sharing. Don't let them starve!

Help them fight boredom by making their movements as interesting as possible. More complex sequences are worth more! But they're also harder to make, and might take more retries to get right. What's important to you - effective efficiency or obnoxious overachievement?

This is my submission for Ludum Dare 39 compo. Here's the source: https://bitbucket.org/bobby_elser/ld39

How to play

Click a bot (green circle) to start giving it instructions. Click a slot in the sequencer to target it, then click the buttons at the bottom left to add an instruction to the selected slot. This builds the command sequence for the selected bot.

When you click the play button on the bottom right, you go to execution mode. All bots will run their commands one step at a time and in sync. When a bot runs out of commands it starts over from its first command. You can click the play button to restart execution, in case you want to see their performance again - it's helpful to review when something isn't working the way you thought it should.

Bots have limited energy, indicated by the fraction above the bot, and over time it's consumed. Moving takes one energy unit, waiting takes only half a unit. When a bot runs out of energy, it no longer runs commands.

Bots can move through open spaces (gray squares) and are blocked by walls (white squares) and power blocks (blue squares). Bots cannot occupy the same space, and if multiple bots try to enter the same space they will all fail and stay where they are.

When a bot bumps into a power block it picks up a battery (blue dot over the bot). When a bot with a battery bumps into another bot, the other bot gets recharged to full energy. Note: the bot without the battery has to be bumped into - power must be given, never taken!

The main goal is to program the bots in such a way that they never run out of energy. The game will watch them run, and if they haven't died after a certain number of turns then you win the level. If they all die, then you'll have to go back and revise your solution before trying again. Return to edit mode by clicking the back button on the bottom left corner.

Even if you win a level, you can probably improve your solution. The more complex a solution is, the better! You can choose to stay and revise your solution or continue to the next level. If you stay, you can leave at any time by pressing the escape key to bring up the victory screen again. The game keeps track of how many retries it took to get things right (i.e. the number of times you entered execution mode).