Modul Game Design und Programmierung

Gamification am Fließband - Lernen mit Gamitication.

Im Modul Game Design und Programmierung realisieren Sie in in der Regel ein einfaches Spiel in einem Mini Projekt(*) in Zwei-Personen-Teams(**). Dazu haben Sie bis zu 6 Wochen Zeit. Zu Beginn der Veranstaltung erfahren Sie etwas über die Grundlagen der Programmierung mit HTML, CSS, Javascript, AJAX, PHP. Ebenso werde Sie sich Kenntnisse über die Theorie des Spiels, Motivationstheorien und Gamification erarbeiten.
Sie können einige Projekte – alternativ zu Javascript – auch mit UNITY und C# / DOT.NET realisieren. Pflicht ist eine Severkomponente in PHP.

Stand: 02.12.2020 

Programmierung

Folgende Komponenten können zum Einsatz kommen:

  1. Webservices in PHP (Die Anbindung eines Webservices mit PHP ist in jedem Fall Pflicht)
  2. Datenhaltung in Dateien, CSV und SQLite
  3. Webclients in Javascript mit HTML und CSS
  4. Datenkommunikation über AJAX
  5. Im Wintersemester 2020 können Sie Projekten mit dem Raspberry Pi oder anderen Scheckkartencomputern und IoT Komponenten realisieren.
  6. Wer möchte, kann betriebssystemübergreifend auf Spartphones mit Flutter programmieren

Anforderungen / Voraussetzungen

Sie wenden Kenntnisse aus dem gesamten bisherigen Studium an: Projektplanung und Organisation, Anforderungsanalyse und Modellierung der Systemarchitektur (ARIS oder UML, BPMN, Datenmodellierung mit ERM und Relationenmodellen…), Einsatz von Vorgehensmodellen (Wasserfall, SCRUM…). Diese Kenntnisse setze ich voraus. Ebenso setze ich voraus, dass Sie in mindestens einer Programmiersprache schon programmieren können.

Das heißt: Sie müssen folgende Module schon bestanden haben:

  1. BWI201 qualitative und quantitative Methoden der Wirtschaftsinformatik
  2. BMI403 DOT.NET 1
  3. OOP1 (Programmieren mit Java)

Zu den Projekten bzw. zur Prüfungsanforderung gehört:

  1. Programmierung
  2. eine Präsentation am Ende der Vorlesungszeit
  3. ein youtube-fähiges Pitch-Video
  4. ein Poster

Wer nicht programmieren kann oder nicht programmieren will, wird dieses Modul nicht bestehen und sollte es nicht wählen.

Hier finden Sie demnächst …

Projekte für das kommende bzw. laufende Semester.

Bereits realisierte Projekte.

Schauen Sie sich auch die Pitch-Videos aus vergangenen Semestern in meinem youtube-Kanal an:

[ Google Suche nach youtube claus brell game design ]

Rahmenbedingungen

Machen Sie sich schon vor Beginn des Moduls mit den Inhalten auf der Lernplattform Moodle vertraut (Nur Studierende der Hochschule Niederrhein). Das Modul heißt „BWI 50201 Game Design und Programmierung (Brell)“ und hat das Modulkennwort „brell“ (wie alle meine Module). Sie erreichen das Modul unter:
https://moodle.hsnr.de/course/view.php?id=3763

(*) Für die Projektideen beanspruche ich das Urheberrecht. Sie können die Ergebnisse jedoch gerne für eigene Weiterentwicklungen oder Firmengründungen verwenden. Über die Gründung eines Start Ups freue ich mich besonders.
(**) Zwei Personen Teams habe sich als sehr effizient herausgestellt und sind daher der Regelfall.

(***) SQLite ist erlaubt, MySQL nicht!

Aktuelle Programmier-Projekte, die bearbeitet werden können

Übersicht:

  • P20W1: Spielzeuge für Imker I – Bau einer Mini-Waage für das Mini-Plus-Beutensystem
  • P20W2: Spielzeuge für Imker II: Front-End / User Experience für unterschiedliche existierende Daten
  • P20W3: Feedbacksystem für soziale Roboter
  • P20W4: Craftbier brauen Schritt für Schritt
  • P20W5: Paarvergleich: Eignung von Javascript Frameworks (insgesamt 12 Projekte möglich)
  • P20W6: Handelskomponente für gameForSale
  • P20W7: Findekomponente für gameForSale
  • P20W8: Das virtuelle Flummiglas
  • P20W9: Spielzeuge mit dem Raspberry Pi
  • P20W10: Social Feedback mit dem Raspberry Pi

 

