ws2021:coronasim

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws2021:coronasim [2021/04/05 15:07] vondowntownws2021: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, we want to program a simulation game. We hope, that players will get a deeper understanding of how pandemics are spreading and how to defeat them. Hopefully, many who play our game will understand why some restrictions are neccessary in times like these. 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, we want to program a simulation game. We hope, that players will get a deeper understanding of how pandemics are spreading and how to defeat them. Hopefully, many who play our game will understand why some restrictions are neccessary in times like these.
 +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://gitlab.com/labprepare/coronasim/coronasim/-/wikis/Design). The second Prototype we wanted to include everything abesultely essential to deliver the core experience. After that there are still more ideas to improve upon, but (for now) that is something future us has to worry about.+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://gitlab.com/labprepare/coronasim/coronasim/-/wikis/Design). The second Prototype we wanted to include everything absolutely essential to deliver the core experience. After that there are still more ideas to improve upon, but (for now) that is something future us has to worry about.
  
 ## 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://en.wikipedia.org/wiki/Circular_dependency), which were a headache to resolve. 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://en.wikipedia.org/wiki/Circular_dependency), which were a headache to resolve.
 +
 +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://gitlab.com/labprepare/coronasim/coronasim/-/wikis/Pictures/NavigationPoligon.png)
 +
 +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, is not something ordinary people can do.
  
 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://godotengine.org/   - Godot Project Page: https://godotengine.org/
   - Documentation: https://docs.godotengine.org/en/stable/   - Documentation: https://docs.godotengine.org/en/stable/
Zeile 41: Zeile 51:
  
 ### Model ### Model
 +
   - Networksscience with focus on epidemics: http://networksciencebook.com/chapter/10#introduction10   - Networksscience with focus on epidemics: http://networksciencebook.com/chapter/10#introduction10
 +
 ### Papers ### Papers
 +
   - [Wirksamkeit nicht-pharmazeutischer Interventionen](https://gitlab.com/labprepare/coronasim/coronasim/uploads/e0ff2f07d5cb1884f5bf2e2138c5be96/Rapid-Review-NPIs.pdf)   - [Wirksamkeit nicht-pharmazeutischer Interventionen](https://gitlab.com/labprepare/coronasim/coronasim/uploads/e0ff2f07d5cb1884f5bf2e2138c5be96/Rapid-Review-NPIs.pdf)
  
 ### Other Simulations ### Other Simulations
 +
   - https://github.com/cool-RR/grid_royale   - https://github.com/cool-RR/grid_royale
   - 3Blue1Brown Simulations:   - 3Blue1Brown Simulations:
Zeile 55: Zeile 69:
   - [TU COMA Homework](https://gitlab.com/labprepare/coronasim/coronasim/uploads/87e36b42135c0d2955f6d7b61826a9bd/Projekt.pdf)   - [TU COMA Homework](https://gitlab.com/labprepare/coronasim/coronasim/uploads/87e36b42135c0d2955f6d7b61826a9bd/Projekt.pdf)
   - https://isis.tu-berlin.de/course/view.php?id=18850   - https://isis.tu-berlin.de/course/view.php?id=18850
 +
  
  • ws2021/coronasim.1617628063.txt.gz
  • Zuletzt geändert: 2021/04/05 15:07
  • von vondowntown