【24sec】残りの保存バグ修正できました!
残っていたデータ保存バグ修正できたよ、記録メモ。
【問題の症状】
●一部の方のプレイヤー名が「Player」になっていた。「Player」はこのゲームにおけるプレイヤー名データの初期値のもの。しかし、仕組み上は、Kongregateにアクセスした時点でKongregateのサインイン名称かGuest扱いにしているため、初期値が露呈する「はずがない」というもの。
●ゲームではプレイヤー名とほかのデータを紐付けて保存しているため、何かの理由で名前が「Player」になってしまった方は、「Player」になったときにデータが飛んだと思われる。
●自分が再現を試みる限り、タイトル画面でロード中に閉じると、高確率で名前が「Player」になり、データが初期化される(紐付けを失う)ことを確認した。
【原因発覚と解決】
●ロード途中での中途半端な保存を避けるため、タイトル画面を押してキャンペーンに移行するまで「保存」動作はしていない設定のつもりだった。しかし、ゲーム各所での急なブラウザ閉じに対応するための「OnApplicationQuit」で保存をかけていたため、ロード中にブラウザを閉じると、初期値などが混ざった状態で保存される危険があるとわかった。
●「OnApplicationQuit」タイミングの保存に、「タイトル画面ではない」という条件を加え、改善。少なくとも自分でわかっていた状況では「Player」発生は再現できなくなった。
ということで、この件は、一定の改善がされたと思う。公開から3週間、ようやく保存機能周辺はまともになってきたか。いやー本当にすみません。
--- 記事はこのゲームについて書いています
▼初の自作ゲーム24sec(Kongregate.com に飛びます)
Play 24sec Evolution, a free online game on Kongregate
▼関連:
ウィキ(プレイヤーさん制作)
ウィキ(作者自前)