2008年9月のエントリ

今週末はお引っ越し。今の場所から歩いて5分くらいのところ。てことで今まで持ってなかった電化製品とか家具を買っている。あとはベッドだけなのだが,玄関のところがちょっと狭いので入るのかなあ,と心配に。で,シミュレーションしてみた。

2008092401

白いのがマットレス。木目なのがドアとか廊下の仕切りですね。ちなみにベッドは通常組み立て式なのでマットレスさえ入れば搬入OK。実験結果は「余裕で入る」ってことに。いや,まあ「ドアの幅+廊下の幅」が「マットレスの長さ」以内なら入るのは分かってるんだけど,World Testerを使えばこんなシミュレーションも簡単にできるよ,みたいな。

今日は18:00頃にサーバがフリーズしていた模様。ぱじさんが再起動してくれたのでダウンしていた時間は30分程度だった。

発生している問題を少し詳しく。サーバがフリーズしているときに「kill -3」でスレッドダンプを取ると,「java.net.SocketOutputStream.socketWrite0(Native Method)」で止まっている。これはソケットにWriteでいくつかデータを書き込み,後にFlushすると,JVM内部でネイティブメソッドを呼び出し,実際にソケットWriteするわけだが,そこでフリーズしてしまうということだ。ネットで調べてみると同じような現象で困ってる事例はあるが,解決策は見つからない。今のところお手上げ状態。せめて例外を出してくれるのならなんとかなるのに。

連休も終わり,なんとかピークを乗り切ったのかな。いろんな意見も聞けたし,多人数参加型脱出ゲーム第1弾としてはこんな感じですかね。一番面白かったのは,海外ページで「Etan Counter Moge」と訳されてたところ。最初分からなかったが,これって「逆襲のもげ」+「ぇたん」ってことなのか?


平日は昼間サーバが落ちててもちゃんと対応できなさそうだけど大丈夫だろうか。

多人数参加型脱出ゲーム「逆襲のもげぇたん」を公開。脱出ゲーム+チャット+協力プレイという感じか。協力プレイにした代わりにちょっと複雑になっている気もするが,今後の作品に向けての可能性がいろいろ見えそう。


今回はFlashクライアントをぱじさんが担当し,サーバとアイテムモデリングを私が担当した。2Dグラフィックは最初ぱじさんが作っていたが,最終的にDenasu Systemグラフィック担当のぷぅ氏に依頼することに。3人で作ったのはベーマガ投稿時代以来か。


「逆襲のもげぇたん」。サーバフリーズしまくり。サーバがフリーズするときはCPU使用率が100%をふっきってソケット通信が停止してしまう。通信量は問題ではなさそうなので単純に処理が間に合わなくて待ち行列が発散しているのか,バグってるのか。同時接続数は360人。最終的に500人を超えそう。一体ピークはいつなんだ。

前作のプレイ人数から,最大同時接続数400人くらいを見積もって通信量は大丈夫とか思ってたのだが,むしろCPUとメモリが危険域。とりあえずの対策として,サーバを80個くらいに分割してみた。この後はロードバランサー的な機能を実装して少ないサーバに割り当てるような感じにしないとダメかも。

ぱじさんと進めているプロジェクトが大詰め。塗り絵をしたり掲示板をメンテしたり。内容に関してはまだ公開できないので日記に書くことがない。結局8月はほとんど何も書いてないや。