P20W1: Spielzeuge für Imker I – Bau einer Mini-Waage für das Mini-Plus-Beutensystem

Es soll eine ganz einfache kleine Waage für Mini-Plus entwickelt werden. Die Waage selber wird aus einer Wägezelle und zwei Karrosseriesperrholz-Platten bestehen, die Messelektronik aus einem Raspberry Pi Zero WH plus HX711-Modul (Programmierung in Python). Für die Datensammlung wird ein Webservice in PHP benötigt. Datenspeicherung in einer CSV-Datei auf dem Webserver, SQLite ist erlaubt, MySQL nicht! Über eine nette grafische Aufbereitung muss man sich Gedanken machen. Spiel-Design-Element ist Instant Feedback.
Geeignet für Menschen, die sich gerne mit IoT beschäftigen möchten und keine Angst vor Elektronik haben.

P20W2: Spielzeuge für Imker II: Front-End / User Experience für unterschiedliche existierende Daten

Seit zweieinhalb Jahren werden von Sensoren aus Bienenstöcken Daten gesammelt, z.B. hier:
https://cbrell.de/biene40/
Wie könnte das „schöner“ aussehen, vielleicht auch „verspielter“, ohne den informativen Charakter zu verlieren? Wie wäre es mit einem Steampunk-Dashboard … Für bestehende Datenpools sind ETL-Prozesse in PHP zu programmieren, der Front-End vorzugsweise in Javascript / AJAX, Unity ist auch möglich.
Geeignet für Menschen, die sich mit User Experience  auseinandersetzen wollen.

P20W3: Feedbacksystem für soziale Roboter

(Wahlweise Ajax, Android- oder iOS App). Material: Youtube Videos zum Anki Cozmo, https://cbrell.de/augen, https://spectrum.ieee.org/automaton/robotics/humanoids/what-people-see-in-157-robot-faces.
Analog zum Anki Cozmo sollen „emotionale Zustände“ über Augen visualisiert werden. Dazu ist ein Anzeigemedium (128 x 64 Pixel, entweder als Ajax-Anwendung (bevorzugt), App auf dem Smartphone oder Mini-Display mit Raspberry) zu programmieren, das einen emotionalen Zustand von einem Webservice holt und visualisiert.
Die passenden Webservices und eine Eingabemöglichkeit für die emotionalen Zustände sind zu erstellen.
Eine alternative Nutzungsform (auf einem Tablet, „Cozmo-like-eyes“) wäre die Funktion als eye-Catcher für Schaufenster im stationären Handel. Für das Mssterstudium kann hieraus ein. Masterforschungsprojekt abgeleitet werden. (Hier wäre es sinnvoll, wenn die Augenbewegungen einem Schaufensterbummler vor dem Schaufenster folgen würden. Das sprengt aber den Rahmen eines Mini-Projektes).

P20W4: Craftbier brauen Schritt für Schritt

Spielerische online Unterstützung für Hobby-Bierbrauer . Anhand der einfachen Literatur über das Bierbrauen und der Brauprotokolle soll eine Art internetbasierte Checkliste für das Bierbrauen entwickelt werden. Der „Spieler“ wird dadurch in kleinen Schritten durch den Brauprozess geführt und kann abhaken, wann er bestimmte Schritte erledigt hat. Zu jedem Brauprozessschritt gibt es eine kleine Anleitung, was zu tun ist. Technik: AJAX gut geeignet.

P20W5: Paarvergleich: Eignung von Javascript Frameworks

Mit Hilfe einer einfach Spielidee („eat them all“, siehe weiter unten unter „Spiel-Ideen“) soll untersucht werden, welche Javascript-Frameworks für einfache Browserspiele geeignet sein könnten. Dazu sind zwei der vier Frameworks auszuwählen und das Spiel damit zu realisieren. Bitte beachten: eine reine Javascript-Lösung gibt massiv Punktabzug, auch hier ist ein „Austauschwebservice“ in PHP erforderlich.
Die vier Frameworks: Angularjs, Vue.js, React, Ember.js.
Wer mag kann auch eine Variante in UNITY programmieren und mit nur einem Framework vergleichen.

