関ヶ原式 MMOFPS

9/2にCEDEC(ゲーム開発カンファレンス)で講演をします。

お盆前に、骨子をとあるゲームスタジオの方々に見ていただいたところ、いろいろご指摘をいただいたのですが、「要点の重要性は理解できるが、できれば実際にゲームタイトルを開発するようなスタイルの方が理解しやすいんだけど」というのを受け、一つそういう方式でやってみることにします。

関ヶ原シミュレーション 
85,000 v.s. 80,000 同時プレイ デスマッチ式FPS

各プレイヤーはAIですが、刻々と変化する状況を判断しながら操作コマンドを送り、それをゲームサーバーが処理します。

従来のMutexやSpin lockなどではとても処理しきれない負荷を、ロックを使わずにAtomic OperationとMemory Barrierで同時処理をこなすスマートポインターでどこまでスケールするかやってみます。

なお、テスト評価には以下の4台のマシンを使用していますので、Nehalemの真価を確かめたい人にも面白いセッションになると思います。

1. Development Windows
CPU: Intel Xeon& (1MB cache, 2.80GHz, 800MHz FSB) * 2
RAM: DDR2-800 Registered 512MB * 2, 256MB * 2
OS: Windows XP SP2

2. Development Linux
CPU: Intel Core2Duo P7370(3MB cache, 2.00GHz, 1066MHz FSB) * 1
RAM: DDR3-1066 2GB * 2
OS: CentOS 5.5(Linux Kernel 2.6.18)

3. Mid-Range
CPU: Intel Xeon E5506(4MB cache, 2.13GHz, 4.8GT/s QPI) * 2
RAM: DDR3-1333 Registered 2GB * 4
OS: CentOS 5.5(Linux Kernel 2.6.18)

4. High-End (NEC Express5800/R140b-4)
CPU: Intel Xeon X7560(24MB cache, 2.26GHz, 6.4GT/s QPI) * 4
RAM: DDR3-1066 Registered 8GB * 4
OS: Windows Server® 2008 R2