Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

de:simulation

Einleitung

Die Herausforderung bei der Entwicklung barrierefreier Systeme ist es, die Überwindung der verschiedensten denkbaren realen, demographischen, sozialen oder Arbeitsplatzbarrieren zu überwinden.
Erwünschtes Ziel ist eine entsprechende Inklusion.

Barrierefreie Systeme sollen Menschen unabhängig von Alter und möglicher funktionaler Einschränkung eine selbst bestimmte und selbstständige Lebensführung ermöglichen.

Es sollen zukunftsfähige Lösungsmodelle entwickelt werden, um dem demografischen, gesellschaftspolitischen und wirtschaftlichen Wandel in unserer Gesellschaft zu begegnen. Zukunftsorientierte Aufgaben und Berufsfelder sollen erschlossen werden.

Prof. Dr. Döben-Henisch benennt beispielhaft Barrieren, deren Überwindung Ziel dieses Studiengangs sein könnten. Die genannten Barrieren sind zum Teil sogar von weltökonomischer oder gesellschaftspolitischer Bedeutung. So stellen die Obergrenzen unserer verfügbaren Energien oder die Schwierigkeit, sie technologisch umzusetzen, eine Barriere dar.
Die Bewältigung dieser Probleme hat in der Vergangenheit zu einem markanten gesellschaftlichen Wandel geführt und wird auch in Zukunft dazu führen.
Daraus ergibt sich zwingend beispielsweise auch die ökonomische Verwendung von Energieressourcen.
Bereits heute wird der CO2-Ausstoß übergeordneter Systeme, wie ganzer Staaten, oder die Wärmeökonomie kleinerer Systeme, wie einzelner Häuser diskutiert.
Andere Barrieren finden sich beispielsweise in der Kommunikation, der Demographie oder in der Verfügbarkeit, Angemessenheit und Aktualität von Wissen.

Aufgrund der sehr umfangreichen Aufgabenstellung als auch der universellen Problematik des Themas Barrieren haben wir uns dazu entschlossen, uns über die Entwicklung eines Systems Gedanken zu machen, mit dem sich Barrieren und Lösungsansätze ökonomisch und experimentell simulieren lassen.

Die Simulation soll physikalische, technische, biologische, psychologische oder ökonomische Prozesse nachbilden können. Dazu ist weiterführende die Entwicklung mathematischer und physikalischer Modelle erforderlich, möglicherweise mit Ansätzen spieltheoretischer und in der Sozionik wurzelnder Gedanken.

Wir haben es als unsere Aufgabe verstanden, eine ganz praktische und funktionierende Simulation zu implementieren. Dazu haben wir einen virtuellen, visuellen, dreidimensionalen Raum erstellt.

Im Folgenden stellen wir unseren theoretischen Ansatz zu dieser Simulation und die Bedingungen möglicher Darstellungen und Interaktionen dieser Plattform dar.
Es ist unser Wunsch, dass auf dieser Plattform künftig weitere Simulationen entworfen werden.
Denkbar wären physikalische Entwürfe bis hin zu psychologischen Modellen, um beispielsweise menschliche Kommunikation oder menschliches Stressempfinden in den verschiedensten Umgebungen zu simulieren.

Modellentwurf

Als Basis für die weitere Entwicklung unseres Modells haben wir auf die hochmoderne Spiele- und Physik-Engine des Marktführers Crytek zurückgegriffen.

Der Vorteil besteht aus der bereits jetzt vorhandenen Universalität, der Verfügbarkeit an unserer Fachhochschule und der gegebenen Möglichkeit, eigene Erweiterungen und Modifikationen einfach zu gestalten und einzubinden.

Der Programmkern der Engine ist zwar nicht zugänglich, aber es besteht ein breites Spektrum von Möglichkeiten, über Schnittstellen zu dem Potential der Engine Zugriff zu erhalten. Die Engine simuliert physikalische Gesetze auf beeindruckende Art und Weise. Aus den Bereichen der physikalischen und technischen Prozesse lassen sich zum Beispiel die Größen Geschwindigkeit, Zeit, Gravitation, optische Gegebenheiten wie Licht und Schatten aber auch physikalische Hindernisse, wie Gebäude mit Türen und Fenstern, erschaffen und steuern.

Diese Engine erschien uns, für die Darstellung oder Nachbildung physikalischer, technischer, biologischer, psychologischer oder ökonomischer Prozesse oder Systeme ideal.

Die Entwicklung mathematischer oder physikalischer Modelle zur Simulation von Barrieren und die Möglichkeit ihrer modellhaften oder praktischen Beseitigung wird eine künftige, sich hier anschließende Aufgabe darstellen.

Die Untersuchung von Barrieren auf der Basis dieses Modells wird einfacher, billiger und ungefährlicher sein als im Originalraum.

In diesem Modell können einzelne Bedingungen zu- und abgeschaltet bzw. variiert werden. Bei dem ausgereiften Modell oder den einzelnen Komponenten lassen sich schnell Experimente mit realen oder realnahen Systemen zur Analyse komplexer und dynamischer Prozesse darstellen.

In dieser Simulation kann ein reales System abgebildet und verändert werden. Hierin wird die Kontrolle über physikalische Größen ermöglicht, wie z. B. die Zeit, welche im realen System nicht beeinflussbar ist. So können Vorgänge, die im realen System sehr viel Zeit benötigen, beschleunigt, und andersherum sehr schnelle Prozesse verlangsamt werden.
Dies ermöglicht differenzierte und effiziente Messungen.

Durch sinnvolle Veränderungen von Rechenparametern kann zum Beispiel eine Bandbreite von Möglichkeiten oder Reaktionen erarbeitet werden. Es lässt sich feststellen, wie unterschiedlich die einzelnen Komponenten auf Einflussgrößen reagieren. Somit ergibt sich ein Portfolio der Reaktionsbandbreite.