P20W6: Handelskomponente für gameForSale

Für die Idee eines Geo-Spiels zur Beförderung des stationären Handels soll die Komponente „Handel/Verschenken der Spielitems“ realisiert werden. Zum Start erhält ein Spieler einen Satz von Items (verschiedene Edelsteine, oder einfach farbige Blasen mit CSS), die er/sie einem anderen Spieler schenken kann (erster Schritt). In einem zweiten Schritt kann überlegt werden, ob dem Verschenken ein „Aushandeln“ des gegenseitigen Beschenkens vorausgeht. Programmierung mit AJAX und PHP Webservices, CSV-Dateien oder SQLite. Idealerweise als PWA.

P20W7: Findekomponente für gameForSale

Für die Idee eines Geo-Spiels zur Beförderung des stationären Handels soll die Komponente „Finden und Sammeln der Spielitems“ realisiert werden. Ein Spieler sieht Items ( Edelsteine, oder einfach farbige Blasen mit CSS) in der Nähe (Geo Fence) und kann nun den Ort aufsuchen.  Programmierung mit AJAX und PHP Webservices, CSV-Dateien oder SQLite. Idealerweise als PWA. Der Client kann bei ausdrücklichem Wunsch auch nativ auf dem Smartphone (Android SDK, Iphone XCode, Flutter) programmiert werden.
Pitch-Video eines Vorläuferprojektes:

Der Quartiersverödung entgegenwirken. Jonas Heimann und Merlin Stottmeister haben in einem studentischen Projekt ein spielerisches System entwickelt, das Besuche von Ladenlokalen attraktiver machen kann. Pitchvideo auf youtube

Pitch-Video meines Beitrages zum NUK Businessplan-Wettbewerb auf youtube

P20W8: Das virtuelle Flummiglas

Entwicklung einer Gamificationplattform für analoge Realwelten (Ajax bevorzugt). Erläuterung hierzu siehe Abschnitt „Gedankenspiel zur Implementierung von Gamification“ im Artikel auf Informatik-aktuell. [Link]

P20W9: Spielzeuge mit dem Raspberry Pi

Hier können (und müssen) Sie Ihrer Kreativität freien Lauf lassen. Rahmenbedingungen: Programmierung des Raspberry mit Python, es muss eine Webservice mit PHP angebunden werden. Geeignet nur für Teams, die schon Erfahrung mit dem Raspberry haben.

P20W10: Social Feedback mit dem Raspberry Pi

Mit Hilfe eines Raspberry Pi und eines LED-Rings soll ein Anzeigegerät entwickelt werden, dass von zwei Personen die Gemützustände anzeigt („Mir geht es heute ….“) Gefüttert wird das System über eine einfache Webseite. Die Daten lädt sich der Raspberry jede Minute.

P20W11: Table Top Umsetzung mit Unity&PHP: Variante Strategiespiel „der eiserne Thron“

P20W12: Geschenkemanagement „virtueller Weihnachtsmann“

Jeder kann seine Wunschliste auf einer Internetplattform einstellen und auch ändern. Jeder kann alle Wunschlisten sehen. Jeder kann einen Kommentar zu einem ANDEREN Wunsch schreiben und dort diskutieren. Jeder sieht alles, aber nicht die Kommentare zu den eigenen wünschen. Dadurch wird sich dann herauskristallisieren, wer sich um welches Geschenk kümmert und es bleibt eine Überraschung. Kein kompliziertes Rechtemanagement. Nur selbstgewählten Benutzernahmen. Es geht nicht darum, ein vermarktbares Produkt zu bauen, sondern einen Prototypen, an dem man testen kann, wie sich das anfühlt. Realisierung in AJAX. Spiel-Design-Elemente: Community-Building, Instand Feedback.

Mockup virtueller Weihnachtsmann

Abb. Mockup virtueller Weihnachtsmann. So kann es aussehen, muss es aber nicht.

P20W13: Quantified Self: Zielverfolgung gamifiziert

Ziel: Es soll eine Flutter-App (für Android) in Verbindung mit einem Webservice programmiert werden, die dem Nutzer ein Instant-Feedback gibt, wie viele seiner Ziele er bereits erreicht hat.

