AIGS: AI Game Server
Das Framework “AIGS” (AI Game Server) wurde erstellt, um Studierenden den Einstieg in die Programmierung zu erleichtern. Es erlaubt die einfache Erstellung von Brettspielen wie Schach oder Go und hilft das Erlernte auf einfache Weise in die Praxis umzusetzen und somit den Lernerfolg zu steigern.
Stöckli, Matthias, 2013
Type of Thesis Bachelor Thesis
Client Institut für Wirtschaftsinformatik, HSW FHNW
Supervisor Richards, Bradley
Views: 9 - Downloads: 2
Die FHNW bietet einen Bachlorstudiengang in Wirtschaftsinformatik an. Vor kurzem wurde der dieser neu gestaltet. Bestandteil des Curriculums ist eine Einführung in die objektorientierte Programmierung. Die Lehrbeauftragten der Hochschule stellten Überlegungen an, wie Studierende das Gelernte im Rahmen des Unterrichts praktisch anwenden könnten. Es wurde die Schaffung des Frameworks „AIGS“ (AI Game Server), das die Studierenden beim Erlernen und Meistern der Programmiersprache Java unterstützen soll, beschlossen. Diese Arbeit umfasst die Umsetzung und Dokumentation dieses Projekts.
Die Programmierung erfolgte nach einem agilen, protypenbasierten Vorgehen. Der Code wurde nach dem Grundsatz der Verständlichkeit gestaltet. Das System sollte nicht als Blackbox fungieren, sondern zu jeder Zeit nachvollziehbar reagieren. Dies wurde durch eine intensive Codedokumentation erreicht. UML-Diagramme und andere Grafiken wurden zur Visualisierung von Zusammenhängen benutzt. Diese Form der Dokumentation soll auch im Rahmen von Unterrichtseinheiten benutzt werden können, um Konzepte der Programmierung zu veranschaulichen.
Im Rahmen dieser Arbeit wurde das Framework „AIGS“ (AI Game Server) erstellt. Es ermöglicht die unkomplizierte Erstellung von Brettspielen wie wie Schach oder Go. Das System ist jedoch auch flexibel genug, dass es auch für andere Spielgattungen eingesetzt werden kann. Das System besteht aus zwei Bestandteilen: Einer Plug-in-basierten Server-Anwendung und diversen Klassenbibliotheken, welche die Erstellung von Spiele-Clients erlauben. Die auf der JavaFX-Technologie basierten Clients sind für die grafische Oberfläche verantwortlich, die Logik der Spiele wird über so genannte Spiellogikmodul auf dem Server ausgeführt. Der Server dient dabei als stabile Plattform für die von den Studierenden erstellten Spiele. Die Kommunikation zwischen Server und Client findet über ein XML-basiertes Messaging-System statt.
Neben dem Quellcode und zugehöriger Dokumentation wurde auch die Systemarchitektur, technischen Details und der Erstellungsprozess ausgiebig beschrieben. Anhand von drei Demo-Clients (TicTacToe, Minesweeper und einem mathematischen Spiel) sowie einer Anleitung können die Studierenden auf dieser Basis eigene Clients erstellen und ihre Tätigkeiten praxisnah überprüfen und erweitern.
Studyprogram: Wirtschaftsinformatik (Bachelor)
Keywords Java, Programmierung, Framework
Confidentiality: öffentlich