2 Punkte von GN⁺ 2024-09-12 | 1 Kommentare | Auf WhatsApp teilen

Holy smokes, I just released a MiniGolf game for Palm OS in 2024

Veröffentlichung eines neuen Palm-OS-MiniGolf-Spiels

  • Diesen Sommer wurde ein Projekt gestartet, um ein neues Palm-OS-Spiel zu entwickeln
  • Nach weniger als zwei Monaten gelegentlichen Codens freue ich mich, „Captain's MiniGolf (v0.6)“ veröffentlicht zu haben
  • Das wichtigste Merkmal des Spiels ist, dass Nutzer ihre eigenen Level erstellen können
  • Es lassen sich Levelpack-Datenbanken erstellen und mit anderen Nutzern teilen

So spielt man das Spiel

  • Auch ohne Palm-OS-Gerät kann man dank des cloudpilot-Emulators direkt im Browser spielen
  • Download des Spiels und Emulator im Browser werden bereitgestellt

Die Schwierigkeiten beim Codieren für Palm OS

  • Beim Codieren in C gab es einige Erkenntnisse:
    • Die Komfortfunktionen moderner Programmiersprachen fehlen, wodurch Fehler leicht passieren
    • Speicherlecks treten häufig auf
    • Polygonformen und Flugbahnen sind schwer zu debuggen, daher ist ein Debug-Build eine große Hilfe
  • Wegen der dürftigen Dokumentation von Palm OS ist das Codieren schwierig
  • Die folgenden zwei Referenzmaterialien wurden genutzt:
    • The Palm OS Programmer Companion (Teil des Palm OS SDK)
    • Palm OS Programming Bible
  • Auch der auf GitHub von anderen Entwicklern geteilte Code für Palm-OS-Spiele wurde als Referenz genutzt

Warum Palm OS?

  • Palm-OS-Geräte können mit ihrer Einfachheit und Eleganz viel leisten
  • Diese Einschränkungen fördern kreatives Denken und die Suche nach alternativen Lösungen
  • Auf heutigen leistungsstarken Smartphones achtet man kaum noch auf Code-Optimierung

Bekannte Bugs

  • Der Ball kann in einer Wand stecken bleiben
  • Wenn man ein Level mit einer geschlossenen Polygonwand innerhalb der Hauptfeldwand erstellt, werden Hintergrund/Kurs nicht korrekt eingefärbt

Verbesserungen

  • Optionen zum Löschen/Verschieben von Levels hinzufügen
  • Optionen zum Löschen und Teilen von Levelpacks hinzufügen (derzeit muss dafür eine externe Anwendung wie FileZ verwendet werden)
  • Die Auflösung ist fest auf 160x160 (oder 320x320 auf hochauflösenden Palm-OS-5-Geräten) gesetzt und sollte je nach Bildschirmgröße dynamisch geändert werden

Teilen heißt Fürsorge

  • Der vollständige Quellcode dieses Spiels wurde unter der GPL3-Lizenz veröffentlicht
  • Hoffentlich inspiriert oder hilft er anderen dabei, mehr Palm-OS-Spiele zu entwickeln
  • Der Quellcode von Captain's MiniGolf wird bereitgestellt

Zusammenfassung von GN⁺

  • Dieser Beitrag weckt Nostalgie für Palm OS und betont den Reiz, mit begrenzten Ressourcen kreative Lösungen zu finden
  • Anders als bei modernen leistungsstarken Geräten verlangen die Einschränkungen von Palm OS Entwicklern Herausforderung und Kreativität ab
  • Er bietet nützliche Referenzmaterialien und Quellcode für alle, die sich für die Entwicklung von Palm-OS-Spielen interessieren
  • Als ähnliches Projekt mit vergleichbaren Funktionen wird ein Emulator-Projekt wie RetroArch empfohlen

1 Kommentare

 
GN⁺ 2024-09-12
Hacker-News-Kommentare
  • Vorschlag, eine Animation hinzuzufügen, in der „der Ball ins Loch fällt“

    • Wenn man sieht, wie der Ball im Loch verschwindet, vermittelt das ein Gefühl der Belohnung
  • Vorschlag, vor dem Laden des nächsten Levels eine kurze Glückwunsch-Animation hinzuzufügen

    • Der Text „Loading“ wirkt zu abrupt und vermittelt das Gefühl, als hätte man etwas falsch gemacht
    • Einen Text wie „Nice!“ anzeigen und zeigen, wie der Ball im Loch verschwindet
    • Den Lade-Dialog nur kurz anzeigen oder ganz weglassen
  • Geteilte Erfahrung mit der Entwicklung eines Miniaturgolf-Spiels für Macintosh in den 1990er-Jahren

    • Der 35 Jahre alte Quellcode wird wiederhergestellt und ein Disk-Image für Emulatoren erstellt
    • Der erste Schwarzweiß-Versuch ist auf GitHub zu finden
    • Der zweite Farbversuch soll in Volume 2 enthalten sein
  • Meinung zur Praxistauglichkeit von Retro-Homebrew-Executables wie bei Palm OS

    • Sie laufen auf verschiedenen Plattformen, sind offline, effizient und frei von Ablenkungen
    • Spiele wie Apotris lassen sich auf vielen Konsolen und Computern ohne Installation spielen
    • Vorteil einer einzelnen ausführbaren Datei: Sie lässt sich auch nach sehr langer Zeit noch starten
  • Nostalgie für den Palm IIIxe

    • Wenige Benachrichtigungen und nur die Funktionen, die man wirklich braucht
    • Es hat Zeit gekostet, die Benachrichtigungen auf dem iPhone leise zu stellen
    • Palm sendet keine Benachrichtigungen, wenn der Nutzer sie nicht anfordert
    • Man möchte zwar nicht zurück, vermisst aber manches daran
  • Vorschlag, zu zeigen, wie der Ball ins Loch fällt

    • Das könnte die Zufriedenheit der Spieler erhöhen
  • Nostalgie für den Palm LifeDrive

    • Beim Wechsel zu Blackberries verloren gegangen
    • Damals war es ein erstaunliches Gerät
  • Meinung zu häufigen Problemen in der Spieleentwicklung

    • Memory Leaks, Debugging und Ähnliches sind häufige Probleme
    • Game Engines wie Unreal, Unity und Godot abstrahieren viele dieser Probleme
    • Bei der Spieleentwicklung mit C, OpenGL und Speicherbegrenzungen kann man auf ähnliche Probleme stoßen
    • Interesse an der Implementierung eines Level-Editors
  • Lob für das Art Design des Miniaturgolf-Spiels

    • Es wäre wohl natürlicher, die Richtung der Maussteuerung umzukehren
    • Für Fans von FOSS-Spielen werden Neverball und Neverput empfohlen
  • Meinung, dass das Spiel im browserbasierten Emulator Spaß macht

    • Vorschlag für Ports auf Android, iOS und in den Browser
    • Macht sehr viel Spaß