Eine intelligente Nutzung der Simulation setzt selbstverständlich voraus, dass die entsprechenden Module zur Darstellung von Barrieren entwickelt werden. So ist es denkbar, dass im Bereich der Kommunikation bei den zu simulierenden Barrieren in der Interaktion Mensch-Mensch, Mensch-Objekt (z. B. Klingelschild, Aufzug, etc.) oder Mensch-System (z. B. Handy, Internet, etc.) auf ein mentales oder psychologisches Modul zurück gegriffen wird.
Ein solches Modul könnte Stressempfinden, Stressreaktion und Interaktionsfähigkeit simulieren oder enthalten.

Die Simulation in Crytek-Engine würde sich somit von einer maschinenhaft reagierenden Welt mehr zu einer gewissermaßen selbständig agierenden Simulation entwickeln.
An dieser Stelle ergeben sich bereits jetzt interessante Varianten der Simulationssteuerung: Ein simulierter Roboter ließe sich auf der einen Seite mit der entsprechenden „Intelligenz“ (mit Intelligenz ist ein Handlungsspielraum gemeint, der möglichst nah an ein selbständiges Agieren heranreicht) versehen, um danach entsprechend in der Simulation zu agieren.
Bei näherer Betrachtung stellt sich bereits hier der Nachteil heraus, dass sich ein Zugriff oder eine Modifikation von „Intelligenz“ und Steuerungszugriff nur dann laufend gestalten und aktualisieren lassen, wenn die Steuerungseinheit gewissermaßen ausgelagert ist.

Um die Barrierefreiheit auch in diesem Modell konsequent umzusetzen, würde der Roboter gewissermaßen als Avatar in der Simulation handeln, während die „Intelligenz“ ausgelagert in einem externen Programm offen zur Verfügung steht.

Projektskizze

Team

Konstantin Ernst, B. Sc. - ernst@stud.fh-frankfurt.de

Edward Roepke, B. Sc. - roepke@stud.fh-frankfurt.de

Projektziel

Einleitung

Ziel des Projektes ist es, einen Raum zur Verfügung zu stellen, indem sowohl Menschen agieren und interagieren können, aber auch verschiedenste Barrieren zu simulieren sind und ihre Überwindung oder Inklusion modelliert werden kann.

Durch Implementation der unterschiedlichen Barrieren im Bereich der realen, der demographischen, der sozialen aber auch der Arbeitsplatzbarrieren sind in der Simulation unterschiedliche Disziplinen wie Architektur, Psychologie, Physiologie und Pflege und soziale Arbeit zu integrieren.

Als eine von vielen Möglichkeiten haben wir die Idee, dass sich an dieser Stelle auch die verschiedensten psychologischen Module für Verhaltens- oder Stresssimulation implementieren lassen.

Die Reaktion auf Stresssituationen am Arbeitsplatz oder in einer anderen sozialen Umgebung oder die Simulation von Panikverhalten in bestimmten Umgebungen (Stadion) ist denkbar. Gerade die Integration einer psychologischen Dimension halten wir für überaus interessant.

Im Folgenden haben wir die möglichen Simulationsvarianten aufgelistet. Unsere Simulation ist angelegt, tatsächliche Barrieren zu definieren. Aus diesem Grund begibt sich als erste und grundlegendste Bedingung für unser Projekt, dass die physikalische Welt möglichst realitätsnah in die Simulation einfließt. Dies soll allerdings nicht ausschließen, dass sich durch Modifikation der verschiedenen Parameter die Erforschung oder Überwindung von Barrieren erarbeiten lässt (zum Beispiel Veränderung von Zeitparametern).

Ein weiterer prinzipieller Gedanke ist die Dreiteilung von Input, Verarbeitung und Output, auch wenn dieser zunächst sehr theoretisch und modellhaft erscheint. Diese Dreiteilung stellt vereinfacht die Funktionsweise des Menschen dar. Mit Input sind die sensorischen Informationen gemeint, die auf den Menschen einwirken, wie zum Beispiel „Sehen“ (Ortsbestimmung), „Hören“, „Fühlen“ und einiges mehr, aber auch der Abruf von Erinnerungen und Gedanken.

Hier schließt sich die Verarbeitung an, in der ein Handlungs- oder Gedankenplan entworfen wird. Der Input wird bestimmten Parametern (Rahmenbedingungen, Erfahrungen) unterworfen und führt zu dem dritten Aspekt, dem Output. Dieser drückt sich in Handlung, Kommunikation etc. aus. Je mehr sich Input, Verarbeitung und Output innerhalb der Simulation befinden, desto mehr kann die Simulation als selbständig agierend bezeichnet werden.

Je mehr sich die Verarbeitung von Input auf Teilnehmer außerhalb des simulierten Raums übertragen (Fernsteuerung), umso mehr agieren die Objekte im simulierten Raum dazu, lediglich gesteuerte Avatare zu sein.

Ein weiterer Gedanke sollte uns klar machen, dass der Informationsübergang zwischen simulierten Raum und Außenwelt über die verengende Schnittstelle nur optische und akustische Signale simulieren kann. Wir sehen und hören, was im Raum passiert. Diese Beschränkung aber sollte uns bei der Entwicklung der Simulation dazu verleiten, den simulierten Raum und die Akteure darin lediglich auf einen visuellen und akustischen „Input“ zu reduzieren.

Wenn wir dem Gedanken einer umfassenden Simulation der menschlichen Welt folgen, sollten möglichst alle physikalischen und sensorischen Bedingungen wie Olfaktorik (Riechen), Nozizeption (Schmerzen) oder eingeschränkte Beweglichkeit (bei der Simulation von Alter oder Behinderung), eingeschränkte Wahrnehmung bei der Simulation von Kindern, älteren Menschen, Behinderten angestrebt werden und Eingang finden.

