Hacker News new | comments | ask | show | jobs | submit login
TheAIGames – Develop your coding skills by competing in various AI competitions (theaigames.com)
236 points by ceyhan on May 6, 2016 | hide | past | web | favorite | 39 comments

Still need to take a closer look, but this looks very cool! I kind of wish I could see more without signing up. All the attract text is kind of empty of content. I'd especially like to see the API or even how long it takes to get started per competition.

Does anyone have a name for this genre of game? "Programming game" is pretty useless as a search term. I'd like to find a community for this, since I built two of them and have no idea where to find players or get feedback.

for reference, though these are probably far too niche games to really get lots of play: Bang!: https://github.com/KevinMcHugh/mustached-nemesis The Resistance: https://github.com/KevinMcHugh/secret-nemesis

https://www.codingame.com have similar AI contests. In the current contest they introduced some interesting features that help getting started. Participants are divided into multiple leagues, so you don't have to face top solutions immediately. Lowest league have simplified rule set. You can advance to next one by having higher rating than certain organizer bots.

I've wondered about building an AI tournament for Avalon before, as my feel from playing and discussing it is that success in the game is strictly dominated by social strategy.

It would be interesting to test out different bot strategies - I'll take a look later. :)

That's exactly why i built this. The groups I've played resistance with all build up their own rituals or micro optimizations and I'm not sure whether they're effective or not. For instance, I know certain players who will always vote against the first proposed mission team, in order to force more selection and discussion. Do they win more as resistance? If so, does it hurt their spy win percentage?

I intended to let the bots chatter in certain rigid ways, such as making accusations, but life has kept me busy or working on other side-projects, so it's a little unfinished.

Thinking of a genre for this game is actually a good idea. I recall that the last time I saw something like this I think it was a google challenge where they had some kind of spaceship attack game where they pit user submitted AI's vs each other.

That would have been Planet Wars. Other 'Google' challenges open for public were Tron and Ants.

I think a good search term for these things is "ai challenges" or "ai competitions".

I really like these competitions for learning (new) languages.


You can contact us at developers@theaigames.com Then we can look at your projects and publish it at theaigames.com if it's suitable. The future idea of theaigames.com is to make a community where developers also can publish their own games.

The Hello World Open was super fun a few years ago; code the AI for a slot car. Their site says they'll hold it again this year:


Yes, although it might be a different challenge than coding the AI for a slot car. "The challenge for 2016 is yet to be revealed."

This like codingame i suppose? So many competitions/puzzle sites out there. I'm definitely liking the AI trend lately, and the game one.

If you like these kinds of game AI competitions and are looking for a more serious challenge, you should have a look at [0] (Starcraft Broodwar leaderboard and yearly tournaments). Most mainstream programming languages are supported out of the box (C++, Java, Python, etc.) and there is an active community around the process of bot development. IRC channel: [1]

Besides, talks are that this is the next problem the Google Deepmind team is going to tackle.

[0] http://sscaitournament.com/

[1] http://webchat.freenode.net/?channels=BWAPI

i recently tried to implement a monte carlo ai for four in a row, so i thought i'll give this a try.

downloaded the java starter bot and reuploaded it again without much modification. failed.

first, there's a null pointer exception as soon as you try to use the "field" object in the unmodified starter bot. if fixed this.

but now i get:

    Error dump
    Java HotSpot(TM) 64-Bit Server VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
    Error: Could not find or load main class BotStarter
    Input dump
    Output dump
    Running testcase /opt/aigames/etc/tests_fourinarow/test_fourinarow.txt...
    Testing Bot with setup input...
    ... finished testcase in 0.170000001788 seconds
    Test failed: no output

that's it. nothing else.

so a) without having a method of painless local testing before uploading, it gets very tedious and b) the error message "Error: Could not find or load main class BotStarter" doesn't help me much in this case because i do have a class BotStarter with the method main - it's pretty much the starter bot right now.

edit: looks like for local testing i can download the engine source and run it locally.

edit 2:

    javac -d classes @sources.txt
    java -cp bin com.theaigames.fourinarow.FourInARow ...
looks like this wasn't tested on windows.

edit 3:

got it to run locally. output is:


even in dev mode. i have no idea if it worked, what i did, which bot won, etc.

