satofumi 2021/04/07 20:00

Undead Arthur 開発(その2)

前回の記事では Corgi Engine にマップのタイルを表示しました。今回は、ステージ管理を Lua スクリプトで行えるようにするあたりを実装します。

やったこと

Moon Sharp アセットを適用した

ゲームの進行やイベント、スイッチなどのギミックの管理を Lua スクリプトで行うと思ったので、Moon Sharp を導入します。

Lua スクリプトを導入する狙いを簡単に書くと

・「このスイッチが押されたらこの門を開く」というギミックの処理を Lua スクリプトで関連付ける。
・敵の行動とパラメータの設定を Lua スクリプトで行う。
・ボス敵の独特の動きを Lua スクリプトで記述する。
・NPC の行動や制御を Lua スクリプトで記述する。

とかです。
まずは、C# で実装したステージ読み出しを Lua スクリプトから行えるようにしました。

Lua スクリプト側

「ステージ3から主人公キャラのスキルを開放する」なんかの処理は、C# でハードコーディングせずに、ここで呼び出す Lua スクリプトで定義していきます。

実際のイベント定義については、引き続き実装していきます。

マップとスクリプトのデータを再読み込みする仕組みの検討

ステージのタイル配置や Lua スクリプトによるイベント定義を変更したときに、アプリ動作中にこれらのファイルを再読み込みする機能を実装します。 Unity の実行し直しは時間がかかるので、Lua スクリプトやマップのタイル配置を変更して F5 を押して反映させる、といったサイクルで開発できるようにします。

とりあえずは「F5 キーを押すと、今のステージのデータを再読み込みする」という機能だけ実装しました。

実装はこれです。


ちゃんと動きました。良いです。

今後の予定

とりあえず、1ステージの最小構成を決めて、実装していきます。
具体的には
・NPC が1体いて会話できる。
・ゴールまで移動する
・ゴールに到達したらリザルト表示
でしょうか。
敵の配置やチェックポイントの追加も順次行っていきます。


そして、開発チケットの変動を見るとわかるのですが、開発にあまり時間がとれていないので、なんとかしたいです。がんばります。

次回の更新: 金曜日の20時

月別アーカイブ

限定特典から探す

記事を検索