見出し画像

MGL週報 #37 - MGL 1.1.10公開など

このエントリはゲーム開発用フレームワーク「MGL」の開発記録です.MGLはzlibライセンスの下に無償で提供されています.


MGL 1.1.10公開

つい先ほどMGL 1.1.10をリリースしました.リリースノートはこちら.

今回のアップデート内容は試験的な機能の追加がメインとなっています.これらは現段階での使用は推奨されるものではありませんが,次に繋げるための重要なアップデートでもあります.

さて,次の1.1.11の予定ですが,今回追加した機能の検証や調整,ドキュメント化をメインに行う予定です.実際の作業としては,検証しながらドキュメントを作成しつつ,問題となる部分を炙り出して修正していくという流れになると思います.

また,既にドキュメント化できる段階まで実装されていながら後回しになっている項目も多いため,こちらも可能な限り解消していく予定です.

……と,その前に,タスクの並列実行はもう少し手を加える予定です.詳しくは後述.


今週の作業内容

タスクシステムの並列実行対応

先述の通り本格的な検証はこれから行う予定ですが,簡単な検証コードを書いて少なくとも止まったりしない事は確認しておきました.並列処理はちょっとした同期ミスで簡単に停止してしまう反面,環境によってはそれでも動いでしまうから厄介です.

パフォーマンスなども含めた本格的な検証はこれから……とする予定でしたが,やっぱり仕組みが良くない気がするので予定を変更します.

前回の週報で2種類の実行方法を紹介しましたが,やはりこれは使い勝手に難があります.理屈上はこれでパフォーマンスの向上が期待できるはずなのですが,それは「最初から」並列実行を意識してゲームを作る場合のお話です.

実際の開発では,パフォーマンスのチューニングは問題が浮き彫りになってから行うのが一般的です.これは後先考えずに開発を進めているという意味ではなく,早すぎる最適化は様々なトラブルを併発するリスクが高く,不要な対処は避けるべきとされているためです.正しいとされる最適化の順序は,まずは「測定」,次に「特定」,最後に「対処」なのです.

現実問題として,最適化は既存のコードに対して後から行うケースが大半だと思います.であれば,本当に必要とされるものは,既存のコードを大きく変えずに簡単に並列化するための仕組みです.今あるタスクシステムの「奥の手」としての並列実行なのですから,これを無視する訳にはいかないでしょう.

という訳で,今の実装よりももっと手軽に並列化できる仕組みを頭の中でぼんやりと考えています.本格的な検証よりも先に,そちらの実験を行う予定です.

MGL 1.1.10 リリース作業

何だかお馴染みになってきたリリース作業.最初に公開したのが去年の年末だったので,もうそろそろ1年経つんですね.

いつもはいつも通りに進めていた作業ですが,今回はあらかじめ手順をタスク化し,その通りに進めてみました.こうして手順を確立させることによって,今後のミスを減らそうという目論見です.

あと,今回のバージョンで作業した内容はかんばんの「完了」の項目に溜まっているため,リリースノートが非常に書きやすかったですね.今まではgitのログを読み返していたので,時々抜けが発生していました.

Taigaの導入は今回のバージョンが初でしたが,何だかんだで結構便利に使えています.ソロ開発でも十分にメリットがある事は証明されたため,ゲームの開発にも用いてみるつもりです.

さて,リリースも完了した事なので,今「完了」にある項目はアーカイブへと移して次のバージョンの作業チケットを登録する予定です.まずは作業内容を洗い出さないと.


その他

Steamのオータムセール,始まってしまいますね.結局「ぺぐそり+」の体験版を準備する余裕はありませんでした.その後のウィンターセールには間に合わせたいところです.

ところで,体験版には特に何も考えずに「Trial」って名前を付けてしまったのですけど,Steam的には体験版は「Demo」が一般的だったみたいです.ゲーム内の表記や実行ファイル名くらいならともかく,カプセル画像はそれに合わせないと悪目立ちしてしまいます.これからSteamで体験版を作る予定の開発者の皆様はご注意ください.

この記事が気に入ったらサポートをしてみませんか?