Kuti-Spiele entwickeln

Bist Du ein/e EntwicklerIn und möchtest selbst Spiele für Kuti entwerfen und programmieren?

Kuti ist eine prima Plattform, um zum Beispiel in einem Game-Design-Studium fokussiert kleine Game-Ideen auszuprobieren. Die besondere Anordnung der SpielerInnen rund um den Tisch herum ist eine ziemlich Herausforderung – aber es macht auch Spaß, mal komplett anders zu denken und zu gestalten. Für die Konzeption Deiner Ideen reichen ein paar Zettel und Stifte. Für die Umsetzung der Spiele solltest Du dann die Game-Engine Unity verwenden.

Alle weiteren Informationen haben wir Dir hier zusammengestellt. Ein Teil unten ist auf Englisch, Du musst also auch ein bisschen Englisch verstehen.

Kuti Spiele-Spezifikationen

  • Spiele bitte mit Unity entwickeln.
  • Falls wir Euer Spiel lizensieren (also in die offizielle Spielesammlung übernehmen), wird es als Unity-Projekt in unser eigenes Unity-basiertes Kuti-Framework integriert. Das machen dann wir.
  • Für Tests (und wenn Ihr nicht das Kuti-Menü verwenden wollt) könnt Ihr Eure Projekte aber als ein .apk (Android Package Kit) builden. Das könnt ihr als eigenes Programm selbst auf einem Raspberry mit Android testen.
  • Der verbaute Rechner ist ein Raspberry Pi 3 B. Das ist kein schlechter Rechner, aber er ist absichtlich etwas älter und nicht extrem leistungsstark. Das ist wie eine Challenge: wenn Du es hier schaffst, schaffst Du es überall! 😉 Unity nimmt viel von der Leistung des Raspberry in Anspruch. Vor allem die Grafikkarte ist nicht besonders leistungsfähig.
  • Entwerft Eure Spiele also möglichst einfach, benutzt sehr einfache Grafik und testet früh auf einem Raspberry Pi 3 mit Android – oder einem älteren Android-Handy.
  • Kuti-Spiele sollten vor allem das besondere Spielerlayout nutzen: Meist sitzen sich zwei (oder mehr) SpielerInnen gegenüber und teilen sich den Bildschirm.
  • Manchmal fehlt allerdings eine SpielpartnerIn: dann ist es schon auch eine gute Idee, wenn die Spiele auch alleine Spaß machen (und vielleicht ein solcher Modus sogar angeboten wird).
  • Gegeneinander spielen macht Spaß und ist auch völlig in Ordnung. Aber überlegt auch einmal, ob SpielerInnen in Eurem Spiel gemeinsam Ziele erreichen können.
  • Damit niemand etwas auf dem Kopf lesen muss, müssen alle Textinfos auf dem Bildschirm doppelt angezeigt werden. Das eigentliche Spielfeld wird meist gemeinsam genutzt.
  • Erstellt Euer Spiel erst einmal auf Deutsch. Aber bitte mit der Möglichkeit, später die Texte leicht gegen Englisch tauschen zu können.

Monitor

  • Kutis Auflösung beträgt 1280 x 1024 Pixel. Das Seitenverhältnis ist 5:4.
  • Wir verwenden gute ältere 17-Zoll-TFT-Monitore.
  • Diese Monitore sind nicht extrem schnell (üblich sind Reaktionszeiten von 10-25 ms) und …
  • diese Monitore sind nicht ganz so hell und kontrastreich wie aktuelle. Verwendet also starke Kontraste.

Bedienelemente / Layout / Tastenbelegung

  • 2-SpielerInnen-Modus ist bevorzugt.
  • 1-SpielerInnen-Modus kann als Option angeboten werden.
  • SpielerIn 1 ist unten und sieht den Monitor „richtig herum“.
  • Der Menu-Button darf nur für die Rückkehr in Menüs (und somit den Spielabbruch) benutzt werden.
  • Die Spiele auf der Konsole können für 1-6 SpielerInnen ausgelegt sein.
  • Spiele können 1-6 Knöpfe benutzen.
  • Der Menu-Button ist rechts (aus Sicht von SpielerIn 1).
  • Die beiden Button-Sets befinden sich an den langen Seiten des Bildschirms.
  • Die verbauten Buttons können beliebige Farben und Farbkombinationen haben. Bitte nehmt also in Euren Tutorials nur Bezug auf die Dreier-Anordnung der Buttons („Links“, „Mitte“, „Rechts“), zeigt aber keine bestimmten Farben. Oben ein paar Beispiele, welche Farben und Anordnungen vorkommen können.
  • Während der Entwicklung könnt Ihr auf der Tastatur einfach die oben gezeigten Tasten „a“,  „w“,  „d“ (SpielerIn 1) „k“, „u“, „h“ (SpielerIn 2) und „5“ für das Menu benutzen.
  • Wenn das Spiel am Ende richtig auf Kuti laufen soll, müssen spezielle Unity-Treiber für die 7 Buttons verwendet werden. Die Anleitung hierfür findet Ihr hier.

