安永ノリカズのゲーム制作&Javaサンプル集

#11 帰ってきたゲーム制作

1年ぶりに制作再開。Webアプリケーションによるゲーム制作の可能性を検証します。

2002年07月31日更新

心機一転、再開スタート

みなさん、お久しぶりです。1年ぶりに、ゲーム制作を再開するときがやってまいりました。 また、ちまちまと、プログラムを作ったりコラム書いたりしていきますんで、よろしくお願いします。

それにしても、制作活動を停止していた間、インターネット環境が大きく変化しましたね。 なんといってもブロードバンドの普及です。 去年の今ごろ、まだ僕のところにADSLが開通してなかったんてウソみたいです。 もう昔のダイアルアップ環境には戻れません。 ゲームを作る立場からすると、回線速度の向上よりも、 常時接続を前提としてゲームを設計できることに大きな意義を感じます。 パラダイムシフトと呼んでも過言ではないでしょう。
また、そのネットワークを利用したプログラミング環境も大きく飛躍しました。 Javaでいえば、J2EEを基本としたサーバーサイドプログラムが主流となり、 開発環境、実装例、文献、どれをとっても不自由することありません。 1年前のホスティング環境といえば、せいぜいCGIが自由に使える程度のものでしたが、 現在では、JavaやPHPなどの言語に加え、PostgreSQLやMySQLなどのデータベースシステムが、 当たり前のように利用可能になっています。

つまり、誰もがネットワークアプリケーションを開発でき、 それを公開して、多数の人に使ってもらえる時代になったということです。

僕がこの1年間注目してきたのも、このネットワークアプリケーションを構築するための技術です。 この分野に関しては、ビジネス系ソフト業界の方が最先端を行ってます。 だから、ゲームという枠にとらわれず、幅広く情報を集めてみました。 実際に仕事として、業務系Webシステムでのアプリケーション実装経験も積みました。
そんなふうに、これまであまり意識してこなかった他業界の技術に触れていると、 新鮮な驚きや、今までにない刺激を受けることがしばしばありました。 と同時に、ゲームに対しても新しい発想が芽生えてきました。 そろそろ、その発想を形にすべきときだと思っています。

あらゆる意味で、1年前とは全く違う環境でゲーム制作を再開することになったわけです。

 ページトップへ戻る

Webアプリケーションという選択

こういった状況をうけて『魔法使いの街』の制作方針を軌道修正したいと思います。 当初の目標であったシェアウェアの配布は行なわないことにします。 アプリケーションはWebサーバー上に配置し、ユーザーはブラウザーからログインすれば、 すぐさまゲームを楽しめるようにします。 いわゆるWebアプリケーションですね。

ログインIDはフリーで発行し、課金は行ないません。 じゃあ、どうやって儲けるかっていうと、 コンテンツごと買い取ってもらうことを目指します。 Yahoo!とか So-netとかに……っていきなりは無理か!?  どこかディベロッパーと組む必要もあるかもしれません。 がしかし、これまでの開発スピードからすれば、当面、そのへんの心配は必要ないでしょうね。
今やるべきことは、一人でも多くの人に楽しんでもらうシステムを作ること。 そこで、結果的にたくさんの支持を集めることができれば、 おのずと、よい方向に事態が進むと信じます。 地方で人気のインディーズバンドが大手プロダクションの目にとまってメジャーデビュー。 そんなイメージです。

ということで、『魔法使いの街』は、Webアプリケーションという形で再構築するわけなんですが、 じゃあ、内容も多人数参加型のネットゲームになるのかというと、そうではありません。 ポイントはWebサーバーでゲームを提供するという配布形式で、 内容はこれまでと同じく、じっくり個人のペースで遊べるものを土台にします。 その土台を固めた上で、付加価値としてネットワークを生かした要素を組み入れたいと思ってます。

 ページトップへ戻る

まずは何作る?

具体的に、使用するシステムの説明をしておきます。現ドメインを取得したこのWebサーバーでは、 Tomcat4.0(JSP/Servlet)と PHP4、DBMSはMySQLが利用できます。 主にServletでゲームのロジックを動かして、 データベースでキャラクタのパラメータや会話データなどを構築することになるでしょう。

問題は、ユーザーインターフェースです。 一般的にWebアプリケーションというと、表示をHTMLで行い、サーバー側に全処理を任せることが多いんですが、 そういった設計に、常々疑問をもっていました。 入力項目のチェック処理などは、本来クライアント側のプログラムが受け持つべきで、 そこで、わざわざHTTPのリクエストを発行するのでは、無駄にサーバーリソースを使っている感がぬぐえません。
このことは以前から議論されてきたことなんですが、 やっぱり、世間一般では、手っ取り早くHTMLでインターフェースを作る方が好まれるようです。
しかし、ゲームとなると話は違います。クライアント側の表示にも、処理にも、複雑なロジックが求められます。 FORMタグによる入力インターフェースにも限界があります。 となると、やっぱりAppletですね。 これまで作ってきたプロトタイプのルーチンをそのまま生かすことも出来ますしね。

結論として、クライアントのApplet、サーバーのServlet+データベースで、ゲームシステムを構築する方向を模索します。
でも、なんか、書いてることが全然ゲームっぽくないですね。 まあいや、業界初(?)のオープン系ゲームクリエイターとして、頑張る所存でございます。

手始めに、会話テストプログラム:プロトタイプ2号のデータベース版を作ってみようと思います。 今までプログラムに埋め込んでいた会話を、リレーショナルデータベースで管理します。 で、どこまで会話のパターンを増やせるか、検証してみましょう。 『魔法使いの街』の土台となる部分なんで、しっかり固める必要がありますね。

はてさて、暑い毎日が続く中、制作は順調に進むのか!? 気長にご期待ください。

 ページトップへ戻る