ミニマルテキストゲーム制作ツール「nswengine」の使いかた
手軽にテキストゲームを作って楽しめる面白ツールが最近公開されたので、使いかたを簡単に紹介したいと思います。
「nswengine」と呼ばれる本ゲームエンジン。個人クリエイターのpeb氏が開発し、無料で利用できます(itch/GitHub)。
どんなツールかというと、部屋に見立てたテキストおよび背景のユニットの上下左右に小さなテキストリンクを貼り、各部屋の間を遷移できる仕組み。テキストと背景の色も任意で変更可能です。
テキストゲーム向けのツールという点ではincrepareことStephen Lavelle氏による「tinychoice」に近い雰囲気もありますが、選択肢が方向と紐づいていること、カラーバリエーションによる視覚的な応用性、一部屋に置ける出口の数が最大4つまでと限定されているなどミニマルながら細かい遊びが利く部分も多そうです。
言葉だけではイメージしづらい感もあるため、よければ実際にできたものを遊んでみてください(※上下左右の方向キーで移動可能なほか、直近のアップデートでマウスおよびタッチスクリーン操作にも対応しました)。
見ての通りそんなに難しい作りではなく、何となく簡単そうな気がしてきたのではないでしょうか。作業自体も既存のコード内容をテンプレート的に差し替えるだけでゲームができてしまいます。ここからはその方法について。
ダウンロードしたzipフォルダを解凍すると、各種ファイルが並んでいます。「data」と書かれたjsonファイルを任意のアプリケーションで開き(ここではメモ帳を使用)、内部のテキストデータを編集していきます。
各要素はそれぞれ以下のようなかたち。
・id 部屋番号
・textColor 画面中央のテキストおよび上下左右のテキストリンクの色
・backgroundColor 背景の色
・description 画面中央のテキスト文字列
・north/south/west/east テキストリンクを表示する上下左右の方向
・label テキストリンク文字列
・linkTo リンクする部屋番号
※色の指定はHTMLの色名、16進数、RGB/RGBA表記に対応
とてもシンプルで思い立ったらすぐにでも使えそうな雰囲気が伝わっていると幸いです。『浜の上の🦀』ではこんな感じで書き換えました。
ゲーム本編とあわせて見ていただけると、上述のコードがどのような働きをしているのか分かりやすいかなという気がします。ちょっとだけ手がかかるのは、動作を確認するためにいったん外部のウェブページにアップが必要な点(itch/GitHub Pagesなど)。大まかにはこのぐらいですが、最後にポイントを少しだけ。
・一部屋に最低必ず一つの出口を設ける(要注意)
・日本語では自動改行に対応していないため、テキストを短くしないとレイアウトが乱れる(要注意)
・公開時の埋め込みサイズは640×480が推奨
・英語で強調したい箇所は\”\”で囲む(例:\”rooms\”)
・絵文字や記号も使える
なお「nswengine」は公開後にアップデートが重ねられており、執筆時点ではアスキーアートにも対応しているとのこと。機能的にはミニマルなものの、部屋を増やせば壮大なスケールでの展開もできるかもしれません。
私はカニを主人公に移動を左右方向に絞って実験しましたが、ほかにもいろいろな試しがいがあるかと思いますので、気になったかたはぜひ使ってみてください。