Spielertypen: Zunächst soll dadurch der Spielertyp Achiever angesprochen werden. (Optional auch der Socializer, wenn eine Social Media-Funktion eingebaut wird).

Pficht: – Ziel anlegen – Ziel als erledigt markieren – Ziel löschen – PHP Kompenente für die Datenhaltung mit Anbindung einer SQLite Datenbank-Tabelle

Optional: – den Zielen Eisenhower-Kriterien zuordnen – Social Media Sharing-Funktion

Spiel-Ideen

„eat them all“

Ein einfaches Browserspiel für zwei Personen. Jeder Spieler hat einen farbigen Kreis, mit dem er versucht, schneller als der Mitspieler kleine Quadrate zu „essen“ (zu überfahren …). Die Kreise können wahlweise mit den Pfeiltasten auf der Tastatur oder mit der Maus gesteuert werden. Je Spiele werden die gegessenen Quadrate gezählt. Beim Spielstart werden Quadrate automatisch auf dem Spielfeld verteilt. Wichtig für einen Spieler: was macht der Mitspieler, wird er schneller bei den ausgewählten Quadraten sein?

Interessant wäre eine „Gameboy-like“ reduzierte Variante mit einem Textfeld. Auf einem Textfeld von 16 * 16 Buchstaben gibt es zwei Spieler A und B, die Quadrate sind einfach nur ein x. Ob die Programmierung einfacher ist, ist noch unklar.

Abb. 1: Variante mit Kreisen und Quadraten (Mockup)

Abb. 2: Variante mit einem Buchstabenfeld (Mockup)

„gameForSale“

1 Kurzbeschreibung

gameForSale erhöht die Besuchsfrequenz im stationären Einzelhandel mit einem geobasierten Sammelspiel vergleichbar zu Geochching und Pokémon Go und gibt dem Handel die Chance auf Konversion. Damit wirkt gameForSale auch der Verödung der Innenstädte entgegen. Händler proftieren einfach, kostengünstig, niederschwellig (und ohne eigene Aktivitäten, wenn beabsichtigt). In zeitlich begrenzten Aktionen können Kundinnen virtuelle Gegenstände in der Nähe von Ladengeschäften finden, sammeln, tauschen und verschenken. Dazu müssen Sie Ladengeschäfte aufsuchen, an denen die virtuellen Gegenstände platziert sind. Ein Händler kann, wenn er will, für einen virtuellen Gegenstand einen Rabatt geben. gameForSale minimiert dabei Datenverkehr und erhebt keine personenbeziehbaren Daten.
In zwei Kampagnen wird die Wirksamkeit game-based-Ansatzes geprüft.

Damit das Sammelspiel immer wieder neu attraktiv ist, werden je nach Kampagne, die Sammelgegenstände geändert. erstes Ostern: bunt gemusterte Eier, zweites Ostern: Blumen, drittes Ostern: Fantasie-Schmetterlinge, erstes Weihnachten: Edelsteine, zweites Weihnachten: personalisierbare Goldmünzen, drittes Weihnachten: versendbare Emojis u.s.w. In lokal begrenzten Aktionen können Händlergemeinschaften und Werberinge ihre eigenen spezifischen Sammelideen einbringen.

Grundsätzlich muss der Ansatz nicht auf den stationären Handel bezogen werden. Es sollte leicht möglich sein, die Idee für andere Anwendungsfälle (Museen, besondere Plätze im Quartier …) zu adaptieren.

2 Ideen für die Umsetzung

