作業してるのに進捗無くて辛いのでやったこと書いて自己顕示欲を満たすやつ

おさらい

やってること

Aprotの開発

現在の目標

プロトタイプということで、まずは動くものを04/06に作った。
実はこれめっちゃ色んな問題を裏で抱えていたので、1から書き直している途中。
つまり、「04/06時点と同等のことが出来るようにする」のが現在の目標。

2ヶ月かかってるやんつら

具体的な作業内容

  • ゲームコードと、Aprotのライブラリコードが混ざらないように設計を1から見直し
  • 実行速度を求めないとはいえ、流石に遅すぎたので使うライブラリも1から見直し
  • HaxeレイヤーにECSを構築する
  • Unityレイヤーの描画システムが重すぎたので作り直す
  • PC上で書き換えたコードがiPhone上で勝手にリロードされる仕組みを作る
  • バグ報告
  • バグ報告
  • バグ報告

Haxe、初めてまともに使ったけど現実を見ているめっちゃ良い言語で、
ゴリゴリ使うとバグが出るので最小再現ケースを作って頑張って報告していく。
ちゃんと対応してくれるHaxeのコミッターさん達ありがとう!

バグ報告内容

[Haxe] lua-vanillaフラグつけてるのにrequireしてくる

require bitしてくるけど
lua5.3ではビット演算は言語組み込みになったから要らなくない?って話になった

https://github.com/HaxeFoundation/haxe/issues/9475

[Haxe] luaでUnserializer使った時に正しく型が復元されない

このバグによりUnserializerを使う選択肢がなくなったので、
hxbitに乗り換えることに。
新たな戦いが始まる。

https://github.com/HaxeFoundation/haxe/issues/9484

[hxbit] C#で正しく初期化が行われない

既に前にissueが立ってて、その時はHaxeのバグじゃね?ってなって閉じてたんだけど
Haxeの方のissueで仕様ということになって放置されてたので新しく立てた。
まあ、これは回避可能なバグ。

https://github.com/HeapsIO/hxbit/issues/47

[Haxe] luaでhaxe.io.Bytes.getDataすると最初の1byteが失われる

どうも仕様っぽいんだけど、複数言語にコンパイルするときにluaだけネイティブで使えないもの帰ってくるのどうなの・・・って話。

https://github.com/HaxeFoundation/haxe/issues/9512

[hxbit] 機能リクエスト、uidをシリアライズ結果に含めない方法が欲しい

Serializerって言いながら、Serializeするたびに別の値返してきてビビったんだけど、
どうも勝手にunique idをカウントして入れてくれてるらしい。

  • セーブデータがでかくなる
  • データの検証に使えなくなる

とかのあたりで、外したい。

ネトゲとか作る時は、たしかにあると便利かも。

https://github.com/HeapsIO/hxbit/issues/49

[fastlane] dsymがでかすぎるとアップロードに失敗する

https://github.com/microsoft/fastlane-plugin-appcenter/issues/218

これから

ひたすらissueを立てるだけで何も生産していない人になるのは悲しいので、
Aprotさっさと動かしたい。

待ってるだけじゃ治らないのでHaxeのコード読んで自力で治そうとしている。
いや、本質はそこじゃないんだけど・・・まあ仕方ないコストかな・・・