2012年4月23日月曜日

バグ続出

しばらく放ってしまいました。すみません。

プレイ人数が増えてきて、バグがかなり出てきました。ご報告いただいた皆様、ありがとうございます。

やっぱり多人数でいじくらないと出てこない問題が多いですね。

また、操作とターン処理の競合がかなりきついです。今はターン処理に1秒かかっていないのでごくまれに当たっちゃう人がいるくらいですが、ターン処理に10秒とかかかり始めると、おそらくかなりの頻度でデータベース不整合が起こります。

どうやって解決するかはまだ検討中ですが、ターン処理でいじる部分とユーザ操作でいじる分をできるだけ分けました。それでも、支持率や資金やポイントなどは時々競合します。

何かいいアイデアがないかなぁ。

ユーザ処理は別DBに履歴的に蓄積して、ターン処理時に一斉反映、というのを考えたのですが、全操作に対して履歴レコードが生じ、なおかつ、表示でターンDBに履歴DBを積み上げたものを表示するように変える、となるとスクリプトの6割くらいが書き直しです。死にそうです。

ターン処理中に逐次最新データを参照するようにすると、ターン処理だけで数分かかります(笑)。

ターン処理負荷を軽減するアイデアとしてユーザごとに別時間帯にターン処理するというものがあるんですが、どうでしょうか、やっぱりやりにくいですよね。というかその処理のテストができてないのでいきなり実戦投入は危ない気が。

あと、スロットゲーム。毎日更新でポイントガンガン削られるのはやっぱりきついですよね。スロット権利が残っている場合はポイントを消費せずに翌日に繰り越せるようにするってのはどうでしょうか。賛否求ム。ポイントシステムは、先行ユーザが有利になりすぎないための仕組みなので、ポイント残高が積みあがりやすい仕組みを導入するのはちょっと躊躇するんですけど。

あと、結構すごい都市網を作ってらっしゃるプレイヤーがいます。私が想像しなかったくらい。がんばれー。