Um es noch einmal zu betonen: Der simulierte Raum muss „größer“ werden, als die limitierende Schnittstelle an Übertragung zulässt.

Schematische Darstellung

Zur Veranschaulichung wird das vorgestellte Projektziel vereinfacht in der folgenden Abbildung dargestellt.
Es zeigt die groben Züge und den Gedankenkern.

Legende

Referenzpunkt Beschreibung
A Die Software simuliert einen Raum, ähnlich wie in einem modernen Computerspiel
B Ein Anwender kann an einem Computer (Client) von einem beliebigen Ort auf den simulierten Raum zugreifen und interagieren
C Über eine klar definierte Schnittstelle wird Software-Entwicklern die Möglichkeit geboten, Software zu entwickeln, die ohne Zutun eines Anwenders selbständig auf den simulierten Raum zugreift, interagiert, Werte ausliest
D Der simulierte Raum wird so gestaltet, dass sich mehrere Anwender und Computer zeitgleich im selben simulierten Raum bewegen und sich gegenseitig beeinflussen können
E Die Präsenz im simulierten Raum kann ein menschliches Avatar sein. Hier sind verschiedene Charaktere möglich
F Die Menge der Avatare umfasst nicht nur menschliche Modelle, auch Roboter und eigene Modelle sind möglich
G Ein Avatar, der gesteuert wird, jedoch über ein definiertes Maß an eigenständiger Handlung und Reaktionen verfügt, ist denkbar
H Die Repräsentation im simulierten Raum ist nicht auf ein Modell pro Anwender/Programm begrenzt. Es stehen vordefinierte Expertensysteme mit verschiedenen Charakteren zur Verfügung, die sich eigenständig im Raum bewegen können oder geleitet werden.
I Der Anwender kann sich als reiner Beobachter an den simulierten Raum anschließen
J Auf der Seite der Teilnehmer wird der Simulationsraum akustisch und visuell dargestellt
K Außer klaren Steuerbefehlen fließen keine Signale in den simulierten Raum ein
L Alle Zugriffe auf den simulierten Raum, egal ob durch Mensch oder Programm, geschieht über eine einheitliche Schnittstelle

Mögliche Barrieren in der Simulation

Bei entsprechender Weite des Begriffs „Barrieren“ könnten in dem simulierten Raum viele der von Prof. Dr. Döben-Henisch in seinem Paper „BASYS: Barrierefreie Systeme – Philosophische und Systemtheoretische Betrachtungen“ entworfenen Barrieren projektiert werden.

Um aber zuerst einmal ganz greifbare Ideen aufzuführen, können Barrieren aus dem Bereich „Kommunikation“ implementiert werden. Die Simulationen sollten die verschiedensten körperlichen Beeinträchtigungen und die daraus resultierende eingeschränkte Wahrnehmung, aber auch Hindernisse, Dunkelheit, Distanz etc. darstellen.

Weiterführende Barrieren, die aber bereits als sehr anspruchsvoll zu implementieren bezeichnet werden müssen, wären die Darstellung von Sprachproblemen, Wissensmangel oder architektonischen Bedingungen, die Handlungen determinieren.

Als visionär wären Barrieren zu bezeichnen, die fehlendes oder falsches Wissen darstellen oder die Auswirkung verschiedenster Arbeitsplätze und Arbeitsabläufe auf Arbeitseffektivität oder Sozialverhalten.

Mögliche Anwendungsbereiche

  • Roboter- und Roboterkommunikations-Simulation
  • Verhaltenssimulation verschiedener menschlicher Charaktere
    • Aktionssimulation
    • Reaktionssimulation
  • Simulation von Stresssituationen und des menschlichen psychischen Empfindens im räumlichen Kontext
  • Simulation von Stresssituationen und des menschlichen psychischen Empfindens im sozialen Kontext
  • Technische Planungen
  • Wegeoptimierung
  • Einrichtungsvarianten
  • Lichtsimulation
  • u. v. m.

Verfügbare Räume

  • vordefinierte Räume
  • selbst definierte Räume
  • Dynamisch generierte Räume („on the fly“)
  • Raum-Generation auf Basis von Raumplanungen durch externe Architektursoftware

Verfügbare Avatare

  • unterschiedliche „menschliche“ Avatare
    • Durchschnittliche Menschen
    • Menschen mit extremen anatomischen Ausprägungen
    • Menschen mit eingeschränkten motorischen Fähigkeiten (z. B. Menschen mit Gehhilfen)
    • Menschen mit eingeschränkten sensorischen Fähigkeiten
    • Menschen mit eingeschränkten geistigen Fähigkeiten
  • Roboter

Verfügbare Expertensysteme (selbständig handelnde Akteure im Raum - "Bots")

  • unterschiedliche Menschen
    • Durchschnittliche Menschen
    • Menschen mit extremen anatomischen Ausprägungen
    • Menschen mit eingeschränkten motorischen Fähigkeiten (z. B. Menschen mit Gehhilfen)
    • Menschen mit eingeschränkten sensorischen Fähigkeiten
    • Menschen mit eingeschränkten geistigen Fähigkeiten
    • Menschen mit bestimmbarem Stressverhalten
  • Roboter

Verschiedene Perspektiven

  • Aus der Sicht des Akteurs (First Person View)
  • Aus der Sicht relativ zum Akteur (Third Person View: Über die Schulter blickend)
  • Absolut im Raum positioniert

Steuerung der Akteure im simulierten Raum

  • selbständig (Expertensystem - „Bot“)
  • durch einen Teilnehmer (realer Mensch)
  • durch einen Teilnehmer (Computerprogramm)