i'm giving up.

Sorry, but these contests seem pretty blank to me. Still missing the old good IBM RoboCode. That one was dynamic and fun.

Yes! oh, these memories... I may still have the sources of my bots around. Nasty algorithms with zone based tactics, opponent learning with neural nets, stochastic movement patterns, wheeesh.

We are still busy with new games, tron, kriegspiel and ludo are the next ones coming. Will ask the developers to look on robocode also. Thanks for the tip! :) If you have other nice games for AI, please let us know.

I'm the maintainer of LiteRumble [1], which is the official continual rankings of all Robocode bots. The Robocode install includes a client, which (offline) runs the battles that then get uploaded to the LiteRumble server, similar to SETI/Folding@home.

If you need anything on the Literumble which would help with an integration, don't hesitate the let me know. Discussion about developement of all Robocode related things happens on the RoboWiki [2].

1. http://literumble.appspot.com 2. http://robowiki.net

Thank you! Looking forward to see your new games, especially since you support Rust ;)

I used to play RoboWar way back. This looks like a similar game. Did this replace RoboWar due to cross platform capabilities? I couldn't find any compare/contrast on the two systems. Anyone have any insight on whether they are related?

Robocode has bots written in real Java, and from what I see is more real-physics based. The graphics are more modern, and it is still actively maintained (although it is fairly mature now, bugs are still fixed in usually under a week). Also, in Robocode everybody gets the same capabilities, and everything is up to the AI you write.

What it really needs is a fresh infusion of people, although the barrier to entry for getting a bot in the top-10 is pretty high these days. Your best bet is probably trying for teams, twinduel or a codesize-limited melee bot.

Check out http://robowiki.net for more info.

Very cool. Thank you for the summary -- it does look interesting. I like the use of a real programming language and level playing field in terms of capabilities. It would be awesome if it could be made into an OpenAI gym environment. Although OpenAI is python, so there would probably be quite a bit of code to integrate them properly. I bet it would give a significant infusion.

Incredible!!! Thanks for sharing. Will try this out soon hopefully :D

Hi OP. I was thinking the exact same thing recently. Is this yours?

Hi Demircan, Can you explain more with what you mean with " I was thinking the exact same thing recently"

Look like fun. I assume Erlang is supported, since they list Elixir? I second the vote for CUDA support!

What is the motivation for the company/organisation behind this website?

Primary motivation is to create a comunity wehere programmers can develop their coding skills in a fun and engaging way. We also make it possible for university's to easily host an AI competition privatly for educatinal purposes e.g. pub.theaigames.com. You can check www.riddles.io for more info.

I have always loved these kinds of games.

Seems like all the links are hard-coded to use http. Any chance you can get the site to work properly over https?

Are you considering Swift support?

It's a good question, I will ask the developers to support and come back to you with the answer.

Sorry, i haven't looked at the website yet, so what I may be asking might be pretty vague and far from reality.

Is the bots api available over http (get/post/whatever)? If no, will it be possible to have one? It will allow a whole lot of programming languages to be used. Just authenticate your bot using some token generated by the website, and then run the bot on your own pc or some server. It will allow us to play with the website with our favourite programming language even if you guys don't officialy support it.

For eg. currently my favourite programming language is Red. It is still in alpha, and is relatively unknown to people, so I don't think that there are any chances to get it supported on the website. But api over http would allow me to play with it as well.

All communication is done through standard IO between your bot and the server. Opening sockets in your bot is currently not allowed, as this could lead to unfair advantages for players with faster computers.

We're always looking to add more programming languages, so if you come up with a starterbot in Red, we will consider adding support for the language.


Right now I am busy, after some time I will work on it...

Where do I contact you if the starterbot is done?

BTW where do I find the starterbots for other languages?

Edit: nvm, found them...

Probably that could be done, but for each round you get X milliseconds. If you would run your bot on your pc via api, you could have an unfair advantage, because you could run it in a 64 core cpu (for example) and you have more "time" to do calculations. I really like their idea. It's easy and fair. Also, they do support a lot of programming languages


We're always looking to add more programming languages. If you can provide us with a starter bot in Swift, we'll be able to add support for the language.

Why??? No... CUDA???

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact