SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Flashによるマルチプレイヤーゲーム入門: 三目並べ

Pulse UI Frameworkによるオンラインゲームの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本稿では、Flashを使って独自のマルチプレイヤーゲームを作る方法を見ていきます。今回は、「三目並べ」(Tic-Tac-Toe)というターン制のゲームをベースに、基本的な仕組みを説明します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 このチュートリアルでは、Flashを使って独自のマルチプレイヤーゲームを作る方法を見ていきます。

 今回のチュートリアルは、「三目並べ」(Tic-Tac-Toe)というターン制のゲームをベースにしています。

完成したゲーム
完成したゲーム

必要な環境

必要とされるプログラミングレベル

 このチュートリアルでは、Flashによる開発の経験があり、AS3でのプログラミングを容易に行える読者を想定しています。また、オブジェクト指向プログラミングの概念を知っていれば、なおよいでしょう。

準備

 フリーのPulseパッケージをダウンロードしてインストールする必要があります。このパッケージには次のものが含まれています。

  • Pulse Server
  • 多数のサンプル(ソースコード付き)
  • Pulse Game UI Framework(ソースコード付き)

サンプルの実行

 インストールディレクトリからPulseサーバを起動し、サンプルディレクトリからゲームを開始します。フリー版のサーバでは、一度に1つのゲームしか実行できないことに注意してください。別のサンプルを試したければ、今行っているゲームのゲームクライアントインスタンスをすべて閉じてから、新しいサンプルを実行する必要があります。

Pulse UI Framework

 Pulse UI Frameworkは、自分で新たなマルチプレイヤーゲームを作ろうと考えている人にうってつけです。このフレームワークを使えば、ゲームそのものの開発に専念でき、全般的な画面フロー、ログイン、ルーム管理、チャット、友達作り、プレイヤー表示などのUI部分はフレームワークが面倒をみてくれます。

 ダウンロードパッケージには、このフレームワークの全ソースコードが同梱されているので、作ろうとするゲームに応じてフレームワーク自体を自由に修正することもできます。

開発スタート

 ルーム内の全プレイヤーの間でゲーム状態を共有するには、どうするのが1番よいでしょうか。まずはこれを考える必要があります。

ゲームのモデル化

 「三目並べ」ゲームでは、プレイヤーのアクションを他のプレイヤーに送る必要があります。つまり、クライアントが(x,y)座標を送信しなければならないということです。

 そこでまず、ゲームのプレイ中に使われる、ゲーム状態を定義する簡単なXMLファイルを定義する必要があります。

 これは次の2ステップで行います。

  1. XMLファイルを作成する。
  2. インストールフォルダのbinディレクトリにあるPulseCodeGenを使ってソースを生成する。

 上記のスキーマファイルで他のプレイヤーとアクションをやり取りするわけですが、このゲームで必要とされるものはいたって簡単です。プレイヤーはスポット(行と列)とその値(「X」または「O」)を選択します。どちらの値が置かれるかは、誰が実際にゲームルームを開始したか(つまり、誰がゲームホストであるか)によってゲーム開始時に決まります。

 ゲームに必要とされるゲーム状態の設計が完了したら、上記のXMLファイルを入力としてPulseCodeGenツールを実行する必要があります。以下のリストは、これを実行するバッチファイルです。

IF EXIST .\src\tictactoe\gsrc\client del .\src\tictactoe\gsrc\client\*.as
CALL "%GAMANTRA%"\bin\PulseCodeGen.bat .\tictactoeSchema.xml tictactoe.gsrc .\src\tictactoe\gsrc
IF NOT %ERRORLEVEL% == 0 GOTO ERROR
ECHO Success!
GOTO END
:ERROR
ECHO oops!
:END
Pause

 このバッチファイルを使うと、スキーマを変更してもソースファイルを簡単に作り直すことができるので便利です。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
コーディング開始

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Prashanth Hirematada(Prashanth Hirematada)

ゲーム開発会社Gamantraの創設者でありチーフアーキテクト。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3853 2009/05/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング