Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2021:coronasim [2021/04/05 15:07] – vondowntown | ws2021:coronasim [2021/04/15 12:27] (aktuell) – [Roadmap] vondowntown | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
## Main Goal and Motivation | ## Main Goal and Motivation | ||
The current coronavirus pandemic is impacting the living conditions of most people. Countries tried to slow the spread of the virus by implementing a variety of countermeasures. To give a better understanding on their effectiveness, | The current coronavirus pandemic is impacting the living conditions of most people. Countries tried to slow the spread of the virus by implementing a variety of countermeasures. To give a better understanding on their effectiveness, | ||
+ | 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 | ## Setting | ||
Zeile 15: | Zeile 16: | ||
Things that already (mostly ^^) work: | Things that already (mostly ^^) work: | ||
+ | |||
- generating a random map every time. | - generating a random map every time. | ||
- generating a random population with families where each person has their own job and home address. | - generating a random population with families where each person has their own job and home address. | ||
Zeile 20: | Zeile 22: | ||
## Roadmap | ## 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:// | + | 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 | ## 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 and using the feature can also lead to [Cyclical Dependency Errors](https:// | 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 and using the feature can also lead to [Cyclical Dependency Errors](https:// | ||
+ | |||
+ | Another interesting problem is that the navigation that Godot provides does not work as expected. To give some context, the developer can specify areas where the characters will be able to walk on the map by placing polygons on the tiles. | ||
+ | |||
+ | ![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. | 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. | ||
Zeile 30: | Zeile 38: | ||
## Lessons learned | ## Lessons learned | ||
+ | |||
- Only start doing the design specification of projects once the tools that will be used are understood well enough. | - 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. | - GDScript (or immature languages in general) do not work well when trying to build complex systems. | ||
Zeile 36: | Zeile 45: | ||
## Further Information and useful Links: | ## Further Information and useful Links: | ||
### Godot | ### Godot | ||
+ | |||
- Godot Project Page: https:// | - Godot Project Page: https:// | ||
- Documentation: | - Documentation: | ||
Zeile 41: | Zeile 51: | ||
### Model | ### Model | ||
+ | |||
- Networksscience with focus on epidemics: http:// | - Networksscience with focus on epidemics: http:// | ||
+ | |||
### Papers | ### Papers | ||
+ | |||
- [Wirksamkeit nicht-pharmazeutischer Interventionen](https:// | - [Wirksamkeit nicht-pharmazeutischer Interventionen](https:// | ||
### Other Simulations | ### Other Simulations | ||
+ | |||
- https:// | - https:// | ||
- 3Blue1Brown Simulations: | - 3Blue1Brown Simulations: | ||
Zeile 55: | Zeile 69: | ||
- [TU COMA Homework](https:// | - [TU COMA Homework](https:// | ||
- https:// | - https:// | ||
+ | |||