City Simulator
This project goes hand in hand with Scalando lectures and exists to help people trying Scala, modern libraries and common approaches. Another goal is to give contributors an experience of committing their changes, discussing and sharing ideas in open source project.
Goal of Zelsinki project is to build complete simulator of city life fully controllable by AI. Imagination could take far from this point. In example:
- Transport infrastructure (Busses, trains, cars, roads, subway in Espoo)
- Factories and offices
- Economics
- Social and political decision affecting the whole system
- People acting and interacting with every part
- ...
And everything is controllable by AI making decisions based on goals we set. Who knows, may be democracy is a way to happiness, but total control is a way to productivity in short terms?
This project could grow from very small and simple solution to complex system just like all modern cities had grown from villages to their current state.
With growing granularity of simulation, architectural solutions that were actual for previous iteration might be completely useless in a new world. This is another problem that will be solved again and again, in agile manner.
Each big decision that was made by AI should be written down for future analysis through HTTP API. Results might be surprising.
Metrics and monitoring are important parts of every application. They should be also available through HTTP API.
Current state of Zelsinki city simulator is a planning session. We should discuss our first steps, define goals we want to achieve using knowledge and ideas we have. Github Issues could be a best place to start or join to ongoing discussion. Feel free to create an issue and describe your idea, prepare your arguments for possible challengers.
This project is curated by people who have experience in building solutions for Zalando from very bottom to the top, meaning that there will be someone to answer to project related questions, to help with finding of elegant way of implementing things and to take part in discussions.