Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2021:coronasim [2021/01/13 12:53] – [Corona Sim] vondowntown | ws2021:coronasim [2021/04/15 12:27] (aktuell) – [Roadmap] vondowntown | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | # Corona Sim | + | # Corona Sim Wiki |
- | - [Corona Sim](#corona-sim) | + | Because we mainly use [Gitlab](https:// |
- | - [Main Goal](# | + | |
- | - [Current Work](# | + | |
- | - [Main Resources](# | + | |
- | - [Godot](# | + | |
- | - [Model](# | + | |
- | - [Further Reading](# | + | |
- | - [Paper](# | + | |
- | - [Other Simulations](#other-simulations) | + | |
- | ## Main Goal | + | ## Main Goal and Motivation |
- | Our main goal is to write a webapp, which validates | + | The current coronavirus pandemic |
+ | For our simulation we want to be as close to real life as possible. By doing so we hope to maximise the learning effect and the relatability for our players. | ||
+ | ## Setting | ||
+ | You (the player) are a mayor of a small city during a pandemic. As a mayor you want to get reelected. For that the response to the pandemic must be adequate or else the population loses their trust in your abilities. Your relatives also live in the City and when you make bad choices, they might suffer from the consequences. | ||
- | ## Current Work | + | ## Technical Details |
- | - Research | + | We used Godot as our game engine, partly because it seemed easy to pick up and supports deploying the game as a website. We choosed GDScript as our language of choice, because Godot advertises GDScript (the inhouse developed ScriptLanguage) which has the best compatibility with Godot (Our initial choice was C#, but a note that the support was in beta made us switch). For information regarding the architecture of the simulation, have a look at [the Design Specification](https:// |
- | - what tools are useful for doing such a simulator | + | |
- | - impact countermeasures have on people | + | ## Current State |
- | - how infectious outbreaks can be modelled | + | The project is (at the time of writing) heavily WIP. Therefore not all features |
- | - etc. | + | |
- | - Course of action. | + | Things that already (mostly ^^) work: |
- | - Setup repository for version control | + | |
- | - Designed | + | - generating a random map every time. |
- | - We started working on a first prototype | + | - generating a random population with families where each person has their own job and home address. |
- | - The current status | + | - walking across the map including houses |
- | ## Main Resources | + | |
+ | ## Roadmap | ||
+ | There is still lots to do until we would consider the project to be in a minimum viable state. We set some Milestones to be our different versions of Prototypes, which can be found in [the Design Specification](https:// | ||
+ | |||
+ | ## Problems we encountered | ||
+ | Working with a new programming language always has its challenges. For context, GDScript offers some support to add type hints, which can help with understanding what variables can be used in which ways. However the support is very minimal | ||
+ | |||
+ | Another interesting problem | ||
+ | |||
+ | ![The characters are only supposed to be able to walk on the light blue area.](https:// | ||
+ | |||
+ | When Godot builds the whole map by placing the tiles it can then figure out, where a person should be able to go, and how they can get there. However, in what seems to be an optimization effort, Godot ignores some of these polygons. This led to problems, because we wanted the characters to walk through the doors, however they just phased through the walls like a ghost, which, while interesting, | ||
+ | |||
+ | Working with Godot revealed that it itself is still under development and several features that might be expected in a Game Engine are simply not developed yet. This caused several problems which we had to painstakenly resolve manually. | ||
+ | |||
+ | When making the design specification for the simulator, we knew that we wanted to use Godot, however we did not have any experience with it, so the resulting design had some places where it was incompatible with the architecture of godot. This lead to us having to redo most of the specification, | ||
+ | |||
+ | ## Lessons learned | ||
+ | |||
+ | - Only start doing the design specification of projects once the tools that will be used are understood well enough. | ||
+ | - GDScript (or immature languages in general) do not work well when trying to build complex systems. | ||
+ | - Developing a game is probably worth more than 3lp. ^^ | ||
+ | |||
+ | ## Further Information and useful Links: | ||
### Godot | ### Godot | ||
- | - Godot Project Page: https:// | + | |
- | - Documentation: | + | |
- | - Pathfinding in a Tilemap: https:// | + | - Documentation: |
+ | - Pathfinding in a Tilemap: https:// | ||
### Model | ### Model | ||
- | - Networksscience with focus on epidemics: http:// | ||
- | ## Further Reading | + | - Networksscience with focus on epidemics: http:// |
- | ### Paper | + | |
- | - [Wirksamkeit nicht-pharmazeutischer Interventionen](https:// | + | ### Papers |
+ | |||
+ | - [Wirksamkeit nicht-pharmazeutischer Interventionen](https:// | ||
### Other Simulations | ### Other Simulations | ||
- | - https:// | + | |
- | - 3Blue1Brown Simulations: | + | |
- | - https:// | + | - 3Blue1Brown Simulations: |
- | - https:// | + | - https:// |
- | - https:// | + | - https:// |
- | - https:// | + | - https:// |
- | - Gleamviz predict the future based on real world data: http:// | + | - https:// |
- | - [TU COMA Homework](https:// | + | - Gleamviz predict the future based on real world data: http:// |
- | - https:// | + | - [TU COMA Homework](https:// |
+ | - https:// | ||
+ |