MGL週報 #71 - ここ最近の作業内容
このエントリはゲーム開発用フレームワーク「MGL」の開発記録です。MGLはzlibライセンスの下に無償で提供されています。
ドキュメントはこちら
進捗状況の確認と問い合わせはこちら
ここ最近の作業内容
ここ最近は週報が隔週報になりつつありますが、週報の本来の目的である作業内容についても書き出しておきましょう。
ドキュメントの更新
少しづつ進めていたドキュメントの修正作業ですが、まだ中途半端ながら先ほど更新したものをアップロードしました。
大きな内容の追加などはなく、修正がメインの小さな更新です。主にページ間で不統一だった表記や古くなった情報の修正など、多分言われなければ気づかないレベルのものばかりだと思います。
ドキュメントにもやはり鮮度があり、放置すれば古くなる一方です。なので頻繁に読み返して修正箇所を見つけてはいるのですが、新規追加の機能に関する内容も並行して加筆する関係で、結局はMGL本体の更新タイミングで一緒にとなりがちです。
去年みたいに頻繁にMGL本体に更新を入れていれば大きな問題ではなかったのですが、最近は頻度が減っているためちょっと問題になりつつあります。この辺も対応策を考えないと。
C++23対応への調査
ちょっと前の週報で、gccでビルドが通らない問題はC++23にアップデートすれば解決するんだよなぁ的な事を書いた記憶があります。これをもう少し本格的に検討しています。
MGLはC++17に準拠して作成されていて、作り始めた当時はまだ実装されたばかりで採用例の少ない状況でした。しかしここ近年のC++の進化は早いもので、今となっては少々遅れ気味となりつつあります。
ゲームを作るという目的であれば、コンパイラに後方互換のオプションがあるためどのバージョンに準拠して作成しても大きな問題には至りません。しかし、フレームワークとして提供しているMGLでは気にしなければならない問題です。利用者からしてみれば、C++のより新しい機能を使いたくてもMGLが足を引っ張ってしまう可能性があるためです。
良くも悪くも、MGLはまだ安定版のリリースを迎える前の段階です。対応するならむしろ今のうちかな……と思って対応を検討しています。
実際のところ、ビルドを通すだけであれば大きな変更は無いはずです。しかし、もしやるのであればC++20から導入されたモジュールに移行したいと考えています。モジュールについては、例によってcpprefjpさんのリンクを貼っておきましょう。
簡単に言うと、モジュールであればソースコードとヘッダを分けなくて済むし、コンパイル速度も早くなりますよという仕組みです。これはライブラリを使う側だけでなく、作る側にもメリットがありそうな機能です。
「ありそうな」と曖昧に書いていますが、実を言うと私はまだこの機能について把握しきれていないのです。ですので、一旦は感覚を掴むため、MGLよりも小規模なツール類をC++23に移行しつつモジュール化の試験を行う予定です。
まあ、ビルドくらいなら設定変えるだけで通るだろう……と思ったら通らないや。ああ、この問題ですか。
Adobe Creative Cloudへの移行
MGLとは直接関係ありませんが(とはいえ無関係でも無いのですが)、グラフィック素材の作成のためのソフトウェアとしてAdobe Creative Cloudを購入して試用中です。
前回の週報で「今使用しているソフトはもう更新されていないし、Adobe CCは高いしどうしよう?」的な事を書いた矢先、ブラックフライデーセールで50%引きだったので意を決して購入してみました。あくまで初年度が半額というだけで、来年からは倍額(値段がそのままなら8.5万円)です。
私は残念なほど絵心のない人間なので、まず間違いなく元を取れるほど使いこなせたりはしないでしょう。ですが、この活動をしているとお絵描きからは逃れられません。ゲームを作るのに必要なのはもちろん、ドキュメントに載せる図も自分で描く必要があります。ついでに、ゲームを作る環境を提供するなら作り手側の環境も知っておきたいという意図もあります。
私がゲーム開発を通じて学んだ事の一つは、自身の適性についてあまり気にしすぎてしまうと、やりたい事のほとんどは実現できないという事です。適性がなくても熟練度は上がります。適性のある人に追いつけないだけです。
……などとそれらしい理屈を並べているのは、高い買い物をした自分に対する言い訳です。
さてさて、主な目的はベクター画像の作成になるため、とりあえずIllustratorをインストールしてあれこれ試しています。他のソフトからの乗り換えなため完全な素人ではないと思いたかったのですが、いかんせん知らない機能が多く、やはり私は素人だったようです。
あと、アウトラインフォントの作成なんかもできるらしいので、こっちも習得してフォントを自作してみたいですね。ビットマップフォントは定期的に作成していて、前にも記事化していたりします。
なお、公式の-50%セールは終了してしまいましたが、Amazonのブラックフライデーセールではまだ-46%で販売されています。私と同じ目に遭いたい方はいかがでしょうか。
ちなみに、公式の-50%セール価格は43,440円、Amazonの-46%価格は42,480円なので実はAmazonの方がお安いみたいです。私は公式で買ってしまいました。
その他
ドキュメントの整理やC++23への対応検討も重要なのですが、ゲームそのものの開発を進めたいという気持ち。もう随分長らく放置しちゃってます。