前回はゲームという構造の基本部分について書きました。
今回は ネトゲとオフゲについて考察を加えてみたいと思います。
前回は 対戦相手による分類を行なった考察で、I/Oという構造は共通である事がわかりました。
今回は結論を先に述べ、構造の異なる部分を強調してみようかと思います。
まず結論から。
【ネトゲもオフゲも基本構造は同じ】
と言う事です。
違いは、ユーザー操作に対するフィードバックがどこで行われるかだけなのです。
うんと単純化してみます。
- ユーザー入力
- 入力に対する処理
- ユーザーへの出力
ネトゲでは 2. の処理だけがサーバ側で行われるのです。
1. と 2. 2. と 3. の間にインターネット回線が入るだけで基本構造はオフゲと同じなのです。
オフゲでは すべてが自分のマシン上で行われ、判然としません。
ですが、ゲームの構造をブロック化してみると、構造はまったく同じなのです。
ソースファイルレベルでは 2.の入力に対する処理はゲームのコアとして独立しています。
プログラムソースの記述法にもよりますが、現代のオブジェクト指向では明らかに分離して書かれます。
また、そのように論理的ブロック化してソースを書くと、
ネトゲとして作り直す場合、簡単に手を入れる事ができます。
具体的には 2. はサーバプログラムとして、 1. と 3. はクライアントとして作り直します。
これは論理的ブロック構造がネトゲもオフゲも同じだからできる事なのです。
うんと簡単に説明してしまいましたが、
ネトゲもオフゲも 実は論理的ブロック構造はまったく同じなのですね。
これからネットゲームを企画してみようと思っている方々へ:
ブロック構造はオフゲと同じです。
ネトゲを企画するに当たっては、まずブロック化を意識した上でオフゲを作りましょう。
入力に対する処理をブロックとして独立させておくだけでネトゲに移行可能なのです。
次回は負荷分散について考察を加えてみたいと思います。
|