Settings

Theme

Vindinium: An artificial intelligence programming challenge

vindinium.org

158 points by gren 12 years ago · 43 comments

Reader

jbarrow 12 years ago

If you're interested in this kind of thing and want a gentle introduction, I highly recommend CodeCombat [1], which offers both a single player version for learning the system and a multiplayer version for writing AI code.

[1] http://codecombat.com

  • codezero 12 years ago

    I might have accidentally downvoted your comment, sorry about that :(

  • digitalzombie 12 years ago

    Can you recommend other resources and reading materials other than this? I would like more on top of the provided links thank you. OP's url have got me interested in AI now, but mainly for solving puzzles like this.

  • gsaines 12 years ago

    Thanks for the +1 jbarrow, appreciate it!

  • nnoitra 12 years ago

    codecombat is awful. Lags a lot, has a bad UI and a lot of bugs.

    • gsaines 12 years ago

      Hey nnoitra, CodeCombat founder here. Sorry that we've treated you so poorly. I'd love to know more about your experience, namely what browser are you using, what's your internet connection like, how is your computer, and a few more. Shoot me a line at george@codecombat.com!

roryokane 12 years ago

I saw this a while ago and thought that I would love to try playing this game as a human, so I could explore different strategies, or just have fun. Well, that is finally possible.

I just created LiveHumanBot – a “bot” that really just lets you, a human, type in directions to control your character. Here is its code, with instructions: https://github.com/roryokane/vindinium-live-human-bot. I fare pretty well against other bots: http://vindinium.org/ai/p20qptiv.

  • Revex 12 years ago

    Now this is brilliant. I was thinking the same thing, "Man I'd like to play as a real person, before I build a bot." I feel silly now that I didn't think of building a software controller like you did. Also thanks for sharing the code. I'm gonna have to try it out.

kornork 12 years ago

This looks promising. Will this fill the hole in my soul that Google Ants left behind?

  • Scaevolus 12 years ago

    This doesn't have that magical "coordinate an army" feeling that the Ants contest had. :(

    The rules are very simple -- you control a hero, and you fight other heros to capture mines which give you gold. You can trade gold for health in taverns.

    Not too much strategic depth.

    • grenOP 12 years ago

      I was also perplex the first time I entered this project. You would be surprise how this simple rules is already quite challenging. This game is fully observable and also determinist, which give way to make much more complex AI I think. I see it a bit like Chess: Pretty simple rules but there is still a fight to have the best AI in chess.

  • phillc 12 years ago

    I share your pain.

vutekst 12 years ago

Can anyone comment on general strategies that would be applicable to this game? Has anyone tried some kind of crazy machine learning stuff, or is it dominated by relatively simple algorithms?

  • grenOP 12 years ago

    This game is fully observable and determinist so that is not the hardest situation. However there is still a lot of possible game states.

    I've started an attempt to have a tree of all possible actions and using a minimax algorithm (with a score function + alpha-beta pruning) but this is not yet conclusive because I can't explore so much deep (was able to explore up to 20 next player decisions but that is just 5 moves of your hero).

    I think this game is enough simple to try to have this approach but also challenging because there is still up to 5 possible actions per turn so it is a max of 5^1200 total of possible state for a game – a lot.

    My current approach is now to try to have a minimax with pre-explored interesting path in the tree (e.g. all path which leads to tavern and mines), that is still a lot of computations.

    • baddox 12 years ago

      When I saw the premise, I was expecting that the server would provide a line of sight for your hero each turn. You could even make the map initially undiscovered, and leave it up to the bot to "remember" what it discovers. I think that would make the game a lot more interesting, although also probably much more difficult to program bots for with standard techniques.

    • hrjet 12 years ago

      > This game is fully observable and determinist

      Off-topic, but are there any AI games which are not-observable and / or non-deterministic? That would be also a lot of fun!

      • sabirc 12 years ago

        theaigames.com has a risk-like game (with fog of war) and a poker competiton.

  • Cerium 12 years ago

    Best strategy I've seen from watching is to gain mines until you have a sizable portion, stay adjacent to a beer until you see someone you can kill, kill them, then go straight for a beer. If you are constantly using the beer you become invincible for only 2 gold per turn.

  • cheepin 12 years ago

    From observation, the beer thing's healing looks ridiculously overpowered, to the point where you probably can't fight someone near one

Twirrim 12 years ago

Is it normal for x to reference the vertical, and y the horizontal in such games?

Maybe I don't understand how they're normally represented. take this map: http://vindinium.org/4mx1xu9j

it returns the locations of the mines as: {(5, 9): u'-', (4, 9): u'-', (5, 0): u'-', (4, 0): u'-'}

So that top left most mine is 4,0 instead of 0,4 that I'd would expect.

It also has the location of my hero (althalus, right at the top left) as (0,1) vs my expected (1,0)

dom96 12 years ago

This looks really fun. Always wanted to participate in one of these. Good job on making it programming language agnostic :)

