オンラインゲームを支える技術 を読んでみた
ゲームクライアントプログラミングとしてはちょっと古いかな?と感じたけれど、後半のサーバーまわりの話は考えたことがないものばかりで良かった。
今の時代、大量のサーバーを動かすプログラムも経験しておかないと生きていけない気がする。
いざという時のために知識だけは仕入れておこう。
ゲームコーディング・コンプリート を読んでみた
元オリジンのプログラマが書いた本。手島さんが関わっているということで、GWを使って読んでみた。
ゲーム開発全般を扱っているのだけれど、ゲームエンジン・アーキテクチャよりもコードが多いのが特徴になっている。
とにかく扱っている範囲が広いので、自分にとっての弱点を再認識させられたかな。Luaスクリプティング、物理、サウンド、ゲームビューあたりが弱いことが良く分かったよ。
しかしウルティマ9と聞いて反応する人は少ないんじゃないかと思う。ちなみに僕はといえば、昔購読していたPlayOnlineを思い出して懐かしんでいた。昔は雑誌に載っていたゲームを、今では必死に理解しようとしている状態がとても感慨深いね。
Quake3
ジョンカーマックは29歳でQuake3を書いたらしい。
ならば読めるはず。
さっそくDLしよう。
ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip
GDC Vaultピックアップ
GDC VaultにGDC2011のスライドが上がっていたので、無料分を一通り読んでみた。
というわけで個人的に面白かったスライドを紹介しておこう。
まずはアロケータの話から
・Multicore Memory Management Technology in MORTAL KOMBAT
LockFreeなアロケータを、メモリ確保サイズによって複数のメモリ管理方法を切り分けるハイブリッドスタイルで実装したという話。
デバッグツールが充実しているなど、イマドキな作り方をしているのでちょっと憧れる。
次はEA
・The Data Cracker: Building a DEAD SPACE 2
DeadSpace2のユーザーテスト結果をサーバーで集計したという話。
EAにはデータマイニングが可能なサーバーインフラがすでに存在するという事実に脅威を感じる。
そして一番面白かったのがコレ
Forensic Debugging: How to Autopsy, Repair, and Reanimate a Release-built Game
最適化ビルド済みプログラムのクラッシュダンプを元にデバッグをしていくためのテクニック解説。
なぜIDEのウォッチウィンドウには謎の値が入るのか。レジスタ値が信じられるのはコールスタックのどの部分までなのか。シンボルサーバーを作るにはどうするのか。クラッシュレポートを回収するにはどうするのか。
など、いざという時に役に立つ情報満載。
デバッグ方法って地味だし、あまり表に出ないけど、非常に重要な技術なんだよね。
ちなみに今回の紹介では意図的にグラフィックス関連のスライドを外してある。別の場所で紹介されている技術が多かったということと、今の時代グラフィックスじゃないでしょう と思っているので。
エンジニアとしての生き方 を読んでみた
面白い!ゲームよりも読書を優先させたのは久しぶり。
ブログは前から読んでいるので、知っている内容も多かったが、それでもモチベーションは上がる。
英語が必須ってのは分かっているのだけれど・・・本を読むほど別の本が欲しくなって部屋が本で溢れてしまう。
実際この本に書かれていた推薦本をAmazonで5冊ほど買ってしまった。
日本語の技術書を読みつづけるか、技術書読みを休止して英語に集中するか。それとも時間効率を上げて両方取るか。
やっぱり時間効率かな。