We took the idea of the recently viral game, and wanted to have an environment for making AIs play a similar games against each other.

What it does

Given some AI scripts written in Lua, our project plays them off against each other in a Unity project.

How we built it

We hooked up the Moonsharp interpreter to our project to interface with the AIs, and simulated their behaviour, calling on the Lua scripts to have the AIs decide what they wanted to do.

Challenges we ran into

Our original intention was to implement this in SpatialOS, and have a huge amount of AI instances running, with the map somewhat different in different areas. Since this would have been very difficult, we ended up downscaling and just having a few tens of each AI type in a standard Unity project.

Accomplishments that we're proud of

Interfacing with the interpreter was a challenge, since we've never done something like that, and it works great! Also, we've done all this with very minimal starting knowledge of Lua or even Unity/C#, so it was a great learning experience.

What we learned

We learned a lot about Unity, C# and using interpreted scripts as subprograms.

What's next for agAIo

We only had time to code up a few simple AIs with manual behaviours, but this might be an interesting basis for a machine learning project as well!

Built With

Share this project: