投稿記事

Lunatlazur 2022/12/12 00:08

依頼を受けてプラグイン制作【記:あおたく】

こんばんは、あおたくです。もうすっかり歳の瀬ですねえ。あっという間に2週間過ぎようとしてて吐きそうになっちゃった。

今週はちょっと依頼を受けてプラグイン制作などをやっていました。
これはまだ詳細はお伝えできないんですが、完成したら何らかの形で作ったプラグインを皆さまにもお届けする予定です。ちょっとどういう形で公開するかはまだ考えてるところです。

そんなわけでガストロのほうはちょっとお休みしています。プラグイン制作のほうが終わったら続きに取り掛かる予定です。

短いですが今回はここまで。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/12/07 20:35

一旦やることを決めました【記:ゆえ】

こんばんは、ゆえです。
なんか急に寒くなりましたね。寒暖差アレルギーなのかわかりませんが、鼻の調子が悪くて活動時間が減りつつあります。

さて、先日あおたく氏と再び山登りに行ってきまして、いろいろとゲームの話もしてきました。自分は今後作りたいゲームのためにやりたいことを練習しようと思います。

目標は「えっちなゲームを作る、あわよくばLive2Dで動かす」です。
ざっくりとした設定は組んだので、ヒロイン一人の短めなゲームを練習で作ってみようと思います。
使うツールですが、今回はRPGではないのであおたく氏にも勧められたティラノビルダーを予定しています。Live2Dも使えるみたいですし。

できるだけ進捗上げていきたいと思います! 頑張ります!

フォロワー以上限定無料

最近の制作物

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/12/04 23:02

重い腰を上げまして【記:あおたく】

こんばんは、あおたくです。

ここ数日は開発効率とメンテ性向上のためにずっと先送りにしていた TypeScript での開発環境の整備をしていました。していましたというか、まだ終わっていないので今もやっています。

解決したい課題

JavaScript は動的に型を解決する言語なので、コードを書いている段階ではその変数が指す型が何なのかわかりません。
確かに最近のエディタは賢いので、ある程度は推論してくれます。

const message = 'Hello, world.';

こういうコードを書いたとき、message が文字列であることは自明で、実際 vscode はこれを string として扱ってくれます。
しかし、外部のコードを参照している場合だとこういうわけにはいきません。

const sprite = new PIXI.Sprite();

この spriteany という不明瞭な型になります。それは、困る。ただ、さいわいなことに pixi.js には型定義が存在するので、それを読み込めばわかるようにはなります。

ところが、ツクールのプラグイン開発には、もちろんツクールのコードを参照します。ツクールは TypeScript では書かれていないし、公式の型定義も存在しません。

RPGツクールMV のときは有志の TypeScript の型定義ファイルがあり、これがまず間違いないくらい正確なファイルだったので、これを使えば TypeScript でプラグイン開発できていました。幻葬再演で使っているプラグインは TypeScript で書かれています。

これと同等のものが、RPGツクールMZ には、実はありません。

現在ある RPGツクールMZ の型定義の問題点

  • 型が不足している
    _ ではじまる内部変数や内部関数の型定義が欠落しています。プラグインを開発するにあたっては既存のオブジェクトの実装を拡張したりしたいので、そのオブジェクトが持つ内部変数や内部関数にはアクセスする必要があります。が、それらの定義がなく、存在しないものとして扱われます。

  • 定義がモジュールとして export されている
    ツクールのコアスクリプトは基本的にクラスや定数、それからもちろんグローバル変数も含めて、グローバルに定義されます。任意にモジュールを import する場合、import したモジュールだけがそのファイル内で定義されますが、実際には import しなくてもグローバルに定義されたクラスや定数は実行時に存在するため、import しなかった定義との衝突が起こる可能性があります。型がグローバルに定義されていれば衝突は事前に検知できます。

  • バージョンアップに追従できていない
    2020年に作られたっきりでコアスクリプトのバージョンアップに追従できていません。

ないものは作る

というわけで結局自作するしかなさそうです。調べるたびに自作するしかなさそうということを思っては、型定義を書き始めるのですが、量が量だけに大変で、中断してしまいがちでした。ただ、今後まだしばらくはツクールMZを使っていくことになるので、今このタイミングで型定義を作っておくことには意味があります。そんなわけで、重い腰を上げ、今なんとかやっています。

フォロワー以上限定無料

近況

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/11/30 00:37

あまり作業進みませんでした【記:ゆえ】

こんばんは、ゆえです。
明確な進捗がないとつい更新が遅れてしまいますね。申し訳ないです。

ガストロで一仕事終わったので自分の作業に戻ろうと思ったのですが、まだ何をしようか悩んでおります。
今のところ二つの案があって、シナリオやシステムを考えてよくなりそうな方を作りたいと思ってます。ただそれがなかなか固まらず……。なので報告ができるものが無いのです。
システムも思いついたものを作ってみたりしてるのですが、なかなかしっくりするものが作れないですね。ゲーム作るの難しい。

いい加減自分もゲーム作りたいので早めに決めます!

短いですが今日はここまで。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Lunatlazur 2022/11/26 07:28

ダインのキャラ素材を動かしてみたり【記:あおたく】

おはようございます、あおたくです。

ゆえ氏がダインの待機モーションを作ってくれたので、実際にゲーム画面でどんな感じになるのか組み込んでみました。何故か画面が4:3ですが、動作確認用のプロジェクトが16:9になってなかったことに動画撮ってから気付きました。

(アップしたら動画の変換に失敗していたのでアップし直しました)

移動はイベントで組んでいて、キー入力を受けてキャラの移動ルートのジャンプコマンドで実装しています。
実際に動かしてみるまでこのタイルベースの探索画面がいいのかあんまり自信なかったんですが、よさそうですね。こういうプロトタイプをもっと早くに組めよという反省はありつつ、問題なさげなので今回は問題ないということで……。次やるときはこういうところからサクッと組み上げていきたいです。思えば JBG のときは逆にそのへんを先に着手してるんですよね。えらいと思いました。

今回は動作確認用に軽く組んだだけなので、移動可否の判定を組んでないし無限に移動できたりします。そのあたりもおいおいやっていこうと思います。

フォロワー以上限定無料

近況

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4 5 6 7

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索