停滞していた自作カードゲームをつくる話[だいぶ前の記事]に関して。
少し前[記事]にUnityで簡単なデモを作るといっていました。
実際に、Unityを導入してチュートリアルの一つであるTicTacToe(OXゲーム)を作るモノはこなしたのでその簡単なメモです。

***

なぜUnityか?


そもそもなぜUnityを使ってカードゲームを作ろうと思ったかですが、簡単にいうと以下の3つの理由からです。
最近良く使われている

最近、ゲーム作成にUnityがよく使われていると聞くから。実際にUnityを用いて制作されたゲームリストを見てみると、同人の作品だけでなく多くの商業ゲームも含まれています。
それならできることの範囲に問題はないだろうということ、バグがあってもアップデートもされやすいだろうということ、使っている人が多ければそれだけ資料や解説などの情報源も多いだろうという、よく使われているからこその利点が多々あります。

様々なプラットフォームで動く

プログラミングでネックなのが、動くデバイスが限定されてしまうことです。
Unityで作成したものは、PCでのOSの違い(Win, Mac, Unix等)の他に、スマホなどのモバイル端末でも動くファイルとして出力できるという魅力は大きいです。

Personalなら無料

Personalのプランを選べば利用が無料なところ。値段というのも重要です。
Q. Personalを商用目的の開発に用いることはできますか?

A. はい、できます!収益が10万米ドルを超えない限り、Personalをお使いいただけます。


とのことなので心配ないです。機能的にも自分が使う範囲なら大差ないでしょう

というような理由からUnityを使おうと考えました。
以前はFlashもいじっていたのですが、このUnityの波に乗ろうかなというところです。

Unityをダウンロード&インストール


まずはUnityのダウンロードとインストールからです。
Unity Personal
Personal版ならここからダウンロードできます。
インストールとかも手順に沿ってやれば特に問題なくできました。

OXゲームを作るチュートリアルをやってみる


Unityの売りは3Dゲームを簡単に作れることですが、自分の目的としては2Dで十分なので、2Dの作品を作るチュートリアルの中からOXゲームを選んできました。
Creating a Tic-Tac-Toe game using only the UI
2Dゲームで調べると、アングリーバードをつくるチュートリアルがあったのですが、2Dの物理演算とかよりもOXゲームのほうがカードゲームには近いかなということでこちらに。GUIの練習用らしいですけど、GUIも必ず使うのでいいでしょう。

チュートリアルは英語ですが、やればできます。
けっこう説明が丁寧なので特に問題なく進みました。

ここからは詳細は省いてダイジェストで。

UnityのIDEで2D用の設定にする。


OXゲーム用の線をオブジェクトとして並べる。


OXが表示されるボタンを配置。


IDEのGUIでUIの部品を配置していくのと並列して、ボタンの挙動などのソースコードも書いていく。


OXの切り替えができるようになり、


いろいろとゲームの体裁を整えて(見た目を作った後がけっこう長い&ゲーム自体の機能はできてもユーザに遊びやすいように洗練するところが長い)遊べる形にまでなりました。

一通りチュートリアルをいじった感じだと、IDEのGUIとソースコードを行ったり来たりする必要があるので、GUIでできる部分とソースコードでできる部分の把握が重要だと思いました。
特に、IDEのGUI上でオブジェクトを配置した後、そのオブジェクトとソースコード内の変数を対応付ける作業はうっかり忘れたり対応を間違えたりしやすそうだなと。
今後使っていくとしたら、ここらへんの凡ミスでエラーに気づかず無駄な時間を過ごしそうな予感がします。

完成したゲームを公開


チュートリアルとはいえ、作ったゲームは遊んでもらえるように公開したいです。
UnityのWebGLで書きだしたゲームをGitHubを使って公開する
↑を参考に、Webブラウザで動くファイルとして書き出し、サーバにアップしました(後半のGithubへの公開は自分はやっていません)。

OXゲームを実際に触ってみる


TicTacToe
↑チュートリアルで作ったものをこのサーバにアップしてありますので、実際に遊んでみてください。遊ぶと言っても1人OXゲームなので、できることとしては動作を確認する程度でしょうが。
パソコンのWebブラウザから起動できます(PCからでも少し時間がかかります)。
スマホなどのモバイルデバイスには対応していないようです(スマホ用にまた別に出力すればアプリとしてダウンロードして遊べるんだろうと思います)。



こんな感じでやっていました。
次は、簡単なカードゲーム(トランプのゲームとか)でも作るか、各種カードを使った動作(手札から移動させるとか、山札をシャッフルするとか)のできるデモあたりを作ろうかと思います。
一応、D-0関連のモノをついでに作ることも視野に入れているので。