![]() パステル オービット |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
---|
ゲームプログラマが語る書評:「MMORPGゲームサーバープログラミング」を読んでみた
|
![]() 本年もまた桜舞い散り花は咲き乱れ心は躍動するこの季節、門出の"4月"がやって参りました。日本中が無意味に浮かれまくっている正月とは一線を画し、粛々とした空気と杉花粉の中、襟元を正していきたいTeamDyquemで御座います。 皆様、こんにちは。 本ブログへお越し頂いている読者様の中にも、今月より新社会人として人生の歩みを進める事となった方もいらっしゃるでしょう。当サイトがお送りしておりますコンテンツから推し量るに、恐らくはゲームプログラマを志しておられ、この春、晴れて業界入りを果たした方も少なくは無いかと思います。 おめでとうござます! ![]() さて、久しぶり且つ第三回。 「プロのゲームプログラマとして、ゲーム製作に関する書評を」シリーズで御座います。 以前のエントリー 「ゲームプログラマが語る書評:「ゲームエンジン・アーキテクチャ」を読んでみた」 「ゲームプログラマが語る書評:「ゲームプログラマになる前に覚えておきたい技術」を読んでみた」 ご興味のある方は、こちらも併せてご覧頂けましたら幸いです。 ![]() MMORPGゲームサーバープログラミング ![]() 昨今。 ゲームというコンテンツを表現する上におきまして、そこに展開される面白さ探求が重要でる点は勿論でありますが、昨今ではその手法も多岐にわたって参りました。 オーソドックスなゲームメカニクスの敷設はとても大切な事でありますが、ゲーミング要素インフレーション時代を迎えた現代、「普通のゲーム」を彩る多様性が重要な時代になってきている事は明白でしょう。 この「ゲームメカニクス」につきましても、以前のエントリー 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 楽しさの仕組み ゲームメカニクス」」 こちら、併せて一読頂けましたら光栄です。 さて。 ![]() ゲームに載せるネットワークプログラミング、心得 多様性が求められる昨今のゲームコンテンツであります。 中でも、ネットワーク機能の搭載に関しましては、ゲーム黎明期より営まれてきたそれまでの永い永いクローズドコンテンツ時代に終焉をもたらし、ゲームというジャンルそのものを、マルチプレイ、果てはソーシャルコンテンツにまで昇華させた、とても重要なファクターであると言えましょう。 現代では、スマートフォン……まあ、ここでは敢えて「電話」と広義に呼称しますが、その”電話”にまでもネットワーク機能搭載ゲームが大量リリースされる時代となり、インフラを含め、まさにITコンテンツバブル時代の到来が予感されるものであります。 こうした背景を踏まえると、ゲームプログラム習得中の未来ある若き技術者にとってみれば、ゲームをネットワーク化させるという根幹技術を学ぶ事は、重要な通過点である筈ですね。 その為には、どういった手法が合理的なのでありましょう。 現代において、ネットワークプログラミングを学ぶ事は難しいものではありません。 この、飽和した情報社会でありますからね。UNIX系サーバープログラミング、そうした語句を頼りに探すだけでも、書籍や情報は本当に星の数ほど散見する事が出来ましょう。 しかしながら、そうした表層的な付け焼き刃努力の先に、実を結ぶべき道など敷かれてはおりません。 いかに現場よりか。いかに現実的な事例に触れるのか。技術というものは突きつめてみれば、経験と試行錯誤の果てにしか、学ぶべき正しい道などありはしないのです。 ![]() 環境 GPUドライブ系プログラミングは世間のトレンドでありますが、これは意外にも習得は難しくありません。それなりのグラフィックボードを詰んだ一台のWindowsPCと、弛まぬ不屈の努力があれば、それは可能です。 しかしながら、ネットワークプログラミングを学ぶ為には不十分。 単純な「技術レベル」という意味におきましては――僕個人は――グラフィック系プログラミングは、ネットワーク系などとは比較にならない程の難易度の高さであると思っておりますが、その習得環境を整える意味では、ネットワーク系は大変難儀します。 複数台のネットワーク環境や、何千何万というパケットを瞬時に捌く仮想環境、負荷テスト。こうした事象へ対し現実的なレベルで個人が触れる事、またそれを個人で学ぶ為には限界があるのです。 やはり、どこかの組織へ所属し、現実のプロジェクトに従事しながら学ぶ事が大変合理的であると言えましょう。昨今は空前のSNS系ゲームコンテンツブームでありますからね。中小ソフトハウス含め、やる気と一定の技術があれば、その力を発揮することも難しくはないでしょう。 ![]() ただ就職すれば良い、そう考える前に さて、今回の書評として挙げた「MMORPGゲームサーバープログラミング」。 現実に業務を始めるその前に一読しておく、そうした立ち位置で捕らえるならば、大変良い書籍であります。 かなり古い本でありますが、一世を風靡した当時のソウルネットワークゲーム界黎明期において、本当に本気でマーケットを築き上げて、そして本当に現場技術を構築してきた技術者達の血書です。 そこに記されるプログラミングスタイルが前世代的であったり、MMOコンテンツとしてもトレンドから外れている部分はありますが、そこに記されている手法は、真実のベース技術です。 ソケットプログラミングの基本的知識があり、また、クライアント制作経験がある事が前提となりますが、それはもはや、現代IT業界において習得は難しくないでしょう。 「ゲーム」というコンテンツを馬鹿正直に制作するのではなく、そこにサーバーやクライアントが実際に存在していなくとも――それがたとえ一人プレイ専用のゲームであろうとも――「サーバー&クライアント」という概念を単一の論理空間で表現し、「パケット」という概念でゲームをドライブする。 それが実際のネットワークで繋がれていなくとも、全ての情報を抽象的に扱う仕組み――パケットドライブ――にて、ゲームを構築する事が、その発展性を保証し高い合理性を生み出すロジックへ昇華していくのです。 パケットベースにてゲームを運用構築する。 そうした事例を、こうまで具体的に記している書籍を僕は知りません。 良書です。 (後半は、パケット祭りの様になっていますけれどね。前半半分は良書です)
![]() シリーズ記事まとめ ■Aニュース、ガジェット通信 寄稿記事 「『連載.jp』寄稿「ゲームプログラマが語る「プロ棋士に勝ったAIは、タクシー基本無料化をもたらす?」」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ”買わない理由”がもたらす充足感と、開発者達の心理」」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る アップデート版に潜む開発者モラルハザード」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ソフトやアプリと携帯ゲーム課金における経済行動学」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る。新しいゲーム機が定期的に生まれる理由」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 楽しさの仕組み ゲームメカニクス」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 3Dテレビとゲームの微妙な関係 その打開策」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 無料アプリのビジネスモデルと舞台裏」」 「『Aニュース/ガジェット通信』寄稿「新発表ラッシュに見るクラウド大航海時代の幕開け」」 ■ゲーム制作初心者さん向け系 ゲームプログラマが語る。なんちゃってリードプログラマにはなるな!ゲーム造りで放棄してはいけない大切な事 ゲームプログラマが語る。今さら聞けないフレームレートに纏わる話。秒間60?16ミリ? ゲームプログラマが語る。「浮動小数点」と商業レベルで上手に付き合う方法 「ゲームプログラマが語る。ゲーム制作初心者の方へ小ネタ「クォータービュー入門」」 「ゲームプログラマが語る。「正しい乱数」が彩る確率世界とエンターテイメント」 「iPhoneアプリ、ゲーム制作初心者の方へ小ネタ「線分と円の交差」」 「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタ「2Dベクトル」」 「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタを一つ」 ■「プロのゲームプログラマとして、ゲーム製作に関する書評を」シリーズ ゲームプログラマが語る書評:「MMORPGゲームサーバープログラミング」を読んでみた ゲームプログラマが語る書評:「ゲームプログラマになる前に覚えておきたい技術」を読んでみた ゲームプログラマが語る書評:「ゲームエンジン・アーキテクチャ」を読んでみた ■個人でも出来る、マルチプラットフォーム開発関連 「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4」 「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3」 「iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ」 「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1」 ■リリースしました系 「PASTEL-ORBIT/TeamDyquemアプリ第19弾。ローグライク決定版「隣人は魔王」をリリースしました。」 「TeamDyquemアプリ第18段。ご当地バトルRTS「埼玉クエスト」をリリースしました。近隣の県を滅ぼそう(*-_-*) 埼玉以外でも遊べます #47app」 「アプリ新作「ネコりす マカロン」をリリースしました」 「埼玉県ご当地アプリ、「タッチ the さいたま」をリリースしました #47app」 「アプリ新作「ひよこガーデン」をリリースしました」 「TeamDyquem新作。結構真面目なアクションパズル「ネコりす」リリース」 「iPhoneアプリ作者が、iアプリ「泡リス女子部 for iアプリ」をリリースしました」 「自作iPhoneアプリ改良版、「ネコがゴミのようだネ:アーケード」をリリースしました」 「iPhoneアプリ作者が、「まりも育成」for iモードをリリースしました」 「iPhoneアプリ新作 「ナタ・デ・ネコ」 をリリースしました」 「秋刀魚は関係ないけれど、新作「i-Wishbone」リリース」 「アプリ新作「ネコがゴミのようだ」。プロモ動画をアップしてみた」 「「泡リス 女子部」、販売開始」 「AppBankにまりも紹介記事が!」 「ゲームプログラマとして参加。ご当地47都道府県アプリプロジェクト #47app」 □ビジネス系 「ゲームプログラマが語るドコモiPhoneと、インフラから合法的に大金を抜くスキーム」 「ゲームプログラマが語る。秀丸エディタのビジネスモデル」 ■SFネタ系 「ゲームプログラマがSFを語る。意識はどこからやってきて、死んで、そして何処へ行く?」 「ゲームプログラマが語る。気の遠くなるスキもない程の、宇宙の話」 「iPhoneアプリ作者が語る。流れ星に馳せる真実」 「iPhoneアプリ作者が警笛。どこでもドアの使い過ぎには注意」 「iPhoneアプリ作者が語るSETI理論。異星人さんは何処!?」 ![]() |
||