2ntブログ

現在のネットゲームが抱える技術的な問題点

前回は「壊れない」レアアイテムの乱発による、商売の破綻という仕様的な問題点を提起したが、ネットゲームが抱える問題はこれだけではない。
とりわけ「技術面」での問題は、商売優先で設定したにも関わらず、それが逆に長期的な商売を阻害している要因になっている仕様の問題と同等以上に深刻だ。

ネットゲームが普通のオフラインのコンピュータゲームと決定的に違うのは、「アップデート」が行える事であろう。
オフラインのゲームは、一度販売してしまえば、たとえ致命的なバグや仕様の穴があっても、それを変える事はできない。
もちろん、第二版以降は修正を行った製品を出荷する事は可能だが、初版を購入してしまったユーザーへの手当ては容易ではない。

ファミコンに代表される家庭用ゲームには、「裏技」というものが付き物である。
これらは本来は、潰しきれなかったバグや、テスト・デバッグ用のコマンド等を消し忘れたまま出荷してしまった開発のミスによるものだ。
まだネット環境も整っていないうえに、ファミコンのソフトウェアはその性質上、アップデートが出来ない。
修正しようとしたら、購入した客に初版のカセットをメーカーに送って貰って、代わりにバグ修正を行った第二版のカセットを送り返すという、非常にコストも手間も掛かる事をする以外にない。
だから「裏技」として、あたかもゲームの正式仕様であるかのようにしたのだw

つまり今のネットゲームのように、簡単にアップデート出来ない事に対する苦肉の責任逃れや自己正当化に他ならないのだw

さて、簡単にアップデートが行えるのがネットゲームの長所なのに、昨今のネトゲの運営はそれをまったく生かせていない。
アップデートは、何も新しいレアアイテムやカードを追加したり、新しい機能を実装したりするものではない。
既知の不具合を修正する事こそが、本来の意味でのアップデートである。

それと、これはどこの運営も行っていないと言っても過言ではないが、「プログラムの改良」もアップデートに含まれる。

サーバ・クライアント双方の、プログラムの動作効率の改善、メモリ使用率の改善による、ストレスの無い高速な動作を行えるようにするものだ。
これをコンスタントに行ったネットゲームというのは、私はウルティマ・オンライン以外に知らないw

今より遥かに性能の劣るサーバやPCと、今より遥かに劣る通信インフラ環境で、今より遥かに優れた応答性能と動作を行っていたウルティマ・オンラインは、ひとえにその「プログラム」が「神」レベルにまで昇華されていたためだ。

例えば今私がやっているPCのMMOネットゲームである「幻想神域」は、MAPの切り替わり時に、決して短くはないローディングが発生する。
この「幻想神域」より遥かに広大なフィールドMAPを持っていたウルティマ・オンラインも、MAP切り替えという概念はあった。
世界は1枚のMAPではあったが、その広大なフィールドを1つのサーバで管理するのは不可能であり、いくつかの地域に分けて複数のサーバで分割管理していたからだ。
よって、MAP上には「見えない境界線」みたいなものが存在しており、グラフィック上はずっと継続している平地や道であっても、その途中で一瞬移動の動作が止まったり、あるいは追いかけてきた敵が突然止まる事があった。
これが、「見えない境界線」を跨いだと分かる瞬間であった。
とはいえ、あの時代よりサーバもPCも遥かに高性能になったにも関わらず、MAP切り替えのローディングが1分以上も掛かる「幻想神域」と違い、ウルティマ・オンラインは本当に「一瞬」だった。

2Dだとか3Dだとかの違いを考慮しても、いかにウルティマ・オンラインのプログラムが神レベルで、いかに「幻想神域」をはじめとした今のネットゲームのプログラムがゴミレベルであるか、よく分かる例だと言えよう。

最初から「神」レベルのプログラムなど作れるはずはない。
ウルティマ・オンラインだって、最初はバグだらけ、動作も重かったわけだが、度重なる修正と改良によって、そこまでのレベルに達したわけだ。
だが、今の運営・開発はそれをやらない。
なぜか?
答えは不具合修正ならともかく、「改良」という行為は、一歩間違えれば新たな重大なバグを生んでしまう可能性があるからだ。

これは個人PCでも経験あると思うが、コンピュータというものは動作が非常にシビアであり、周辺機器を増設しただけで、プログラムが動かなくなったり、止まったり、酷いときはPCが起動しなくなったりする事も珍しくは無い。
つまり、たとえどんなに動作が重くて糞みたいなプログラムでも、改良するという行為には相当な「勇気」が要ると言うことだ。

これはゲームだけでの話ではない。
すべてのコンピュータのプログラム・アプリケーションが抱えている問題でもある。
本来であれば、不具合の修正すらやりたくないというのが、開発者の本音でもある。
なぜなら、それを行った事により新たな不具合が出てくる可能性があるからだw

それでも不具合修正だけは、義務のようにマメに行うのは、ユーザーに損害を与えて訴えられるのを防ぐためである。
動作が重かろうが、動いている以上は訴えられても負ける事は無い。
だからやらないのであるw