Möglichkeiten im Raum

  • Interaktion mit dem Raum selbst
  • Interaktion mit Objekten im Raum
  • Interaktion mit anderen Teilnehmern
  • Anpassung des Raumes an individuelle Begebenheiten, zum Beispiel „Wohnraum“, „Labor“, „Büroraum“, „Fluchtwege“
  • Kontrolle über die physikalische Größe „Zeit“
  • Einfügung individueller Objekte
    • aktive Objekte (z. B. Sensefloor, interaktiver Kleiderschrank)
    • passive Objekte (z. B. Rollstuhl, andere 3D-Objekte)

Inspirationen

  • Parallel laufende BaSys-Projekte

Technische Ansprüche an die Software

  • Zugriffstransparenz & Netzwerktransparenz
  • (Ortstransparenz?)
  • Nebenläufigkeitstransparenz
  • Leistungstransparenz

Ansprüche an die Projektdurchführung

  • Kontinuierliche, detaillierte und öffentlich zugängliche Dokumentation
  • Pflege einer Anleitung, die es jedem Interessenten ermöglicht, den aktuellen Projektstand zu installieren und zu verwenden

Barrierefreiheit

Barrierefreiheit bildet den Grundsatz und das Ziel aller BaSys-Projekte.
So haben auch wir in diesem Projekt der Barrierefreiheit höchste Priorität zugeordnet.
Um das Konzept der Barrierefreiheit möglichst umfassend umzusetzen, betrachten wir unser Projekt zunächst aus zwei Perspektiven:

  • Das Projekt an sich, welches die Erstellung einer Software als Ziel hat.
  • Das Resultat des Projektes, also die Software selbst


In diesen beiden Punkten wird das Prinzip der Barrierefreiheit unterschiedlich umgesetzt. Diese werden in den folgenden beiden Kapiteln näher erläutert.

Barrierefreiheit in der Projektdurchführung

Drei Konzepte, durch die wir Barrierefreiheit in diesem Projekt gewährleisten:

  • Zugänglichkeit
  • Transparenz
  • Mehrsprachigkeit

Um jeder Person die Möglichkeit zu bieten, die Projektentwicklung und alle Entwicklungsschritte leicht nachvollziehen oder selbst in das Projekt einzusteigen zu können werden alle Fortschritte, Erfahrungen und Erkenntnisse strukturiert und dokumentarisch protokolliert und stehen für jeden zugänglich in diesem Wiki-Dokument zur Verfügung.
Diese Dokumentation richtet sich an Interessenten aus allen Disziplinen und beschränkt sich keinesfalls nur auf den Fachbereich der Informatik. Es ist eine besondere Herausforderung, solch ein komplexes und informatiklastiges Projekt für Personen ohne vertieftes Vorwissen verständlich darzustellen, daher bittet das Projektteam um Kritik und Inspirationen.
Um eine weitere Barriere zu eliminieren wird die Dokumentation parallel in englischer Sprache gepflegt.

Barrierefreiheit in der Simulation

Für Softwareentwicklung gibt es ebenfalls bewährte Techniken, um Barrierefreiheit zu durchzusetzen:

Diese Punkte sind Konzepte aus der Informatik und sehr technisch. Für detaillierte Beschreibungen und nähere Informationen sind diese Begriffe zu Artikeln des Online-Lexikon Wikipedia verlinkt.
Alle hier aufgeführten Formen von Transparenz wurden im Konzept der Software berücksichtigt. Eine detaillierte Beschreibung der genauen Umsetzung folgt demnächst.

Interdisziplinarität

„Barrierefreie Systeme“ ist ein interdisziplinärer Studiengang und stellt einen Verbund von drei fachspezifischen Mastern dar, die in einer gemeinsamen Projektschiene mit einem gemeinsamen Forschungsprogramm kooperieren. Wir entwickeln zukunftsfähige Lösungsmodelle, um dem demografischen, gesellschaftspolitischen und wirtschaftlichen Wandel in unserer Gesellschaft zu begegnen.
Das hier vorgestellte Projekt steht noch in den Startlöchern und setzt sich momentan ausschließlich aus Studenten des Fachbereichs Informatik zusammen.
Wir laden jeden herzlich ein, in diesem Projekt mitzuwirken.

Wir möchten an dieser Stelle die Gelegenheit nutzen und uns bei allen Kommilitonen bedanken (vor allem aus den Disziplinen Architektur und Pflege und soziale Arbeit), durch deren Unterstützung und Inspirationen das Projektziel und das damit verbundene Konzept erst richtig geformt wurde. VIELEN DANK!

Vorgehensweise

Vorgehensmodell

Ein Vorgehensmodell ist eine Arbeitsanleitung die ein Projekt in verschiedene strukturierte Phasen einteilt und beschreibt. Es wird die einzuhaltende Reihenfolge der Arbeiten bei Organisation und Durchführung des Projektes dargestellt.

Es existieren verschiedene Vorgehensmodelle. Wir organisieren die Durchführung mit dem Vorgehensmodel Scrum.

Modding

Man kann zwei unterschiedliche Herangehensweisen an die Erstellung der angestrebten Software nutzen. Die erste Möglichkeit wäre, den Entwicklungsprozess bei null zu starten und von Grund auf neu zu beginnen. Die andere Möglichkeit wäre, auf der bestehenden Software, also dem Computerspiel „Crysis“ aufzubauen. Die auf der Spiele-DVD mitgelieferte Softwareumgebung und die Dokumentation richten sich primär an Entwickler, die „Modding“ anstreben. Dies meint die Erweiterung bzw. Veränderung des bestehenden Computerspiels. Ausgehend vom bestehenden Spiel werden die einzelnen Komponenten Schritt für Schritt an die eigenen Bedürfnisse angepasst. Informationen, Hilfen und Diskussionen im Internet widmen sich ausschließlich dem Thema Modding.
Das Team hat beschlossen, die angestrebte Software durch „Modding“ zu entwickeln.
Dies hat den Effekt, dass Zwischenschritte anfänglich stark an das Computerspiel „Crysis“ erinnern. Dieser Effekt verschwindet mit fortschreitenden Entwicklungserfolgen.

