CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/05/08 14:00

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

目次

はじめに

 このチュートリアルでは、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

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


  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5