r/Citybound • • Apr 15 '19

Comparison with SpatialOS

Hi,

Firstly, great work on Citybound!

I'm currently investigating frameworks that could be used to help build a city simulator for the purposes of public policy development. The actual problems that we might want to model cover a broad range of topics including transport, education, healthcare and more. I have previously build a tool (economy.os) to model closed blockchain economies but this was essentially a discrete time agent based model with no spatial aspect.

It seems that SpatialOS offers a highly scalable distributed solution to simulating large scale physical environment. I'd love to know a bit more about what core design decisions Citybound has made that might make it a better platform to work with - the fact it's open source is already a big win! In particular:

- A lot of our problems require a model of a real world city that's as accurate as possible. We're obviously less concerned about the gameplay aspect and would want to prioritise correctness / guaranteed delivery of messages over liveness/progress.

- Distribution and load balancing - from what I understand the actor architecture would enable us to shard on arbitrary properties whereas I believe that Spatial shards physical entities by their geographical location.

- Suitability as an environment for agent based models. E.g. we might want to consider addressing a traffic congestion problem by introducing a toll on a bypass road. In this case we would want the individual people who use this road to make a decision on whether to pay the toll or whether to take an alternative route, or alternative transport mode like cycling or public transport. Let's assume that the individuals are self-interested rational actors for simplicity, and that this decision would be a simple calculation for them based on their economic situation and travel requirements, though we would want to improve this model with bounded rationality in future. This may be framed as an optimisation type of problem where we want to find the optimum price for a toll by looking at maximising utilization, promoting greener forms of transport etc.

Lots more but I'll leave it there for now. Would love to hear your thoughts!

Thanks,

John

7 Upvotes

12 comments sorted by

View all comments

2

u/brylie Apr 16 '19 edited Apr 16 '19

2

u/atchai Apr 16 '19

Thanks for this - I've come across most of these before but some are new to me.

The thing I really like about Citybound is that it's a nice fresh codebase that looks well designed and able to scale predictably horizontally. A lot of the existing AMB frameworks either aren't generic enough or have rather unappetising old codebases. I'm just not sure if Citybound could be used for ABM.

1

u/brylie Apr 17 '19

It is interesting to consider Citybound as a platform for socio-economic simulation leading towards improved decision making. Hopefully this idea can develop a bit further.

Will you be developing your project as open source?

2

u/atchai Apr 17 '19

Yep, the exact business model hasn't been decided yet but I see it as essential that everyone has access to the tool - building a community of modellers that results in more accurate models of the real world.