Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03431.jsonl.gz/2645

Vom Spiel zur Wissenschaft
SS2004
Katastrophensimulation
P.Lecznar, B.Prenaj, C.Riday
Als erstes war es die Aufgabe, das richtige Thema zu finden. Obwohl uns
ziemlich verrückte Ideen kamen, die jedoch unrealisierbar waren, haben wir uns
schliesslich für die Idee mit der Katastrophensimulation entschieden.
Einerseits ist es ein sehr interressantes und wichtiges Thema, vor allem im
Bereich Bau und Architektur, denn:
Wie/Wo stürmen die Leute aus einem Gebäude wenn's brennt?
Wie verhalten sich Fans, wenn in einem Fussballstadion eine Bombe
explodiert? Wo sind die kritischen Punkte?
Kann man Ausgänge geschickter konstruieren, um bei einer Flucht mehr
Personen pro Zeiteinheit durchschleusen zu können?
Einfache Räume kreieren und die Ausgänge möglichst geschickt platzieren
(gemeint: das evakuierung möglichst schnell erfolgen kann).
Anderseits gibt es verchiedene Arten, dies in eine Simulation, bzw. ein Spiel
umzusetzen. Die Idee wurde von Prof. C. Hafner akzeptiert.
Die nächste Aufgabe war es, das Konzept soweit zu vereinfachen, dass die Idee
zwar da ist, aber nicht zu viele Faktoren vorhanden sind, die einerseits das
Ganze kompliziert und störend, anderseits langsam und unübersichtlich machen.
Die Aufgabe war, zuerst eine Version auf Papier zu schaffen, um zu sehen, ob
unser Konzept überhaupt verwendbar ist. Danach sollte erst das Programm selbst
entstehen.
Unser erstes Ziel war es, einen schachbrettartigen Raum zu schaffen, mit einem
Ausgang und mehreren sich in dem Raum befindenden Personen, welche Rundenweise
eine nach der anderen Richtung Ausgang bewegt werden sollten. Gleichzeitig
sollten sie Hindernisse, wie Terroristen mit Bombengürteln, Feuer, Explosionen
oder Stellen, an denen ein Mord verübt wurde, umgehen. Dabei sollte am Anfang
des Spiels alles definiert werden, wie z.B. die Anzahl Spieler, bzw. Personen
oder die Art, Dauer und Frequenz der Hindernisse/Katastrophen. Obwohl
eigentlich keine so schlechte Idee, wurde sie zwar nicht verworfen, aber ad
acta gelegt. Danach kam uns die Idee bereits vorgegebene Levels
(Räumlichkeiten) zu verwenden, in denen alles bereits vordefiniert ist. Ziel
war es, seine Figuren so schnell wie möglich rundenweise Richtung Ausgang zu
bewegen, wobei sich der Gefahrenherd pro Runde je nach Art vergrösserte. Auch
diese Idee war nicht zufriedenstellend, so kam es uns in den Sinn, eine
Zwei-Spieler-Simulation zu machen, wo zwei Personen gegeneinander antreten und
die schnellere (der Spieler, welcher zuerst alle seine Figuren zum Ausgang
führt) gewinnt. Dabei sollte auch der rundenweise grösser werdende
Gefahrenherd berücksichtigt werden, welcher auch Figuren auf dem Spielfeld
beseitigen könnte.
Wie sich dann später in einer Besprechung herausstellte, waren all diese Ideen
immer noch zu kompliziert und mussten weiter vereinfacht werden. Dabei mussten
wir aber vorsichtig sein, wollten wir doch nicht, dass unsere Simulation ihren
eigentlichen Zweck verliert und man nicht mehr erkennen kann, was die Idee
dahinter ist. Also entschieden wir uns, die erste Version weiter zu verfolgen
und sie auszubauen, bzw. zu vereinfachen.
Die Schlussidee ist folgendermassen: Es gibt vordefinierte Räumlichkeiten, in
denen der Spieler jedoch immer noch die Möglichkeit hat zusätzliche Wände,
Ausgänge und Hot Spots einzufügen. Er kann definieren, wieviele Leute sich von
jeder Gruppe im Raum aufhalten. Er kann bestimmen, ob sich die Personen auf
total egoistische Art und Weise verhalten, oder ob sie panikartig herumrennen
und versuchen einen Ausgang zu finden. Auch kann er bestimmen, ob sie geduldig
sind und warten, falls ihnen eine Person ihnen auf dem Weg Richtung Ausgang
begegnet. Je nach Patience-Wert kann das mehrmals vorkommen. Es gibt noch
zusätzlich Anzeigen, wie viele Leute tot, und wieviele Leute es geschaft
haben, dem Inferno zu entkommen.
Jetzt stellte sich das Problem, wie das Programm erstellt werden sollte. Da
niemand von uns Ahnung im diesem Programmierbereich hatte, mussten wir am
Anfang auf Resourcen von Ausserhalb unser Gruppe zurückgreifen, wie z.B. wie
man ein Java-Script in eine www-Seite implementiert, usw. Sobald der
Grundstein gebaut war, konnte die eigentliche Programmierung des Spiels selbst
beginnen.
Wichtig war es, Prioritäten im Bezug auf das Verhalten der Personen zu setzen.
Wie verhält sich ein Mensch, wenn er sich in einer brenzligen Lage befindet.
Welche Algorithmen sind dazu nötig, das Verhalten eines Menschen, bzw. einer
ganzen Gruppe zu definieren.
Download Source