10 Punkte von GN⁺ 2025-06-08 | 1 Kommentare | Auf WhatsApp teilen
  • Eine leichtgewichtige JavaScript-Bibliothek, die so konzipiert ist, dass auch Nutzer mit wenig Programmiererfahrung einfach Videospiele erstellen können
  • Geeignet für narrative Spiele, also für die Entwicklung von Spielen mit Fokus auf Storytelling
  • Bietet durch eine intuitive Codestruktur und eine schlanke API die Erfahrung, Spiele ohne komplexe Programmierung zu erstellen
  • Alles (Sprites, Dialoge, Sounds, Interaktionen) wird im Code erstellt, sodass das gesamte Spiel in einer einzigen Datei gespeichert werden kann

Wichtige Merkmale und Vorteile

  • Auch Einsteiger oder Nicht-Entwickler können mit einfachem JavaScript-Code narrative Spiele erstellen
  • Im Gegensatz zu großen Frameworks bietet es eine sehr kleine Größe und eine einfache Bedienung
  • Stark bei Story und Interaktion, etwa für entscheidungsbasierte Spiele, interaktive Inhalte und visuelle Entwicklungserfahrungen

Für wen es geeignet ist

  • Geeignet für alle, die in die Spieleentwicklung einsteigen oder schnell Prototypen bauen wollen, darunter Startups, IT-Fachleute, Entwickler und Kreative
  • Eher ein passendes Tool für Ideenexperimente, interaktive Inhalte und Story-Entwicklung als für komplexe Grafik oder groß angelegte Spiele

Der Einstieg in die Spieleentwicklung beginnt mit createGame()

createGame({  
  player: {  
    sprite: 7,  
    position: [2, 5]  
  },  
  map: `  
    ########  
    #......#  
    #..X...#  
    #......#  
    ########  
  `,  
  templates: {  
    X: {  
      sprite: 4,  
      dialog: 'Hello, adventurer!'  
    }  
  }  
})  