それと昔と違って、ゲームの開発に携わる人間の数が増えた事もあるだろう。
プログラムの全体を把握し、どこをどう改善すれば動作が軽快になったり、占有するメモリやHDDを減らせたり、あるいはより効率的で高速な通信のやり取りが出来るかを考えられる人間が居ないのだ。
社内に居る人間だけで作っていれば、まだマシな方で、サーバのゲームに関わる計算処理は社内で開発するが、通信に関する部分は外注とか、クライアントプログラムは協力会社に頼むとかってのも珍しくは無い。
そんな作り方をしているので、改良しようにも出来ないというのもあるだろう。
プログラマの能力自体も低下している事もある。

特に日本のIT企業というのは、他の業種と違ってどういうわけか「言われた事だけ出来れば良い」という概念が根強い。
プログラマというのは、仕様書通りの動作をする物が作れれば、たとえそれがどんなにメモリを食おうが、動作が重かろうが関係ないのである。
納期と仕様書が全て。
プログラマというのは、私は他の形ある製品を作る職業の人と同じく「職人」であると思っている。
その「職人気質」が、MADE IN JAPANという「ブランド」を作り出したわけだが、なぜか同じ「製造業」であるIT企業だけは、変に考え方が「欧米的」で、むしろ「職人」のような人は嫌われる傾向にある。

それと、いろんなシステムやアプリケーションの中で、一番高い技術を要求されるのが、ゲームのプログラマであるという事を、わかってない奴が多い。
ゲームというのは、他のシステムやアプリケーションと違って、「動けば良い」という性質のものではないからだ。
だから単に開発言語のコマンドや文法を知っていれば良いだけの、他のプログラマと違って、ハードウェアの知識やマシン語レベルでのCPUや、その他の周辺チップの理解が必要だった、かつてはw
それらを知らなければ、より高速かつ少ないメモリやプログラムサイズで動く製品など作れなかったからだ。

ところが下手にハードウェアの性能が上がり、それらを高度に一括管理してくれるOSやドライバが当たり前になり、さらに開発言語にも複雑なプログラムを自分で考えて組まなくても、望む動作をしてくれる「ライブラリ」というプログラムの部品が、多く搭載されるようになった。
よって、昔のように全てを知っていなくても、ある程度の実用速度で動く「ゲーム」というのも、糞プログラマでも作れるようになってしまったのだ。
これが、ゲームプログラマのレベル低下の要因のひとつである。

加えて他のアプリケーションやシステムの開発と同じように、「納期」と「仕様書通りの動作」だけしか要求されなくなった。
だからより高速に動作するプログラムなんてものを、考えたり改良したりする必要が無いのだ。
むしろ気を利かせてそんな事をして、納期に間に合わなかったり、新たな不具合を生んでしまったりすれば、「無能」の烙印を押されてしまう。
1人で、あるいは数人の「仲間内」だけで作っていた時代とは違うのだ。

いまハードウェアの性能まで知り尽くして、限界まで改良を重ねた神レベルのプログラムを作れる人なんてのは、デバイスドライバ、それも「グラフィック」の分野にしか居ない。
あるいはインターネットの「検索エンジン」などを開発している人達とか。
とにかく一部しか居ないのである。

安定して動作し、セキュリティホールの無い完璧なものが求められるが、動作の高速性や少ないメモリ消費やHDDの占有なども求められるOSの分野でさえ、そういう人材はほぼ居ないに等しい。
有名な話で、今のWindowsは開発言語はC言語だというのがある。
C言語は、数多くある開発言語に中では最も「アセンブラ」と言われるマシン語直訳の言語に近いものではあるが、それでも「アセンブリ言語」であれば出来る、もっと効率良く処理できるのに、C言語だと出来ない、これが限界というのが存在する。

スマホやブラウザベースの紙芝居ゲームなんて、C言語すら使っておらず、更に動作面では非効率的な開発言語が使われている。
もっとも動作面では「非効率的」だが、開発スピードの面では「効率的」だから使われているし、そういった開発言語はそれを目指して作られているのだから、当たり前だが。

MAPを切り替えるだけで、長時間待たされる糞な面や、画面内のプレイヤーの人数が、たった数十人程度ですぐにカクつく糞クライアントは、出来れば改良して欲しいと「幻想神域」をやっていて強く思った。

画面内に100人以上のプレイヤーが常に存在するような、大規模対人戦がメインのFPS系のゲームでは最高画質にしなければ、カク付く事なく十分にスムーズな動作がするレベルのハードウェア性能は持っているPCを使っているので、そう思うのだよ。

2Dとはいえ、昔のMMOってのは、画面内に100人以上が居る状況でも無ければ、カクつく事は無かったし、数十人程度では余裕で動いていたものだ。

不具合やセキュリティホールの修正は重要だし、新仕様やアイテムの追加実装も結構だが、「ゲーム」である以上は「軽快」にして「省エネ」動作をするプログラムの改良にも努めるべきだと強く言いたい。

コメントの投稿

非公開コメント

カウンタ
プロフィール

ウホッ!いい男

Author:ウホッ!いい男
異世界転生を待ち続ける中高年のおっさん

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR