Jump to content
OpenRCT2
Sign in to follow this  
smearle

OpenRCT2 as a Test-bed for AI

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!

Share this post


Link to post

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

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...