Vorteile durch den Einsatz der CryEngine

Einige der angestrebten Einsatzzwecke lassen sich bereits mit bestehender Software realisieren.
Durch den Einsatz der CryEngine werden jedoch bisher unerreichte Entwicklungen möglich:

  • Bisher unerreicht realistische Modelle von Gebäude und Natur können in „Echtzeit“ durchlaufen werden (im Gegensatz zu herkömmlicher Software, die aus einem vordefinierten Rundgang ein Video erstellt). Gleichzeitig wird die Größe „Licht“, die vor allem im Bereich der Architektur eine wichtige Rolle spielt, nahezu perfekt dargestellt.
  • Als wesentlicher Unterschied, durch den sich die geplante Software von konkurrierender abhebt, ist die durch die CryEngine gebotene Möglichkeit, Roboter und Menschen mit individuellen Erscheinungsbildern, Charakteren und Verhaltensmustern zu erstellen und in „Echtzeit“ in der virtuellen Welt interagieren zu lassen.

Versionen der CryEngine

Die Fachhochschule Frankfurt am Main hat das Privileg, mit der neusten, besten, bislang noch unveröffentlichten Physik- und Spiele-Engine „CryEngine 3“ der Firma Crytek zu arbeiten. Das ermöglicht einen gewaltigen Vorsprung.
Das Projekt „Simulation“ basiert zunächst auf der Vorgängerversion dieser Engine. Dies soll kurz begründet werden.
Die Engine der Firma Crytek ist fraglos ein ausgereiftes und sehr mächtiges Programm. Die Firma Crytek unterstützt die Fachhochschule Frankfurt am Main mit einer umfangreichen, sehr gut strukturierten und übersichtlichen Dokumentation und persönlichem Support. Der Kontakt zur CryEngine ist für alle Projektmitglieder neu. Das Team muss sich zunächst mit den Grundlagen, der Arbeitsweise und dem Umgang mit der CryEnginge vertraut machen. Um die zeitaufwändige Grundlagenarbeit effizient zu gestalten, diskutierte das Projektteam die Möglichkeit, zunächst mit der Vorgängerversion zu arbeiten. Im Folgenden werden Vor- und Nachteile beider Versionen aufgelistet. Dies ermöglicht dem Leser die Entscheidung im Abschnitt „Auswertung“, auf welcher Version das Projekt anfänglich basiert, nachvollziehbar zu gestalten.
Abgeschlossen wird das Kapitel mit einem Ausblick, in dem beschrieben wird, wann und wie das Projekt auf die aktuelle Version der Engine wechselt.

CryEngine 2

Vorteile:

  • CryEngine 2 ist für jeden leicht zu beziehen.
  • CryEngine 2 ist frei auf jedem Rechner installierbar.
  • Die ersten beiden Punkte haben dazu geführt, dass sich seit langem viele Hobby-Entwickler für die Arbeit mit der Engine interessieren und öffentlich über Internet-Foren ausgetauscht haben.
  • Umfangreiches Volumen an Dokumentationen, Tutorials, Downloads, Arbeit von Hobbyentwicklern ist frei im Internet verfügbar
  • CryEngine 2 wurde durch mehrere Patches in Bezug auf Performance optimiert, sodass sie auf durchschnittlichen Computern einwandfrei läuft. Das ermöglicht eine stressfreie Arbeit an einem beliebigen Ort.


Nachteile:

  • nicht aktuelle Graphik
  • nicht aktuelle Umsetzung der Regeln der Physik
  • mögliche Unterschiede der Programm-Struktur im Detail.

CryEngine 3

Vorteile:

  • verbesserte Grafik
  • verbesserte Umsetzung der Regeln der Physik
  • verbesserte Künstliche Intelligenz (offizielle Bezeichnung der automatisierten Figuren im Spiel, über die Begrifflichkeit „Intelligenz“ lässt sich streiten)


Nachteile:

  • Zum Zeitpunkt der Erstellung dieses Kapitels war die CryEngine 3 auf zwei leistungsfähigen Rechnern im BaSys-Labor der Fachhochschule Frankfurt am Main installiert. Um hieran zu arbeiten ist eine persönliche Präsenz erforderlich.
  • Momentan ist es nicht freigegeben, die CryEngine 3 auf privaten Computern zu installieren.
  • Momentan ist es nicht möglich, über eine entfernte Verbindung auf die Rechner im BaSys-Labor zuzugreifen.
  • Aufgrund der Faszination, die diese Engine auf Informatiker auswirkt, sind die beiden Arbeitsplätze im BaSys-Labor sehr gefragt (und meist besetzt).
  • Das Volumen der Diskussionen basierend auf der CryEngine 3 tendiert gegen null.
  • Installation und Arbeit erfordern Hochleistungsrechner

Vergleich

