ハトを育てよう(MitiruEngine リメイク)
2023 年に TyranoScript で書いた『ハトを育てよう』を、自作の MitiruEngine 上で完全移植 + 追加要素を入れたリメイク版です。MitiruEngine が「実際にゲームを出せる道具」であることの実証作品でもあります。
なぜリメイクしたか
オリジナルは 2023 年に 2 日で作った TyranoScript 製のノベルゲームです。ゲームとしては成立していたものの、エンジンの中身を自分で書ける状態ではなかったので、改造や流用が利きませんでした。MitiruEngine の mitiru.novel(JSON 駆動のノベル VM)の最初の実利用先として、原作をそのまま再現することにしました。
「自作エンジンで何が作れるか」を確かめるのに、見知った仕様のゲームを再現するのはちょうど良いベンチマークでした。
再現したもの
- 解像度 1280×720(原作座標準拠)
- パラメータ系: day / stress / yaruki / tinou / kinniku / taijuu / val / score
- 5 種類のアクション: あそぶ / 勉強 / ごはん / 筋トレ / 叱る(原作
.ksのロジックを完全再現) - 立ち絵切替: normal / angry / tokeru / hutoru / garigari(stress / yaruki / taijuu に連動)
- 5 エンディング: 逃亡 / 死亡 / ふくろう / ムキムキ / ふつう
- スコア計算式:
tinou*1000 + kinniku*1000 − stress*100 + yaruki*100 (+2000 end3/end4) - BGM の
music.oggループ再生
追加した要素
原作にはなかった、エンジン側の機能を活かした追加分。
- バックログ(履歴ボタン / L キー)
- 既読管理と既読スキップ
- セーブとロード(
novel.save(slot)/novel.restore(slot)) - タイプライター演出(
mitiru.novel組込、CPS 40) - 背景の 400ms クロスフェード
技術構成
MitiruEngine の Hybrid 動作(CEF + JS)で動かしています。シナリオは JSON(web/data/novels/*.json)に外出しして、mitiru.novel という VM が解釈する設計です。
原作 .ks の機能 → MitiruEngine 側の対応
─────────────────────────────────────────────────
#キャラ名 + テキスト → { speaker, text }
@bg storage=... → { type: 'bg', path }
[wait time=N] → { type: 'wait', ms }
[delay speed=10] → mitiru.novel 組込(CPS 40)
[button role="skip"] → novel.setSkipMode('all')
ブラウザでも CEF ネイティブでも同じデータで動きます。状態依存のアクションシーン(stress / yaruki / taijuu の値で分岐するもの)は、ランタイムで JSON を動的生成しています。
このプロジェクトの位置づけ
MitiruEngine にとって、最初の「外に出せる完成形のゲーム」です。自作エンジンが「動く」だけでなく、「実際にプレイ可能なゲームをまるごと載せられる」段階に来ていることを示しています。
クレジット: 原作『ハトを育てよう』(shiggy / TyranoScript Ver5.20) → 移植基盤 MitiruEngine CEF Hybrid + mitiru.novel VN VM。