1 Kommentare

 
GN⁺ 2025-06-08
Hacker-News-Kommentare
  • Ich frage mich, warum der Titel „...for narrative games“ lautet.
    Auf der offiziellen Seite der Bibliothek wird „narrative“ Spiele nirgends erwähnt.
    Ich bin etwas verwirrt, was mit „narrative game“ gemeint ist.
    Die Beispielspiele passen nicht zu meiner Vorstellung eines „narrative game“.
    Auch eine Google-Suche nach „narrative game“ zeigt nur wenig Verbindung zu den Beispielspielen.
    Falls es eine allgemeingültige Definition von „narrative game“ gibt, frage ich mich, welche Funktionen diese Bibliothek im Vergleich zu anderen Game-Engines speziell für die Erstellung solcher Spiele bietet.

    • Gestern Nacht kam mir eine Idee für ein textbasiertes Adventure-Spiel.
      Man spielt einen Erwachsenen, zahlt Steuern, geht zur Arbeit und putzt die Wohnung — also lauter alltägliche Aufgaben.
      Wenn man diese Dinge vernachlässigt, wird das Leben schwieriger, und wenn man sie gut erledigt, wird es einfacher.
      Das Endziel ist, ohne Schulden zu sterben.

    • Ich denke, die Idee dieses Tools ist, dass man mit Text und Dialogen auf deklarative Weise einfache Adventure-Spiele erstellen kann.
      Es ist etwas anderes als allgemeine Game-Engines wie Pico-8, die eher auf Mechaniken ausgerichtet sind.
      Es macht es leicht, Karten zu bauen, zwischen Karten zu wechseln, NPCs zu erstellen sowie Dialog- und Text-Trigger anzulegen.
      Auch Engines für Nicht-Programmierer wie RPGMaker sind ähnlich; dort erstellen die meisten Nutzer ebenfalls vor allem auf Karten und Triggern basierende Spiele mit Text und Dialogen statt komplexer eigener Mechaniken.
      Ich denke, dieses Tool betont genau diese einfache Erstellung solcher „narrativen“ Spiele.

    • In der offiziellen Einführung steht:
      „Odyc.js ist eine kleine und leichtgewichtige JavaScript-Bibliothek, die dafür entworfen wurde, narrative Spiele zu erstellen, indem sie Pixel, Sound, Text und ein wenig Logik kombiniert.“

    • Ich würde natürlich einfach annehmen, dass es eine Text-Adventure-Engine ist.

    • Auf der französischen Version der Website gibt es zwei zusätzliche Beispiele für „narrative“ Spiele.
      Wegen der rundenbasierten Struktur und des Fokus auf Nachrichten, Prompts und Dialoge habe ich den Begriff verwendet, weil es gut zu „narrativen“ oder textbasierten Spielen zu passen schien.
      Aber wenn jemand eine bessere Bezeichnung hat, ändere ich das gern.

  • Das Spiel The Magic Mushroom ist großartig.
    Link

    • Das hier gefällt mir bisher am besten.
      Link

    • Das John-Wick-Spiel fühlt sich an wie eine Zusammenfassung des neuesten Films.
      Link

  • Mir gefällt diese Art des Aufbaus wirklich sehr.
    Ich habe viele JavaScript-Game-Engines gebaut und mit den unterschiedlichsten Dingen experimentiert, und das hier trifft genau den Sweet Spot zwischen „in zwei Stunden schnell etwas für Kinder fertigbekommen“ und „die Struktur gründlich verstehen wollen“.
    Ich freue mich darauf, schnell ein paar Spiele zu bauen, um Kinder in Umgebungen mit geringer Bandbreite zu beschäftigen.

  • Wirkt wie ein richtig nettes kleines Tool.
    Ich glaube insbesondere, dass es gut zum Lernen für Kinder ist — so etwas wie pygame für die heutige Zeit.
    Scratch und Ähnliches sind für Fünfjährige gemacht und deshalb inhaltlich zu stark vereinfacht.
    Dieses Tool ist genau richtig für Schüler um die zehn Jahre.
    Man kann einfache String-Manipulation, ein paar Syntax-Tricks und grundlegende Side-Scroller mit NPCs umsetzen.
    Später, wenn sie bereit sind, können sie damit auch etwas über Kontrollfluss lernen.
    Wenn man das lernt und dann Kurse für Kinder anbietet oder in einen Spielraum investiert, könnte man damit realistisch sogar Geld verdienen.
    Aus einer anderen Perspektive wäre das Tool auch interessant, um mit grundlegender prozeduraler Erzeugung von Spiel-Assets zu experimentieren.

  • Beispielcode: game.prompt(“Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?”, “Yes”, “No”);

    • await game.openDialog(“Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?”) game.prompt( “Yes”, “No”) als Codebeispiel.

    • Es war doch nur ein Ei — wie wurden daraus plötzlich vierzig?

  • Wirklich ein inspirierendes Projekt.
    Ich habe gesehen, dass es Open Source ist, aber es fehlt eine Lizenz, deshalb ist unklar, in welchem Umfang Entwickler es forken, verändern und weiterverbreiten dürfen.
    Ich würde gern auch einen in meine Muttersprache übersetzten Fork veröffentlichen — selbstverständlich mit Namensnennung — und wollte fragen, ob das in Ordnung ist.
    In meinem Land sprechen weniger als 5 % Englisch.

    • Danke, ich werde eine Lizenz hinzufügen, vermutlich in MIT-Form.
      Mich würde interessieren, was deine Muttersprache ist.
      Bei links-nach-rechts geschriebenen Sprachen ist eine Übersetzung recht unkompliziert.
      Du kannst jederzeit forken, einen PR einreichen oder dich melden und bei der Barrierefreiheit helfen — sehr gern.
  • Das ist großartig.
    Genau das habe ich vor 12 Stunden gebraucht.
    Ausgerechnet letzte Nacht bin ich eingeschlafen, während ich zum ersten Mal Assets für ein narratives Dating-Spiel mit drei Levels für eine einzelne Person erstellt habe.
    Ich habe noch nie zuvor ein Spiel entwickelt.
    Und heute Morgen sehe ich auf HN, dass eine JS-Bibliothek für narrative Spiele auf Platz 1 gelandet ist.
    Zur Klarstellung: Mein Spiel ist ein simp game und ich nutze es, um jemandem, mit dem ich schon eine Weile ausgehe, offiziell vorzuschlagen, ein Paar zu werden.

    • Tolle Idee.
      Ich hatte etwas Ähnliches: Kürzlich habe ich die MSN-Chat-Oberfläche von 2005 komplett in HTML nachgebaut, um jemandem ein nostalgisches Erlebnis zu schenken.
      Das war wirklich herzerwärmend.

    • Gute Idee.
      Ich wünschte, ich könnte noch mehr helfen.
      Ich glaube wirklich, dass dieses Tool genau zu diesem Anwendungsfall passt.
      Viel Erfolg damit.

    • Nur weil man jemanden mag und Zeit mit ihm verbringen möchte oder sein Interesse zeigt, ist das noch lange nichts, was man als „simp“ bezeichnen sollte.
      Ich finde, das ist ein sehr warmer und aufmerksamer Vorschlag.

  • Erinnert mich ein bisschen an puzzlescript.

    • PuzzleScript ist wirklich großartig, und in derselben Kategorie kleiner Engines würde ich auch crisp-game-lib empfehlen.
  • Wirklich ein sehr cooles Tool.

  • Hat nichts direkt mit dieser Bibliothek zu tun, aber ich finde interessant, wie der canvas video recorder im Playground umgesetzt ist.
    Ich würde das gern selbst nachbauen.