皆さんこんにちは! YouthSignal 開発誌、第2回です!
今回は『ティラノスクリプトを選んだ理由』というテーマで、YouthSignal 制作の話をしたいと思います!
YouthSignal の開発ベース
タイトルのとおりですが、YouthSignal は ティラノスクリプトというノベルゲーム開発エンジンで制作しています。
ティラノスクリプトは、HTML + CSS + JavaScript 製のノベルゲーム開発エンジン。完全無料で商用利用可能! → tyrano.jp
他にも有名かつ無料で使用させていただけるノベルゲーム開発エンジンが複数ある中、YouthSignal 制作にティラノスクリプトを選んだ理由を紹介したいと思います。
ティラノスクリプトを選んだ1番の理由
一つ、これだと言うのであれば……
HTML + CSS + JavaScript を扱うことで、エンジンを自由に改造(拡張)できるから!
というのが、最も大きな要因でした。
なぜ改造が必要なのか
ティラノスクリプトを改造(拡張)することで、エンジンがサポートしていない特殊な演出や動作を実装したり、後々それらの修正をしやすくできるからです!
ノベルゲームエンジンというのは、ノベルゲーム制作を簡単にしてくれるものです。
しかし裏を返せば、ノベルゲームに実装できる機能や動作が制限されるという欠点もあります。
例えばどんな改造?
YouthSignal に搭載しているうち簡単なものですと、メッセージウィンドウのキャラ名を特殊なアニメーションで表示させるというものがあります。
このキャラ名アニメーション機能は、各キャラそれぞれアニメーションの仕方が僅かに異なります。
例えば上記動画で紹介している『嘉人』『静乃』『朝陽』の表示時アニメーションは、それぞれ以下のように設定しています。
漢字名称 | アルファベット名称 | |
---|---|---|
嘉人 | 《左上→中央》に移動 +フェードイン | 《右下→中央》に移動 +フェードイン |
静乃 | 《左上→中央》に移動 +フェードイン | 《右下→中央》に移動 +フェードイン |
朝陽 | 《左下→中央》に移動 +フェードイン | 《右上→中央》に移動 +フェードイン |
※消去時は、移動方向が逆転し、フェードアウトします。
【移動しながらフェードイン/アウト】という点では全て同様に処理し、移動地点に関してはそれぞれ別に定義する必要があります。
そして、このキャラ名の種類がなんと30以上もある!
マクロは少し処理が重いので極力減らしたほうがよく、また後々修正する可能性を考えた場合、ティラノスクリプトの処理を拡張したほうが保守性が高くなります。
例えば、上記のアニメーションを実装する上で、YouthSignal では下記のような JavaScript オブジェクトを定義しています。
var characters = {
yoshito: {
message: {
left: -15px, top: -15px
}
},
shizuno: {
message: {
left: -15px, top: -15px
}
},
asahi: {
message: {
left: -15px, top: -15px
}
},
// ... 以下たくさん続く
}
このようにまとまった定義をしておけば、後で「どこで定義しているかわかりやすい」「ひと目でどんな値を設定しているかわかる」など、修正しやすさのメリットがとても多いです。
つまりティラノスクリプトの改造・拡張は、特殊な実装をする際に必要となり、かつ保守性や処理性能を向上させるためにも効果的なんです!
エンジンだってゲームの一部!
アニメーションなどのゲーム上演出は、ゲームの雰囲気づくりにおいて重要な役割を果たします。
同様に、処理性能やバグの少なさ(保守性との関連性が強いです)も大変重要です。
これらを作るエンジンは、立派なゲームの一部なのです。
ですから、理想のゲームを作り上げる上でエンジンを思い通りに拡張・改造できるというのは、ものすーーごく大切だと私は思います。
ティラノスクリプトを改造するには
最後に、ティラノスクリプトを改造(拡張)したいという方向けに書いた記事を紹介致します。
※申し訳ございません、現在準備中です!
エンジンを改造することで理想のゲームを作るためのベースを作ることができます。
そこで必要となるプログラミング知識、また「魔改造の果てに大変なロールバック!」なんてことにならないように注意点も紹介しています。
興味をお持ちの方は、ぜひ合わせて御覧ください。
以上、YouthSignal開発誌002 でした~!