Diese Auflistung der Vor- und Nachteile ist ohne Gewichtung gehalten. Es soll jedoch betont werden, dass es natürlich nicht reicht, die Anzahl der einzelnen Listenelemente zu vergleichen, um eine Entscheidung zu fällen. Aus der folgenden Abwägung geht jedoch hervor, welche Prioritäten durch das Team gesetzt werden.
Die wesentlichen Unterschiede der beiden Versionen liegen primär in der Qualität der graphischen Darstellung und der Umsetzung der Regeln der Physik.
Zu Beginn des Projektes steht Grundlagenarbeit im Vordergrund. Hierfür ist die Ästhetik in der Darstellung von Räumen belanglos. Wichtiger ist die Möglichkeit, auch zu Hause mit der Engine arbeiten zu können. Zunächst gilt es einen Überblick über die grobe Struktur, die Zusammenhänge und Schnittstellen der Engine zu erhalten. Diese sind bei beiden Versionen gleich. Das Wissen, welches sich aus dem Umgang mit der Version 2 ableiten lässt, kann somit später auf Version 3 angewendet werden. Bis sich die technischen Unterschiede zeigen, ist geplant, das Projekt bereits auf Version 3 umgestellt zu haben.
Da der Kontakt mit den Engines von Crytek für alle Teammitglieder neu ist, treten viele Anfänger-Fragen auf. Jedes dieser Probleme ist in der Vergangenheit bereits bei der Arbeit mit Version 2 bei einem anderen Entwickler aufgetreten, zu beinahe jedem Hindernis gibt es mehrere Diskussionen in den öffentlichen Foren (siehe Kapitel „Links“ - „Foren“). Dies ermöglicht eine schnelle Lösung von Problemen und effektives Lernen im Umgang mit der Engine.
Aus diesem Vergleich resultiert die Entscheidung, das Projekt zunächst auf CryEngine 2 aufzubauen.

Umstellung von CryEngine 2 auf CryEngine3

Die CryEngine 2 und die meisten Entwicklungskomponenten lassen sich leicht beziehen: Sie werden mit dem Spiel „Crysis“ mitgeliefert, mit der Absicht, dem Käufer die Möglichkeit eigener Entwicklungen und speziell Modding zu bieten. So ist es jedem möglich, schnell einzusteigen.
Crytek plant, Mitte des Jahres 2011 das Spiel „Crysis 2“ zu veröffentlichen, welches auf der CryEngine 3 basiert. Es ist anzunehmen, dass auf der Spiele-DVD auch wieder alle Entwicklungstools mitgeliefert werden. Das ermöglicht eine einfache Umstellung des Projektes auf die CryEngine 3.

Projekt-Verlauf