_lce0 12 years ago

I've found this great project some months ago.

I written a couple of robots which end up on this robot runner[1] mainly as a toy project for trying the game with some friends.

[1] https://github.com/eridal/Vindinium

kosinus 12 years ago

Oh, neat to see this here! This was part of a local competition I participated in several months ago. Nice to see it has improved quite a bit since.

I'm far from knowledgable on AI stuff, but I found this a great way to learn about some very basics, like pathfinding.

cheepin 12 years ago

I would recommend having bot names be case sensitive, as well as a limit on how many a user can register. I really like the first use UX, and how easy it is to get started, but you can register as many names as you want.

tylerpachal 12 years ago

This reminds me of a the Student Starcraft AI Tournament: http://www.sscaitournament.com

Rexxar 12 years ago

Does someone here has already created a bot for the game ?

  • serf 12 years ago

    there are starter kits available on the site.

    • Rexxar 12 years ago

      I don't ask for help, I just want to know if people are really trying to create a bot. Currently 90% of games are between only two AI. ("wolfie vs wolfie vs arthropod vs arthropod"). A competition like this one is much more interesting if there is a lot of players.

jxm262 12 years ago

Dude, this is awesome! I like it

Tjgjfhguej 12 years ago

It would be nice if the Java library allowed you to simply download the .jar instead of forcing you to use maven. This is supposed to be a game, not some massive web-scale project.

sytelus 12 years ago

Over use of term "AI" is back. It's 80s all over again :). These kind of "challenges" are no where close to AI. They are just bit complex program whoes behavior is fully programmed by humans and they are only good at for very very specific "challange". These programs would be unable to hold a conversation with humans or read a newspaper and create their internal belief system. Stop calling these things "AI".

ClayFerguson 12 years ago

Seems like something that Google or Microsoft would ask as an interview question. You have all day to complete it, on your laptop, but once done, no matter how much code it is, they want it transcribed from your computer onto a physical white-board, because the only thing they know how to read is white-boards. If you tell them they are crazy and try to end the interview right then and there, you are hired, because you have guts, and you know what can and cannot be done, and will not waste your time with jerks.

  • mrqwerty 12 years ago

    I don't get this. I could easily transcribe anything I could write in a day into a diagrammatic representation. Hell, I could do it for anything I could write given a large enough whiteboard. It might consist of complicated flow diagrams or fragments of mathematics, but it would convey the salient points. This seems like fanatical code worship, "code is the only appropriate representation for all analytic thought". Nonsense. Maths, state diagrams, uml, even prose are useful and in combination adequate languages.

    • jebediah 12 years ago

      He said transcribed, I guess he meant letter by letter

    • ClayFerguson 12 years ago

      I was making fun of how in love some interviewers are with the whiteboard. I can write great code, but not up on a damn whiteboard -- kina because I do this thing called "typing". Also I'm making fun of the absolutely ridiculous complexity of many of the 'brain teaser' type interview questions. IMO the correct response to a brain-teaser interview question is to talk out. Better yet, tell them BEFORE the interview you WILL walk out IF the try that route.

      • ClayFerguson 12 years ago

        Typo: "Talk out" was supposed to be "Walk out". Looks like you only have limited time to edit or something, because it won't let me fix that. Somebody please ding my karma again, I'm trying to see if I can make it go negative.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection