10 ポイント 投稿者 GN⁺ 2025-06-08 | 1件のコメント | WhatsAppで共有
  • プログラミング経験が少ないユーザーでも簡単にビデオゲームを作れるよう設計された軽量JavaScriptライブラリ
  • ナラティブゲーム、つまりストーリーテリング中心のゲーム開発に適している
  • 直感的なコード構造と簡潔なAPIにより、複雑なプログラミングなしでもゲーム制作の体験を提供する
  • すべて(スプライト、会話、サウンド、インタラクション)がコードで作られるため、ゲーム全体を1つのファイルに保存できる

主な特徴と利点

  • 初心者開発者や非開発者でもシンプルなJavaScriptコードだけでナラティブゲームを制作できる
  • 大規模なフレームワークとは異なり、非常に小さなサイズと使いやすさを提供する
  • 選択肢ベースのゲーム、対話型コンテンツ、ビジュアルな開発体験など、ストーリーとインタラクションに強みがある

活用対象

  • ゲーム制作の入門者、またはプロトタイプを素早く作りたいスタートアップ、IT専門家、開発者、クリエイターのいずれにも適している
  • 複雑なグラフィックスや大規模ゲームよりも、アイデア検証、インタラクティブコンテンツ、ストーリー展開に向いたツール

ゲーム開発の開始は createGame()

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

1件のコメント

 
GN⁺ 2025-06-08
Hacker Newsの意見
  • なぜタイトルが「...for narrative games」なのか気になった
    ライブラリの公式ページには「narrative」ゲームへの言及がない点に気づいた
    「narrative game」の意味が少し曖昧に感じられる
    サンプルゲームは自分の考える「narrative game」の定義に当てはまらない
    Google検索で出てくる「narrative game」とサンプルゲーム群のつながりが弱い
    もし「narrative game」に一般的な定義があるのなら、このライブラリが他のゲームエンジンと比べて「narrative game」制作を特別に支援する機能は何なのか疑問

    • 昨夜、テキストベースのアドベンチャーゲームのアイデアを思いついた
      大人になって税金を払い、出勤し、家の掃除をするといった日常的なミッションをこなすコンセプト
      こうしたことをあまりやらないと人生がつらくなり、多くやるほど楽になる仕組み
      最終目標は借金なしで人生を終えること

    • このツールの発想は、テキストと会話を使ってシンプルなアドベンチャーゲームを宣言的に作れるようにする点だと思う
      Pico-8のような一般的なゲームエンジンのように、メカニクス中心で作る用途とは異なる
      マップ作成、マップ間移動、NPC、会話やテキストトリガーの作成が簡単
      非プログラマー向けエンジン(RPGMakerなど)も似ていて、そこでも大半のユーザーはマップとトリガーを中心に、複雑な独自メカニクスなしでテキストと会話主体のゲームを作っている
      このツールも、そうした「ナラティブ」ゲームを作りやすい点を強調しているのだと思う

    • 公式紹介ドキュメントでは次のように説明されている:
      「Odyc.jsは、ピクセル、サウンド、テキスト、そして少しのロジックを組み合わせてナラティブゲームを作れるよう設計された、小さく軽量なJavaScriptライブラリ」

    • 当然テキストアドベンチャーエンジンだと思った

    • フランス語版サイトにだけ「narrative」の例が2つ追加で載っている
      ターンベース構造とメッセージ、プロンプト、会話中心のフォーカスから見て、「ナラティブ」またはテキストベースのゲームに向いていそうなのでその用語を使っている
      ただ、もっと良いラベルの案があれば喜んで変えたい

  • The Magic Mushroomゲームはすごい
    リンク

    • 今のところ一番気に入っているのはこれ
      リンク

    • John Wickゲームは、最近の映画のダイジェスト版みたいに感じた
      リンク

  • この構成の仕方が本当に気に入った
    多数のJavaScriptゲームエンジンを作りながらいろいろ実験してきたが、これは「2時間以内に子ども向けに素早く完成させたいとき」と「構造を深く理解したいとき」の間の絶妙な位置を提供している
    いくつかゲームを手早く作って、低帯域環境で子どもたちの気を引いておく用途に期待している

  • かわいらしいツールという印象
    特に子ども向け学習用として良いと思う(今どきのpygameのような感じ)
    Scratchなどは5歳児向けに設計されていて、プログラミング内容があまりに簡単すぎる
    このツールは10歳前後の生徒にちょうどよい
    簡単な文字列操作やいくつかの文法トリックを学び、基本的な横スクロールとNPCあたりまでは実装できる
    その後、準備ができたら制御フローを学ぶ経験にもつなげられる
    これを学んで子ども向けの授業を開いたり、遊び場に投資したりすることを考えるなら、実際に販売も可能だと思う
    別の観点では、このツールで初歩的なプロシージャルゲームアセット生成を試すのもありそう

  • 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") コード活用例

    • 卵は1個だったのに、どうして40個になったんだ?という疑問

  • 本当に刺激を受けるプロジェクトだという評価
    オープンソースであることは確認したが、ライセンスが欠けていて、開発者がどこまでフォーク、改変、配布してよいのか分かりにくいと指摘
    自分の母語に翻訳したフォークも公開したいが(クレジットは残すつもり)、問題ないかと質問
    自国では英語を話せる人が5%未満

    • 感謝を伝えつつ、ライセンス(MITのような形)を追加する予定だと返答
      母語が何か気になる
      左から右に書く言語なら翻訳の適用は簡単だと説明
      いつでもフォーク、PR、あるいは連絡してアクセシビリティ改善に参加してほしいと歓迎
  • これはすごい
    ちょうど12時間前にまさに必要だったものだ
    偶然にも昨夜、初めてソロ向け3レベル構成のナラティブ恋愛ゲーム用アセットを作っている途中で寝落ちした
    ゲーム開発は初めて
    朝になってHNでナラティブゲーム向けJSライブラリが1位まで上がっているのを見た
    FTR、自分のゲームはいわゆるsimpゲームで、ずっと会ってきた相手に正式に交際を申し込むために使っている

    • すてきなアイデアだと思う
      似た経験として、最近2005年のMSNチャットインターフェースをHTMLで丸ごと再現して、誰かに懐かしさを味わってもらった
      本当に心温まる体験だった

    • いいアイデアだ
      もっと手伝えたらよかったのにと思う
      本当にこのツールがぴったりのケースだと思う
      うまくいくことを願っている

    • 誰かを好きになって一緒に時間を過ごしたいと思うことや、関心を示す行動が「simp」と呼ばれるべきではない
      とても温かくて思いやりのある申し出だと思う

  • puzzlescriptに似ている印象

    • PuzzleScriptは本当にすばらしいし、同系統の小型エンジンとしてcrisp-game-libもおすすめ
  • 本当にすてきなツールという感想

  • このライブラリとは関係ないが、playgroundに適用されているcanvas video recorderの動作方式に興味がある
    自分でも実装してみたい