We took the idea of the recently viral game agar.io, 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!