Inspiration
Event planners, fire marshalls, and many other professions all need to carefully consider the effect of people moving around in a space as part of their jobs. There are many facets to consider - one person can cause a chain of blockage by restricting a passageway, and groups of people form complicated heuristics.
There of course exist solutions already which aim to model human traffic flow, but based on some recent research we found, we want to take into account both the chains of events that can occur from large groups of people acting heuristically, and individuals acting of their own volition.
What it does
We provide interfaces which define objects on a 2D plane, as well as agents which update their own state in a particular way. Given these, we provide a graphical interface which runs the simulation and interactively displays the results.
How we built it
We use pure Kotlin Multiplatform, targetting Desktop. We used some Material3 components to prototype quickly, and built our simulation system from scratch with some maths-related libraries to help do calculations.
What if we keep going...
As a prototype built in 24 hours, our project as it is now is obviously missing many features we would like to see. These include, but are not limited to:
- More generic input formats, such as YAMLs.
- Dynamic objects on the map such as generators and consumers of agents which roam the map.
- More efficient simulation code.
- The ability to back- and forward-track arbitrarily within the simulation timeframe.
- Quality of life features such as tracing paths, density-based colouring, showing vectors, etc.
Demo...?
Attached is a snapshot of our prototype - randomly placed individuals gathering to a single location, in a room much like the Senior Common Room in Sherfield where we built our prototype.
Built With
- kmp
- kotlin
Log in or sign up for Devpost to join the conversation.