#



http://zoome.jp/shibata616/diary/5/
0:44
H.264 1300kbps 60fps
AAC 96kbps

-

突然ゲームサーバが動作しなくなったので、ネットコードを改修した。大雑把に2つの問題があり、前者は変数の初期化漏れが原因、後者はゲーム上の1パケットがTCP/IPレベルで分割されて送られる可能性がある事を考慮していない(2つ繋がって来る方は想定していたが、途中で切れているのは想定していなかった)のが原因だった。両方とも前から存在していたのだが、前者は未初期化の変数にたまたまちょうどいい値が入り続けていたようで今まで発現せず、後者も今までたまたま分割された事がなかったので発覚していなかった。

これらは開発環境では再現しない問題だったため、原因を特定する有効な手段が「少し直してすぐテスト」の繰り返ししかなく、後者についても結果的にパケットダンプ以外ほとんど役に立たなかった。いずれも非常に手間のかかる作業だったが、月宮氏の協力でどうにか完了した。一般的に、テストやデバッグは誰でもできる作業だと思われているフシがあるが、実際にはそうでもない。

改修ついでにクオリティを上げた。インターネットによるパケットの伝送は速くても20msぐらいだったりするので、1フレームが16ms前後という世界においては、単純な同期をしていると全く間に合わない。これを解決する手法として「同期間隔を広げる」と「バッファを取る」の2つがあるが、今回は後者の方法を取った。結果、ping19msのテスト環境では、PreBuffer0で約30fps、PreBuffer1~2で約50fps、PreBuffer3で60fpsに到達した。理論上、入力が実際に画面で反映されるまで3f程度遅れる事になるが、実際にプレイする限りでは、オフラインプレイと比べてほとんど差はない。


// Time Stamp
  2008-05-20 23:19:32 (Last Modify)
  2008-05-20 23:14:01 (First Edition)

// Bookmarks


// 関連した記事 - / / /

# 2008-06-23 20:05:56 - ?

// アクセスの多い記事

# 2007-07-30 11:29:32 - レイクドリャフカ - しろくま屋
# 2006-10-26 06:09:21 - MMORPG用語の基礎知識
# 2006-10-11 01:16:45 - 似非SFでよく誤用される近代~近未来兵器についての知識
# 2006-12-11 02:59:04 - 彼にはカルドセプトサーガの前に数当てゲームを作らせるべきだった
# 2010-02-18 23:26:20 - カミナギ - 人工無能
# 2006-12-25 04:53:42 - febgm Build100
# 2007-06-05 17:34:54 - フィーチャーから見る格闘ゲームの歴史
# 2007-04-30 15:04:20 - 格ゲー衰退の根本的な問題点と解決策とは?
# 2007-06-14 20:00:20 - カプコンとSNKの必殺技コマンド入力判定の厳しさの差を検証
# 2006-12-13 02:44:53 - 真の低脳は意外なところに潜む
# 2006-10-28 11:38:39 - 文系はコミュニケーション能力という名の処刑斧を振るった
# 2006-10-24 03:08:51 - 「MMORPG」の画期的特性とは何だったのか

Sitemap: インデックス > blog

ConnectingDB: 0.00ms.
Logging: 0.06ms.
QueryingPrimary: 0.00ms.
OutputtingRelationEntries: 0.00ms.
OutputtingPopularEntries: 0.00ms.
OutputtingReferer: 0.00ms.

Powered by PHP / MySQL, 52374th Visitor