Sound

  • In vielen Umgebungen (Ausstellungen, Bibliotheken) wird der Sound sehr leise oder ganz ausgestellt sein. Gestaltet Eure Spiele also so, dass sie auch lautlos verständlich und spielbar sind.
  • Es gibt zwei kleine, ganz ordentliche Lautsprecher, einen für jede Seite.
  • Es gibt keinen Stereo-Sound. Es ergibt also keinen Sinn, im Raum platzierte Sound-Effekte zu verwenden.

Unity Projects: Optimization Guidelines

To assure a smooth performance on the customized Android, applications created in Unity should be optimized to reduce requirements. This section covers settings that can be used to optimize the performance of your app. This covers only a few basics and no code optimization tipps.

  • Project Settings -> Physics / Physics2DDeactivate all layers in the Collision Matrix for Physics and Physics 2D that are not needed for your Application. Just “Default” is recommended.
  1. Texture SizeTextures for the Kuti can be fairly small. Kuti’s resolution is only 1280 x 1024 pixels.Therefore large textures will only take space and performance. Make sure your textures are as small as possible, but still looking good.
    The ideal approach is to create the textures in the right size. Second choice and slightly less ideal is to override the texture settings for each texture and set an appropriate max. size.
  • Player SettingsMake sure to deactivate logging inside the Player Settings.
  • Quality SettingsDeactivate everything that is not needed (e.g. shadows for a 2D game). Test what can be deactivated or lowered without destroying the visual effect of your game.

Android und Euer Spiel installieren

(Das müsst ihr nur machen, wenn Ihr einen eigenen Test-Raspberry Pi 3 aufsetzen wollt.)

Hardware-Voraussetzungen

  • Raspberry Pi 3
  • Micro-SD-Karte (Wir empfehlen 16 GB, Speed class 10)
  • Kartenleser für Micro-SD-Karte

1. Download des Android-Images

Kuti benutzt eine spezielle Version des Betriebssystems Android. Bei dieser werden Spiele dann auch in unser Kuti-Auswahlmenü eingebettet. Das können nur wir von Kuti machen, wenn wir Euer Spiel lizensiert haben.

  • Ihr könnt aber Eure eigenen APKs mit einer regulären Version von Android testen.
  • Diese Android-Version könnt Ihr hier herunterladen.
  • Das „Image“ ist komprimiert etwa 360 MB groß. Nach dem Entpacken wird es etwa 3 GB groß.
  • Alles ist schon ausgelegt auf Kuti und funktioniert mit dem Bildschirm in Kuti (1280 x 1024 px).
  • Ihr müsst das Image mit folgender Anleitung auf Eure SD-Karte aufspielen.

2. So wird dieses Android-System-Image auf den Raspberry aufgespielt

  • Die Kurzfassung: benutzt das Programm Etcher.
  • Wer’s genau wissen will: offizielle Installations-Anleitungen von Raspberrypi.org für Linux, Windows oder Mac

3. Eigene Android-Programme (.APK) auf Android aufspielen

  • Programme für Android, also auch Eure Spiele, heißen „Android Package Kits“ (.APK).
  • Die Installation ist einfach: auf einen USB-Stick damit und dann ganz normal in Android installieren. Dafür braucht ihr einen Kuti mit USB-Anschluss (es stehen zwei auf dem HAW Campus). Dort könnt ihr auch eine Maus anschließen, die ihr auch dafür braucht.
  • Wer’s genauer wissen will / muß: http://developer.servalproject.org/dokuwiki/doku.php?id=content:android:tips:install_apk

4. (Optional:) Autostart von Android-Programmen (.APK) einrichten

Damit Eure .APK beim Systemstart automatisch gestartet wird, muss diese Datei innerhalb Eures Unity-Projekts in den Ordner

Assets/Plugins/Android/

gelegt werden. Sie fügt der von Unity erzeugten Datei manifest.xmlzusätzliche Befehlszeilen hinzu. manifest.xml stellt Android wichtige Informationen über die Anwendung bereit, wie zum Beispiel benötigte Berechtigungen, die Systemversion und Start-Anweisungen.