お詫びと再起動
はじめに、ごめんなさい。
一方的に連絡を絶ってしまったまま、二年以上が過ぎていました。
更新が全く途絶えていたにも関わらず、新規のフォロワーさんがしばしば増え続けていて、期待されていたことの自覚と、期待に応えられず逃げたことへの後悔が日に日に募り、復帰を決意するに至りました。
やらかしを正当化できるとは思っていませんが、返せなかった分の期待を少しでも返せるように、再度ウディタのブラウザ実行化に挑戦します。
およそ最悪からの遅すぎる再スタートに賛否あるかもしれません。見守って頂けると幸いです。
以下、前回のつまづいた所の振り返りや今後の展望など、少し技術的な部分を交えた話をします。
初めに手をつけたのは2022年の春でした。ここでの記事にもある通り、ほぼ完動するサンプルゲームをアツマールさんのところにアップさせて頂き、色んな方から好評を得ることができました。
実際にプレイされた方は覚えていらっしゃると思いますが、この時点でmidiを含む音源、フォント、描画処理の殆どがサンプルゲームの範囲では真っ当に動く状態でした。
なぜこの状態から頓挫してしまったのか。
自分でも情けないのですが、当時の(というか今も大して変わらない)ゲームを実行するための実行環境・コード群が、あまりにも汚くとっ散らかった状態であったため、こんなものを世に出していいものかと躊躇してしまった部分が大きかった……のです。
自分で設定する分にはなんとか動かせたのですが、手順のドキュメント化が進んでおらず、補助ツールを作ってみるもその使い方すら複雑になってしまい、自信が失われていく一方でした。
具体的に言えば、ウディタGame部分を魔改造により強○的にWeb向けビルドできるようにしたC++コード、ウディタが使っているDxLibのコア機能をそのまま使えるように改変したWeb向けDxLib、midi演奏用のrustライブラリを流用したJavaScript、ファイル周りの操作などをブラウザに適合するようC++に埋め込んだJavaScript、ゲーム画面になんとかなってるhtmlなど、とても綺麗とは言えない複雑なコード群から成っています。
今思えば、それでも使ってくれる方々を信じて公開すべきだったのかもしれません。
二年前に一度投げ出した後、2023年の夏にも一度、本格的に再挑戦しています。コードの複雑さは変わりませんが、このときはよほど大規模な作品でもない限り、スマホでも十分動く可能性がある。くらいのところまでは改善が進みました。
ただ欲張りすぎて、色んなスマホにも対応したい。一般的なスマホでも大規模な作品が動くようにしたい。と思い追求するうちに、力尽きてしまいました。
この当時の知見は記録に残している(もちろんソースコードも)ので、再始動は比較的楽に出来ます。
ただこの一年でブラウザの対応状況が変わっていたり、開発環境に微妙な変更が入っていたり、前回は捕捉できていなかった不明なエラーが出てしまうパターンも確認しており、メンテできる形ものを今すぐ出すのは難しい状況にあります。
出来れば最新のウディタの仕様にも追従したく、現在試行錯誤しているところです。
最後に、有料プランは廃止しました。頂いた分の支援は、今後の活動で返却するしかないと思っています。
来週辺りにまた記事を書く予定です。
以上、よろしくお願いします。