Compete Against Our Developers!

We think we’ve invented a new game. Imagine a grid with fruit scattered upon it.
game screenshot
There are two robots that start on the same cell. Given simultaneous turns, they decide if they want to move or pick up the fruit from the cell they’re standing on. They are told where all the fruit are, what the score is, and where both bots are every turn. The objective of the game is to win as many fruit groups as they can. To win a fruit group, they need to have picked up the most of that type of fruit. Ties can happen when both bots decide to pick up the same piece of fruit on the same turn.

Our developers have created some bots and we challenge you to create a bot to beat them. Bots are written in Javascript. Our backend servers will throw each bot into a sandbox. When we are ready to begin a game, we notify the bots and allow them to access information about the board. At each turn, we call their make_move functions to find out what they want to do. (Details can be found in our bot api.)

To make development easier, we put up a little local development framework on github. Here, we give you a little starting bot that randomly chooses somewhere to go, but always picks up a piece of fruit if he’s standing on it. We also mocked out the server in way to allow you to play against our “simplebot”. “simplebot” is really just a breadth-first search. It’s actually written recursively, though that seems to be okay for the given time and memory contraints given that boards can at most be 15×15 and have 25 items.

The bots written by our developers employ a number of different strategies. “fruitwalk-ab” tries to predict the opponent’s moves and does some minimax with alpha-beta pruning. “Blender” and “Flexo” mostly ignore the opponent and go by a number of heuristics trying to decide the best piece of fruit to go for at a given time. Some of our other developers prefer to remain hush-hush on how their bots are written.

We hope you enjoy our game; we’ve certainly enjoyed writing it. Read more about it here.

14 responses to “Compete Against Our Developers!

  1. A

    The bot upload page is a 404

  2. I am just learning about AI and various algorithms used to create autonomous agents… so this is fantastic! Can’t wait to dig into this over the weekend!

  3. Here’s a suggestion. Have your programmers compete against me. I run an open source project.
    Rather than waste time with trivia, have your programmers contribute to my project. That way we
    all get to see who can program and the world benefits with real code. I have hundreds of problems
    waiting, ranging from hacking AJAX or canvas tags in the browser to implementing symbolic
    indefinite integration special cases. Heck, I even have documentation issues for those who don’t code.

    Why, oh why, do companies waste valuable programmer time with this nonsense? Pick an open
    source project and ask potential candidates to contribute. Then evaluate their contributions. That
    way you can see all kinds of interesting things, like … can they code? can they fit into an ongoing
    project? can they follow standards? do they interact well on the mailing list? do they make proper
    patches and repository commits? have they balanced the project concerns with their interests?

    Come on, guys. It’s the late 90s. Grow up and stop with the stupid “can you do this” tricks.
    Google, Microsoft, and all the other companies have completely ruined the whole interview
    process. Even Google’s head of HR (umm, people resource manager or some such “hip” title)
    has decided that their interview process is broken.

    Stop playing follow the leader. Innovate. Point at your favorite open source project. Hire the
    candidate that contributes “best” based on a range of demonstrated criteria. You win, they win,
    the project wins.

    Tim Daly

  4. Account-jaded

    It’s unfortunate you must have a Scribd account to participate. I do not want to create a Scribd account, but it seems like it would be fun to participate in this competition. I would appreciate it if you could remove the requirement for a Scribd account in order to participate.

  5. Oh man. This website is amazing. How did you make it look this good !

  6. Loved the idea! Sounds great! Ignore the boring programmers

  7. bot are evil programs and i like bots 🙂 they ease my work.

  8. bot are evil programs and i like bots they ease my work.

  9. It’s remarkable in support of me to have a site, which is good designed for my experience. thanks admin

  10. I’m not sure why but this web site is loading incredibly slow for me. Is anyone else having this problem or is it a issue on my end? I’ll check back later on and see if the
    problem still exists.

  11. I read this paragraph completely regarding the resemblance of most
    up-to-date and previous technologies, it’s amazing article.

  12. Thanks for finally talking about >Compete Against Our Developers!
    | coding@scribd <Liked it!

Leave a reply to A Cancel reply