- プログラミング経験が少ないユーザーでも簡単にビデオゲームを作れるよう設計された軽量JavaScriptライブラリ
- ナラティブゲーム、つまりストーリーテリング中心のゲーム開発に適している
- 直感的なコード構造と簡潔なAPIにより、複雑なプログラミングなしでもゲーム制作の体験を提供する
- すべて(スプライト、会話、サウンド、インタラクション)がコードで作られるため、ゲーム全体を1つのファイルに保存できる
主な特徴と利点
- 初心者開発者や非開発者でもシンプルなJavaScriptコードだけでナラティブゲームを制作できる
- 大規模なフレームワークとは異なり、非常に小さなサイズと使いやすさを提供する
- 選択肢ベースのゲーム、対話型コンテンツ、ビジュアルな開発体験など、ストーリーとインタラクションに強みがある
活用対象
- ゲーム制作の入門者、またはプロトタイプを素早く作りたいスタートアップ、IT専門家、開発者、クリエイターのいずれにも適している
- 複雑なグラフィックスや大規模ゲームよりも、アイデア検証、インタラクティブコンテンツ、ストーリー展開に向いたツール
ゲーム開発の開始は createGame()
createGame({
player: {
sprite: 7,
position: [2, 5]
},
map: `
########
#......#
#..X...#
#......#
########
`,
templates: {
X: {
sprite: 4,
dialog: 'Hello, adventurer!'
}
}
})
1件のコメント
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%未満
母語が何か気になる
左から右に書く言語なら翻訳の適用は簡単だと説明
いつでもフォーク、PR、あるいは連絡してアクセシビリティ改善に参加してほしいと歓迎
これはすごい
ちょうど12時間前にまさに必要だったものだ
偶然にも昨夜、初めてソロ向け3レベル構成のナラティブ恋愛ゲーム用アセットを作っている途中で寝落ちした
ゲーム開発は初めて
朝になってHNでナラティブゲーム向けJSライブラリが1位まで上がっているのを見た
FTR、自分のゲームはいわゆるsimpゲームで、ずっと会ってきた相手に正式に交際を申し込むために使っている
すてきなアイデアだと思う
似た経験として、最近2005年のMSNチャットインターフェースをHTMLで丸ごと再現して、誰かに懐かしさを味わってもらった
本当に心温まる体験だった
いいアイデアだ
もっと手伝えたらよかったのにと思う
本当にこのツールがぴったりのケースだと思う
うまくいくことを願っている
誰かを好きになって一緒に時間を過ごしたいと思うことや、関心を示す行動が「simp」と呼ばれるべきではない
とても温かくて思いやりのある申し出だと思う
puzzlescriptに似ている印象
本当にすてきなツールという感想
このライブラリとは関係ないが、playgroundに適用されているcanvas video recorderの動作方式に興味がある
自分でも実装してみたい
関連コード が公開されている
最近のプロジェクトでcanvas video recorderを調べていて、この機能が内蔵されている点に驚いた
medium.comのチュートリアル参照