Im nächsten Kapitel Durchführung wird der aktuelle Stand des Projektes beschrieben.
Da dieses Kapitel und alle folgenden ergebnisorientiert aufgebaut sind und der chronologische Aspekt fehlt, werden alle Entwicklungsschritte in folgender Liste mit zeitlichem Verlauf festgehalten.


  • Semester 1
    • Verlauf
      • 2010 - Woche 44: Projektstart und Beginn der Orientierungsphase
      • 2010 - Woche 46: Erste Zieldefinition
      • 2010 - Woche 48: Erstes Realisierungs-Konzept einer allgemeinen Schnittstelle
        (siehe Abbildung 1: Schematische Darstellung der Software - Markierung „I“) unter Berücksichtigung der Konzepte der Netzwerk- und Nebenläufigkeitstransparenz (siehe Kapitel Barrierefreiheit im Resultat des Projektes zur Gewährleistung von Barrierefreiheit.
      • 2010 - Woche 50: Technischer Durchstich: Erstellung einer eigenen Karte. Aufsetzen eines Servers. Lokale Umsetzung des erarbeiteten Client-Server-Konzeptes unter Verwendung der Netzwerk-Schnittstelle (Netzwerktransparenz).
      • 2011 - Woche 2: Erste Fassung der Projekt-Dokumentation auf Deutsch
    • Zusammenfassung
      • In diesem Semester wurde der Grundstein für das Projekt gelegt. Als Gasthörer bei den Meetings der anderen Projektgruppen sammelten wir Inspirationen und formten, zusammen mit unseren eigenen Vorstellungen das Projektziel. Gemeinsam mit Kommilitonen und Dozenten erarbeiteten wir uns die Bedeutung von Barrierefreiheit, verinnerlichten diese und setzten sie als höchstes Ziel sowohl für das Projektresultat, als auch für die Projektdurchführung an sich. Jeder Aspekt unseres Konzeptes wurde mehrfach unter den Perspektiven der Barrierefreiheit betrachtet und darauf ausgerichtet.
        Uns ist bewusst geworden, dass jeder Schritt im Entwicklungsverlauf des Projektes im Vorfeld gründlich geplant und im Nachhinein validiert werden muss, um tatsächlich Barrierefreiheit gewährleisten zu können.
        Die Aspekte Transparenz, Zugänglichkeit und Mehrsprachigkeit in der Projektdurchführung werden durch stetige Dokumentation garantiert.
        Experimentell haben wir Ideen für die Umsetzung einzelner Punkte des groben Schemas auf Möglichkeit getestet und vorgestellt. Hierauf wird in den folgenden Kapiteln detaillierter eingegangen.
  • Semester 2
    • Verlauf
      • 2011 - Woche 9: Planung des kommenden Semesters
        Im Mittelpunkt des zweiten Semesters steht die Entwicklung einer Programmschnittstelle zur Simulationssoftware, um diesen wichtigen Aspekt zu implementieren und gleichteitig das parallele Projekt „Simulator“ um eine graphische Ausgabe zu bereichern

Durchführung

In diesem Kapitel wird nun der aktuelle Projektstand beschrieben. Das Projekt befindet sich noch im Anfangsstadium der Entwicklung, es wurde bisher erst ein Teil der beschriebenen Projektziele umgesetzt. Der „technische Durchstich“ wurde bereits geschaffen und es wird stets darauf geachtet, diesen beizubehalten. Das ermöglicht, den aktuellen Projektstand jederzeit einsehen, umsetzen und ausprobieren zu können.
Die folgende Beschreibung ermöglicht es jedem Interessenten, das Software-Projekt selbst einzurichten, zu starten und damit zu arbeiten.

Einrichtung der Projektumgebung

Softwareumgebung

Die folgende Tabelle stellt eine Auflistung von Softwarekomponenten dar. Hier kann abgelesen werden, welche Komponenten für welchen Einsatzzweck (Server, Client, Entwickler) benötigt bzw. empfohlen werden. Außerdem besteht zu jeder Komponente eine kurze Beschreibung und eine mögliche Bezugsquelle. Die folgenden Kapitel setzen diese installierte Software voraus.
Es wird empfohlen, die Komponenten in der aufgeführten Reihenfolge zu installieren.

Eintrag Software Server Client Entwickler Beschreibung Quelle
1 Crysis x x x Das Computerspiel „Crysis“ Amazon Shop
2 ModSDK 1.2 x Entwicklungskit download
3 Crysis Patch 1.2 x x x Empfohlener Spiele Patch download
4 Crysis Patch 1.2.1 x x x Empfohlener Spiele Patch download
5 Crysis Dedicated Server Package v1.4 x Ermöglicht es einen Server aufzusetzen download (incl. Server Documentation)
6 CryEngine 2 Sandbox 2 x Erstellung von Landschaften und FlowGraphes Auf Spiele-DVD (siehe „Crysis“)


Hinweis
Es empfiehlt sich die Software NICHT in das Standard-Programmverzeichnis „C:\Programme“ bzw. „C:\Program Files“ zu installieren. Dies kann zu betriebssysteminternen Problemen mit Schreibrechten führen. Wir empfehlen die aufgelisteten Softwarekomponenten in das Verzeichnis „C:\Crytek\Crysis“ zu installieren. Dieser Pfad sollte während des Installationsvorgangs als Installationsziel bereits voreinstellt sein.
Nachfolgende Verzeichnisangaben gehen von diesem Installationspfad aus.

Server

Sobald die benötigten Softwarekomponenten, wie in Kapitel Einrichtung der Softwareumgebung beschrieben, heruntergeladen, entpackt und installiert wurden, kann der Server für den Einsatz vorbereitet werden. Dies erfolgt in folgenden Schritten:

Einstellungen des Servers konfigurieren

Die Einstellungen werden konfiguriert, indem diverse Konfigurationsdateien editiert werden. Die Dateien, sowie Einstellungsmöglichkeiten sind in der Serverdokumentation beschrieben. Diese Dokumentation befindet sich im heruntergeladenen Archiv, welches die Serverinstallation enthält.
Alternativ können vom Projektteam vordefinierte Konfigurationsdateien verwendet werden. Diese müssen heruntergeladen und in das Root-Verzeichnis (z. B. „C:\Crytek\Crysis\“) kopiert werden.
Ein Archiv mit den vordefinierten Konfigurationsdateien steht hier zum Download bereit: Server_Konfigurationsdateien.zip

Karte einspielen

Das Spiel Crysis bringt eine Vielzahl verschiedener Karten mit. Das Projektteam hat eine eigene Karte entworfen. Diese Karte ist beabsichtigt minimalistisch. Sie enthält ausschließlich Inhalte, die unbedingt nötig sind. Sie ist funktionsfähig, enthält alle bisherigen Anforderungen und kann als Basis eigener Entwürfe dienen. Die Karte muss heruntergeladen, entpackt und in das Verzeichnis kopiert werden, in dem die Powerstruggle-Multiplayer-Karten gespeichert werden. Z. B. „C:\Crytek\Crysis\Game\Levels\Multiplayer\PS\“. Sie steht demnächst zum Download bereit.

Server starten

Der Server wird gestartet, indem die Datei „startup.bat“ (im Crysis Rootverzeichnis, z. B. „C:\Crytek\Crysis\startup.bat“) ausgeführt wird. Dies geschieht, indem die Datei doppelt geklickt wird.
Es öffnen sich zwei Fenster mit schwarzem Hintergrund. Hier kann der Startvorgang des Servers beobachtet werden. Bei Problemen dient das angezeigte Protokoll zur Fehleridentifikation. Der Ladevorgang dauert ca. 20 Sekunden. Anschließend können sich Clients mit dem Server verbinden.

Client

Nachdem die erforderlichen Softwarekomponenten installiert wurden, muss nur noch die richtige Karte in das Dateisystem des Spiels kopiert werden. Karte und Zielpfad sind identisch mit denen des Servers (siehe vorige Überschrift)

Verbindungsaufbau Client - Server

Um eine Verbindung zwischen Client und Server herzustellen, müssen zunächst folgende Bedingungen erfüllt sein:

  • Der Server wurde eingerichtet
  • Der Server wurde gestartet
  • Der Client wurde eingerichtet
  • Client und Server befinden sich im selben Netzwerk

Sind diese Voraussetzungen erfüllt, wird eine Verbindung in folgenden Schritten aufgebaut:

  • Der Client wird gestartet, indem das Spiel Crysis ausgeführt wird. (Videos am Anfang können mit Druck auf die Leertaste übersprungen werden)
  • Aus dem Menü werden folgende Punkte nach der Reihe ausgewählt: „Multiplayer“ - „Lokales Netzwerkspiel“
  • Falls in der Liste „Alle Server“ ein Eintrag „CrySys“ steht, wird dieser nun doppelt mit der Maus angeklickt. Die Verbindung wird nun aufgebaut. Bei erfolgreichem Verbindungsaufbau werden weitere Instruktionen zur Spielteilnahme angezeigt.
  • Falls in der Liste „Alle Server“ KEIN Eintrag „CrySys“ steht, wird die Schaltfläche „Mit IP verbinden“ geklickt. Es kann nun eine Verbindung zum Server aufgebaut werden, in dem die IP des Servers in das neue Fenster eingegeben und bestätigt wird. Die Verbindung wird nun aufgebaut. Bei erfolgreichem Verbindungsaufbau werden weitere Instruktionen zur Spielteilnahme angezeigt.

Schnittstellen der Engine

Die CryEngine 2 bietet dem Entwickler verschiedene Schnittstellen für Modifikationen und Neuentwicklungen. Die sechs wesentlichen Schnittstellen werden im Folgenden aufgeführt:

Sandbox 2

Sandbox 2 ist ein eigenständiges Programm, welches auf der Spiele-DVD von Crysis mitgeliefert wird. Mit dem Programm ist es möglich, über eine graphische Oberfläche sehr komfortabel dreidimensionale Karten (Welten) zu erstellen. Diese können frei gestaltet werden und somit unterschiedlichste Erscheinungsformen darstellen. So ist es sowohl möglich, einen Urwald als auch ein Krankenhaus als 3D-Karte zu erschaffen.
Diese Karten bilden später die räumliche Umgebung für die Avatare der Clients.
Tutorial - Eine einfache Karte erstellen mit Sandbox 2

Lua

Lua ist eine imperative und erweiterbare Skriptsprache zum Einbinden in Programme, um diese leichter weiterentwickeln und warten zu können.
Lua-Programme sind meist plattformunabhängig und werden vor der Ausführung in Bytecode übersetzt. Obwohl man mit Lua auch eigenständige Programme schreiben kann, ist sie vorrangig als eingebettete Skriptsprache für andere Programme konzipiert.
In der CryEngine 2 kann der Entwickler durch Lua-Scripts verschiedene Objekte, auch „Entities“ genannt, steuern. Durch Lua-Scripts wird zum Beispiel das Verhalten der „intelligenten“ Agenten im Spiel (z. B. Computergegner) beschrieben.
Offizielle Lua Homepage
Dokumentation- und Tutorialsammlung CryEngine2 und Lua

C++

C++ ist eine höhere Programmiersprache.
In der CryEnigne 2 wird es durch den Einsatz von C++-Programmen möglich, mächtige Erweiterungen zu implementieren
Dokumentation- und Tutorialsammlung CryEngine2 und C++

Flograph

Flowgraphen ermöglichen „visuelles Scripting“. Auf graphischer Ebene wird dem Entwickler die Möglichkeit geboten, Ereignisse und Aktionen (Nodes) miteinander zu verknüpfen. Hierzu stehen eine große Auswahl an Ereignissen, logischen Bausteinen und Aktionen bereit, die per Drag & Drop verknüpft werden können.
Beispiel für einen Flowgraph
Einführung in Flowgraphen
Referenz aller Flowgraph-Nodes

Flash ActionScript

ActionScript ist eine ereignisorientierte Programmiersprache.
Der Entwickler kann durch Einsatz von ActionScript anspruchsvolle HUD's (Head Up Display) in der CryEngine 2 implementieren.
Dokumentation- und Tutorialsammlung CryEngine2 und ActionScript

XML

XML ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten.
In der CryEngine2 werden die Eigenschaften von Fahrzeugen und Waffen leicht modifizierbar in XML beschrieben. Sie tragen zur Steuerung der Entities bei.
Vergleich mit Lua: Während durch Lua-Scripts das Verhalten eines Entities festgelegt wird, wird durch XML der Charakter beschrieben.
XML Parameter-Liste
Dokumentation- und Tutorialsammlung CryEngine2 und XML

Umstieg CryEngine2 auf CryEngine3

Entwicklung einer Programmschnittstelle

Ausblick

Im nächsten Semester werden wir Kontakt mit dem Projektteam des Projektes „Simulator“ aufnehmen. Diese Arbeitsgruppe hat bereits eine Software entwickelt, die einen virtuellen Roboter im Raum steuert. Die graphische Ausgabe ist klar von der Programmlogik getrennt. Sie basiert auf OpenGL und hat eine sehr einfache Anmutung.

Um beide Projekte zu verbinden, werden wir eine Schnittstelle ausarbeiten und einen Roboter im simulierten Raum modellieren. Es bietet sich hier die Gelegenheit, für die Schnittstelle möglicherweise Standards zu definieren und aus dem sehr großen Angebot der CryEngine die zur Verfügung stehenden und zu diesem Zweck nutzbaren Programmierschnittstellen zu identifizieren.

Glossar

Siehe auch DIN 19226

Simulation
Simulation kann definiert werden als ein Sammelbegriff für die Darstellung oder Nachbildung physikalischer, technischer, biologischer, psychologischer oder ökonomischer Prozesse oder Systeme durch mathematische oder physikalische Modelle, wobei die Untersuchung des Modelles einfacher, billiger oder ungefährlicher als die des Originals ist und die Erkenntnisse Rückschlüsse auf die Eigenschaften des Originals erlauben.

System
Ein System ist eine in einem betrachteten Zusammenhang gegebene Anordnung von Gebilden, die miteinander in Beziehung stehen.

Systemparameter
Die Systemparameter sind Größen, deren Werte das Verhalten des Systems bei gegebener Struktur kennzeichnen.

Modell
Abbildung eines Systems oder eines Prozesses (Gesamtheit der Vorgänge) in ein anderes begriffliches oder gegenständliches System.

Modellierung
Prozess des Ordnens von Wissen über ein System

Links

Es werden im Folgenden nur Links aufgelistet, deren Inhalt von mindestens einem Teammitglied positiv auf ausreichende Qualität getestet wurde.
Es existieren zwei öffentliche Portale, die vielgenutzte Foren beinhalten und umfangreiche Informationen zur Verfügung stellen. Sie sind bei den meisten Fragen unsere erste Anlaufstelle:
Ctrytek's offizielles Modding Portal
Portal "Crysis-HQ"


Tutorials
Erstellung einer einfachen Karte mit dem Sandbox-Editor
Erstellung eines Gebäudes, Texturierung
Tutorial-Sammlung von "Crysis-HQ"


Hilfe


Dokumentation
Documentation Scripting/Coding


Forum
Forum von Cryteks offiziellem Modding Portal
Forum "Crysis-HQ"


Downloads



Melden Sie sich an, um einen Kommentar zu erstellen.
de/simulation.txt · Zuletzt geändert: 2014/11/24 12:37 (Externe Bearbeitung)