シナリオシステムを自作してる話【綻びのアーキテクト】
オレオレシステム作りたいんです! こんにちは、がんたんです! 👋 ☀️ 最近、シナリオを書くのがめちゃくちゃ楽しいんです! なぜかというと、ボク専用のシナリオツールを作ってるからなんですよね。 いわゆる「オレオレシステム」ってやつです(笑)✨ これがもう、自分にぴったりで最高で……!😊 最近のゲーム作りって、どこぞの優秀な方が作ってくれたスーパー便利ツールをなんやかんやダウンロードしてきて、利用させてもらうことが多いんですけど。 ボクはどうしても、ゲームシステムの根幹に関わる部分は自分の手で作っていきたい性分なんですよね。 ……そこで今回は、「RPGのためにノベルゲーム的システムを自作してます」という話をしてみます! きっと少数派だと思いますけど、共感してくれる人が一人でもいてくれたらうれしいな! 😄 どんなシステム作ってんの? その名も「語り部エンジン」!(なんかかっこいいでしょ? 中二病とか言わないで!😅) この「語り部エンジン」、実は地味に歴史が長くて、ver0.1を初めて作ったのはもう10年前になります。 当時、同人ノベルゲームをWindowsで作っていたので、そのために仕組みごと作り始めたのが最初です。 (けっきょくその同人ノベルゲームは体験版を2つ作っただけでプロジェクトごと頓挫しましたが💦) 話がそれましたが、オリジナルのノベルゲームツールを作ってしまおうと本気で考えてしまうぐらい、ボクには昔から「ゲームのシナリオをどう書くか」ということに対しての自分なりの哲学というか、熱意があった、ということですね。 ちなみにアーキテクトが2年前に開発休止になる直前まで手がけていたのがver0.2でして、今作っているのがver0.3になります。 なんでわざわざ自作してんの? 一番の理由は、「作るのが楽しいから」だったりします。😄 というのも、世の中にはすでにたくさんの、とても優秀な「会話」とか「お話を語る」専用の便利ツールが存在しています。 そのうちのいくつかは実際に触りましたし、「メビウスの心臓」というゲームではそんな便利ツールを使って、実際にゲームのリリースまで行いました。 なので、正直なところ、既製のツールでも十分やりたいことは実現できるんです。 でも……やっぱり自分で作りたくなっちゃったんですよね(笑)😅 というわけで、どうしても自作したいと思った理由を2つ挙げてみますね。 ゲーム部分とシナリオ部分の親和性を高めたかった バトル中にシームレスにキャラクター同士の掛け合いをさせたいっ! シナリオ進行中にシームレスにバトルに移行したいっ! ゲーム内の状況で柔軟に変化するシナリオを(なるべく楽に)書きたいっ! 他社製ツールの学習コストを減らしたかった シナリオ書くときにExcelなんていじりたくない シンプルなテキストエディタだけで完結したい 不具合なのか仕様なのかわからない挙動に頭を悩ませたくない 自分で書いた処理ならすぐにどこがおかしいか分かるし、直せる こんな感じになりますね。 具体例は? 先日、「スーパーゲ制デー」というX上のイベントに参加して、こんな投稿をしました。 #スーパーゲ制デー #綻びのアーキテクト 最近はこんな感じのシナリオシーンばかり作っています。 ノベル系のアセットを一切使わずに、必要な機能だけを手作りしたシナリオエンジン使ってます。 (TextAnimatorだけは使わせてもらってます) どんなスクリプト書いてるかはリプに続けます。 pic.twitter.com/kpyV5a1wNi — 綻びのアーキテクト公式(ArchitectFray Official) (@ArchitectFray) November 7, 2025 これぐらいの処理なら、100行未満のスクリプトで実装できます。 よく使う処理は一瞬で呼び出せるように辞書登録してあるので、すらすら書けます。 (実際、このシナリオ書いてゲーム内で動かすのに10分もかかってません)✨ それに、シナリオ書いてる最中に「あ、この機能ほしいな」と思ったらすぐに実装できるのも嬉しいところです。 自分にとっては、今のこのやり方が一番ストレスなくシナリオをゲームに実装する手段だということは、この数年の経験で確信してます。 そんなわけで自作システムおすすめですよ! 長々と「オレオレシナリオシステム」について語ってきたわけですが、では「語り部エンジン」が中身でどんなことをしてるかというと別に大したことはしてないんですよね。 テキストを1行ずつ読み込んで、対応する処理を実行して、次に進む……それをくり返してるだけなんです。 仕組み自体はシンプルなので、興味がある人ならきっと作れると思うんです。 皆さんもぜひ、作ってみて下さいっ!💪 そして、お互いの「オレオレシステム」を最強に育て上げて、いつか闘技場でバトルしましょう!⚔️✨ 次回予告っ! 次回は「Steamページを作った話」か、「ランディングページを作った話」のどちらかをしようかと思います! (ちなみにこれを書いてる今では、まだどちらもできてませんっ!💦)