gameForSale will einen spielerischen Ansatz nutzen, um Menschen als potenzielle Kunden auf Ladengeschäfte in den Innenstädten aufmerksam zu machen. Die Besuchsfrequenz des inhabergeführten stationären Handels soll dadurch erhöht werden, dass gameForSale einen Anreiz für Menschen bietet, ein Ladengeschäft zu suchen und damit zu be-suchen.  Die Ideen für die Spiel-Design-Elemente lehnen sich an Mechanismen von Pokemon Go (Ni-antic), Diablo (Blizzard) und Geocaching an und adressiert die Spielertypen „Archiever“ (Schnapp sie Dir alle) und „Explorer“ (Entdecke die Möglichkeiten) sowie den „Socializer“ (Tausch- und Verschenk-Funktion) nach der Spielertypenkategorisierung von Bartle.
gameForSale positioniert sammelbare virtuelle Gegenstände – das können z.B. Edelsteine sein – vor Schaufenstern von Ladengeschäften in den Innenstädten. Kundinnen werden durch ihr Smartphone auf Standorte sammelbarer virtueller Gegenstände in der Stadt hingewiesen (Für Game Design zu Vereinfachung: aktiv nachschauen, kein Automatismus). Dort werden sie hingehen, den Gegenstand einsammeln und das Schaufenster bemerken. Kundinnen können auch virtuelle Gegenstände untereinander tauschen und verschenken, um so alle verschiedenen Gegenstände zu erhalten.
Händler können, wenn sie von einer Kundin einen virtuellen Gegenstand geschenkt bekommen, einen Rabatt geben. Das Bewerben des Rabattes lockt die Sammlerinnen in die Läden.
Der technische Rahmen für gameForSale ist eine webbasierte Plattform (im einfachen Fall eine Progressive Web App, bei Bedarf Apps für Android und iOS, die Nutzung von GPS-Signalen / Geofences sowie ggf. QR-Codes)

gameForSale Spielablauf

Abb. Ablauf gameForSale

gameForSale Smartphone Ansichten

Abb. möglich Ansicht auf dem Smartphone

 

Aktuelle Seminararbeiten, die alternativ zu den Projekten bearbeitet werden können

Alternativ können zu den Projekten (volle Punktzahl) auch Seminararbeiten (reduzierte Punktzahl) geschrieben werden. Auch die Seminararbeiten sind für zwei-Personen-Teams vorgesehen.

Übersicht:

  • S20W1: Methodische Literaturrecherche: Gamification
  • S20W2: Steam. Chance für Spieleerfinder im Nebenerwerb
  • S20W3: Selbstmotivation bei der Unternehmensgründung
  • S20W4: Problemfall Programmierer
  • S20W5: WordPress mit Gamification anreichern
  • S20W6: Shopsysteme für Einsteiger
  • S20W7: Fundgrube Brett- und Gesellschaftsspiele

S20W1: Methodische Literaturrecherche: Gamification

Stand der Forschung und praktische Anwendungen

S20W2: Steam. Chance für Spieleerfinder im Nebenerwerb

Wie „funktioniert“ Steam? (Technische Grundlage, Geschäftsmodell ….)  Wie geht man als Spielentwickler vor? Welche Verdienstmöglichkeiten gibt es? Ein kleiner Leitfaden für Neueinsteiger …

S20W3: Selbstmotivation bei der Unternehmensgründung

Am Beispiel einer realen Existenzgründung werden Hemmnisse und persönliche Strategien, diese zu überwinden dargestellt. Bezug zu Spielertypen und Motivationstypen.

S20W4: Problemfall Programmierer

Gute Programmierer sind für Personalabteilungen oft schwierige Kandidaten, da die gängigen Anreizsysteme zur Leistungssteuerung versagen. Woran liegt das? Wie wird dem begegnet? (Recherche). Welche neuen Ideen könnte es geben, Verhaltensänderungen bei Programmierern zu initiieren?

S20W5: WordPress mit Gamification anreichern

Welche Gamification-Plugins für WordPress gibt es? Ist das wirklich Gamification oder etwas anderes? Für welche Anwendungsszenarien kann es überhaupt sinnvoll sein, das einzusetzen? (Anmerkung: das Thema ist relativ offen)

S20W6: Shopsysteme für Einsteiger

Wer selber einen Internet-Shop aufbauen möchte, wird auf viele Hürden stoßen. Legt man Motivationstheorien (Insbes. Flow-Konzept) zugrunde: welche Shopsysteme sind insbesondere für wenig IT-affine Gründer geeignet?

S20W7: Fundgrube Brett- und Gesellschaftsspiele

Gibt es Game-Design-Elemente in Brettspielen, die immer wieder kehren?  Wie kann man diese in Kategorien ordnen? Wie kann eine Bewertungsmatrix aussehen, welche Game-Design-Elemente für Online-Spiele adaptierbar sind? Wie kann eine Bewertungsmatrix aussehen, um die Game-Design-Elemente in Gamification-Szenarien einzusetzen?

 

 

Teile diesen Beitrag.