Angewandte Computer‐ und Biowissenschaften
Refine
Document Type
- Bachelor Thesis (13)
- Diploma Thesis (2)
- Master's Thesis (2)
Keywords
- Programmierung (17) (remove)
Institute
In dieser Arbeit geht es um die Validierung von Richard Bartles Modell der Spielerarchetypen in einem Einzelspieler-Videospiel. Das Modell wurde für die Entwicklung des Spiels Explorer Bot angewendet. Die Validität des Modells wurde anschließend über zwei Faktoren bestimmt. Zum einen wurden die Meinungen über Explorer Bot der Spieler mittels einer Umfrage aufgezeichet. Der andere Faktor besteht aus der Existenz der Archetypen unter den Spielern Explorer Bots.
Diese Arbeit beschäftigt sich mit der Entwicklung von performanten Modulen zur Implementierung von Netcode in einem Multiplayer-Spiel. Sie vergleicht dabei zunächst verschiedene Frameworks und dokumentiert den Entscheidungsprozess anhand eines konkreten Spiels. Es werden daraus folgend mehrere Ansätze für den Aufbau eines Netzwerkmoduls aufgezeigt und diese schließlich miteinander auf ihre Performance verglichen.
Seit 2018 befindet sich das Projekt „BuggyTech Engine“ an der Hochschule Mittweida in studentischer Entwicklung. Auf dieser Game Engine soll das von der Autorin konzipierte Spiel „Neon Nova“ laufen, wofür sie ein Game Design Document (GDD) erstellte. Das GDD stellt als grundlegendes Dokument, welches sämtliche relevanten Aspekte eines zu entwickelnden Spiels beschreibt, ein Herzstück in der Videospielentwicklung dar. Es dient als zentrales Werkzeug für das Entwicklerteam, um gemeinschaftlich auf ein klares Ziel hinzuarbeiten. In der klassischen Softwareentwicklung werden Anforderungen und Spezifikationen an eine zu entwickelnde Software detailliert in Form eines Lastenheftes verschriftlicht, welches für die Entwickler ähnliche Funktionen hat, wie das GDD. Diese Konzepte werden, neben der Erarbeitung zusätzlicher Wissensgrundlagen, zunächst dargestellt und auf Inhalte, sowie Vor- und Nachteile untersucht. Im Hauptteil dieser Arbeit wird die Eignung eines GDD als Grundlage für die Anforderungsanalyse einer Game Engine am Beispiel von Neon Nova und der BuggyTech Engine untersucht. Der Prozess der Erstellung des Lastenheftes wird dargelegt und die Ergebnisse vorgestellt. Zudem wurden Datenmodelle und UI Layouts für die spezifische Anwendung in de BuggyTech Engine konzipiert. Abschließend wird ein Fazit über den Prozess und die Geeignetheit der aufeinander aufbauenden Arbeitsweise der beiden Dokumente gezogen, welche normalerweise nicht miteinander in Kontakt kommen. Das Ergebnis der Arbeit ist ein vollständiges, für die Weiterentwicklung der BuggyTech Engine nutzbares Lastenheft.
Diese Arbeit behandelt, wie in einem rundenbasierten Strategiespiel ein System zur Integration linearen Missionsdesigns implementiert wurde. Es erlaubt, Missionen anzulegen und in Szenarien zu gruppieren, welche sich wiederum in einer Kampagne zusammenfassen lassen. Dabei können beliebig viele Kampagnen gleichzeitig existieren, ohne dass sich deren Inhalte überschneiden. Die Implementierung des Systems ist umfangreich beschrieben und wird mit relevanten Code-Beispielen veranschaulicht. Das Spiel wurde hinsichtlich der Player Experience, Usability und User Experience mit den Fragebögen MEEGA+ und AttrakDiff evaluiert. Eine Evaluation der User Experience mit AttrakDiff wurde auch für den zum Spiel gehörenden Inhaltseditor durchgeführt. Die dabei ermittelten Ergebnisse zeigen, dass beide Anwendungen von den Probanden grundsätzlich gut bis sehr gut wahrgenommen werden. Durch eine Detailanalyse der einzelnen Wertungen sowie dem zusätzlich gegebenen Feedback konnten Stärken und Schwächen identifiziert werden. Um die Schwachpunkte in zukünftigen Entwicklungsbestrebungen effizient bearbeiten zu können, sind passende Vorschläge und detaillierte Erklärungen der Ursachen beigefügt worden. Der Mehrwert des Kampagnensystems hinsichtlich wahrgenommener Qualität und Motivation wird durch einen Vergleich mit Evaluationsergebnissen einer früheren Version bewiesen. Diese wurden in dem dieser Arbeit vorangegangenen Forschungsmodul, in welchem die damalige Spielversion ebenfalls mit MEEGA+ evaluiert wurde, ermittelt. Zum Verständnis der Arbeit wird Vorwissen mit der Game Engine Unity sowie ihrer grundlegenden Konzepte, bspw. GameObjects und daran angebundene Komponenten, vorausgesetzt. Da an verschiedenen Stellen Bezug auf das Forschungsmodul sowie den darin erlangten Erkenntnissen genommen wird, ist die Konsultation des zugehörigen Abschlussberichtes empfehlenswert. Er liegt dieser Arbeit als digitale Anlage F bei.
In dieser Arbeit wird eine Vorgehensweise für die Erstellung von Grafiken zur Nachempfindung eines 2D Cartoon Looks mithilfe von 3D-Daten vorgestellt und evaluiert. Dafür werden vorerst essenzielle Definitionen in Bezug auf Stil geklärt, wichtige Stilelemente identifiziert, erläutert und in einer 3D-Umgebung praktisch umgesetzt. Es wird dabei eine tatsächliche Nachbildung von Spielelementen durchgeführt, um diese schlussendlich bewerten zu können.
Die Datenschutzgrundverordnung hat in der Europäischen Union für ein einheitliches Datenschutzrecht gesorgt. Sie fordert unter anderem eine einfache und verständliche Sprache von Datenschutzerklärungen und benennt umfangreiche, inhaltliche Anforderungen. Im Praxisumfeld ist es aber immer noch nicht selbstverständlich, dass Datenschutzerklärungen sich an formalen und inhaltlichen Festlegungen der Datenschutzgrundverordnung und weiterer geltender deutscher Gesetze orientieren. Das in dieser Arbeit erstellte Python-Programm zur automatisierten Analyse von Datenschutzerklärungen kategorisiert Themenabschnitte mit Hilfe einer Stichwortsuche und prüft die Datenschutzerklärung anhand eines festgelegten Katalogs an Testkriterien. Abschließend wird eine Bewertung auf Basis der Form und des Inhalts vorgenommen.
Ein Compiler oder Assembler wandelt Quellcode in ein ausführbares Programm um. Das resultierende Binary besteht aus Befehlen und Ressourcen, wie Bilder, Sounds oder anderen Informationen. Ohne den Ausführungskontext kann jedoch nicht im Vorhinein mit absoluter Sicherheit eine Angabe gemacht werden, bei welchen Bytes es sich um Anweisungen und bei welchen Abschnitten im Programm es sich um Ressourcen handelt. Bei einer Untersuchung oder einem
Dekompilierungsvorgang der binären Datei gestaltet sich diese bzw. dieser ohne vorliegenden Quellcode sehr schwierig. Als Beispiel für eine Von-Neumann-Architektur wurde in dieser Arbeit der Game Boy mit seiner
Sharp-LR35902-CPU gewählt. Mit Banking verwendet die Architektur sowohl historische Technologien, ähnelt aber dennoch sehr den derzeit häufig genutzten x86-64-CPUs von Intel oder AMD. Außerdem bieten die kleinen Programme von maximal zwei Mebibyte die Möglichkeit, auch in ineffiziente Ansätze auszuprobieren. In dieser Arbeit wurde anhand der folgenden sieben Lösungsansätze erläutert, wie man eine Befehl-Ressourcen-Trennung erzielen kann.
Manueller Ansatz (siehe Kapitel 3.1)
Metadaten-Ansatz (siehe Kapitel 3.2)
Alles-Befehle-Ansatz (siehe Kapitel 3.3)
Statistischer Ansatz (siehe Kapitel 3.4)
Emulationsansatz (siehe Kapitel 3.5)
Programmflussansatz (siehe Kapitel 3.6)
Brute-Force-Ansatz (siehe Kapitel 3.7)
Insbesondere wurden drei automatisierte bzw. teilautomatisierte Ansätze implementiert und anschließend
mit einer manuellen Trennung als Referenzwert verglichen. Dabei erzielte, bei dem verwendeten Kontrollprogramm ”StefaN”, der Programmflussansatz ein gutes Ergebnis.
Das mittels Emulationsansatz gewonnene Ergebnis schloss etwas schlechter ab. Der Brute-Force-Ansatz scheiterte an exponentiellen Wachstum und erzielte damit das schlechteste Ergebnis. Eine korrekte Trennung konnte nur mit dem manuellen Ansatz erreicht werden. In dieser Arbeit konnte keine vollautomatisierte Lösung für das Problem gefunden werden. Grundsätzlich kann festgehalten werden, dass eine Befehl-Ressourcen-Trennung einer ausführbaren Binärdatei auch in Zukunft eine Herausforderung darstellt.
Im Rahmen der Abschlussarbeit soll untersucht werden, inwiefern die Kombination von live objects der Realm Database auf der einen Seite und Combine und SwiftUI auf der anderen, die entstehende Komplexität und Fehleranfälligkeit bei der App-Entwicklung in iOS reduzieren kann. Es soll ein durchführbarer praktischer Teil in Form einer Chat-App entstehen und getestet werden, die die Vor- und Nachteile der genannten Techniken verdeutlicht.
Das Ziel der vorliegenden Arbeit war es, Algorithmen auf speicherprogrammierbaren Steuerungen (SPSen) und Linx-basierten Systemen umzusetzen und dabei einer möglichst einheitlichen Implementierungsstrategie zu folgen. Dabei wurde ein Algorithmus beispielhaft auf SPSSystemen von zwei Herstellern implementiert. Phoenix Contact unterstützt lediglich Sprachen, die durch den Standard IEC/EN 61131-3 spezifiziert sind. Beckhoff ermöglicht durch die Integration von C++ die Umsetzung auf einer gemeinsamen Codebasis mit dem Linux-System. Die gemeinsame Codebasis unterliegt allerdings Einschränkungen.