Jump to content

OpenRCT2 as a Test-bed for AI


smearle

Recommended Posts

Hi all,

I'm an independent researcher/hacker, and I've been applying Deep Reinforcement Learning (i.e. Pavlovian coonditioning of Neural Networks) to open-source SimCity 1 (aka Micropolis). Check out the code.  For the most part I've trained agents to maximize population, with pretty good results; they can cram a small map full of condos and cul-de-sacs, exploiting quirks in the game's traffic and economic simulations. I talk about some of this work in more detail in a recently published paper.

I'm interested in undertaking a similar project with RCT2. This would mean wrapping the game engine as a Python object using Cython/SWIG. I've started fiddling with the compile process; it seems doable in theory, but this isn't my area of expertise.

What I want to ask the devs/community is: is there anything in particular that would prevent me from wrapping the game in Python?

And if we decide the project is indeed relatively doable, then would anyone (preferably with knowledge of the game's compile process, Cython/SWIG, or C++) be interested in working on such a wrapper?

The resulting environment for planning/training agents could turn out to be a real boon for the AI community (there is a real dearth of RL environments with mixed/open-ended objectives), and the resultant AI research could provide some insight into the mechanics of the game, a bit like large-scale, automated play-testing for the developers. To my knowledge, it would be the first RL environment built around a popular, actively-maintained open-source game.

I also think it would be fun to write up a paper about the new environment, with any preliminary results we manage to achieve (I'm thinking it would be relatively easy for agents to learn how to build a small 16x16 tile food court at the park's entrance, for example). I would love to have some OpenRCT2 devs/community-members as co-authors on the paper, if you're interested in providing counsel or implementation assistance.

Let me know what you think!

Link to comment

Seems interesting (I have very basic IT skills so am not yet programming savvy)

 

Particularly for future evolutions of the game it might be interesting in a few specific areas, for example I know some players have asked 'what if in future you could have a rival park competing with you', thus the programming challenge of implementing this, maybe the problem of pathing and guests not using transport rides as transport could also be improved (better guest aims/intent logic etc).

 

So it could certainly have potential for future evolutions of the game

  • Like 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...