最終更新日:

はじめてゲームプログラミングのゲームID『バランス・タワー』の作り方

はじめてゲームプログラミングの自作ゲームID『バランス・タワー』の作り方を解説。
BALANCE TOWERの特徴、作品のノードンの組み合わせによる作り方など詳細に載せてます。
ジャイロセンサーで操作する、ネオン綺羅びやかなブロックのバランスゲームを作ろう!


ゲームID『バランス・タワー』の概要

はじめてゲームプログラミングのゲームID『バランス・タワー』のPR画像
タイトル BALANCE TOWER(バランス・タワー)
ゲームID G 008 DK7 K2N
ジャンル テーブルゲーム
プレイ人数 1人

ゲームの説明書

バランス・タワーの遊び方・ブロックを掴み、塔の外側へ投げる

バランスタワーは、ジャイロセンサーの手を使用して遊ぶゲーム。
塔にはネオンのように光るブロックが置いてあるので、ジャイロセンサーの手でブロックを掴んで、
塔の外側へ放り投げて破壊すると、スコアがアップします。


塔の地面や、塔の周辺には見えない壁があり、そこへブロックがぶつかると壊れる仕組み。
スコアが『300』まで達するとゲームが攻略されます。
ブロックを壊していくと、塔が傾いたりするので、バランスが肝心になるゲームです。


黒色のブロックと白色の土台は、掴んだりすることができない。
黒色のブロックは、空中に浮いた状態なので、そこのエリアは割と安定度が高い。
不安定な土台のエリアと、安定度の高い土台のエリアのバランスを把握しながらプレイします。


バランス・タワーの遊び方・住民が死ぬとゲームオーバーになる

塔には何人か住民が住んでおり、住民を破壊してしまうとゲームオーバーになります。
また、住民同士がぶつかったりしてもゲームオーバーになる。
土台が傾いたりすると、住民が転がったりするので、
住民を掴んで安全な土台のエリアに配置することも可能です。


対応ボタン 内容
X/A/B/Y カメラの移動(前後左右)
ZR/ZL カメラの移動(上下)
Rスティック カメラアングル
Rスティック押し込み ジャイロセンサーの位置調節
L/R押しっぱなし ブロックや住民を手で掴む
手で掴む+Lスティック(↑↓) 掴んだものを奥や手前に移動
十字キー『→』 ゲームリトライ

※ゲームの開始時やゲームプレイ中は、徐々にジャイロセンサーの位置がズレてくるので、
Rスティックを押し込んで、ジャイロセンサーの初期位置を調整してやります。



バランス・タワーの作り方の大まかな解説

ゲームID『バランス・タワー』のプログラム画面の説明

詳細はゲームID『G 008 DK7 K2N』でダウンロードして確認してください

■内容
  1. タイトル画面の演出
  2. バランスタワーのメイン画面
  3. FPS視点のカメラ
  4. ゲームオーバーの演出
  5. スコア計算、ジャイロセンサー、ワールドの設定


1:タイトル画面の演出

タイトル画面のプログラム

タイトル画面は、直方体の板ポリゴンにテクスチャを貼り、
ことばつきモノノードンで操作方法を記載してタイトル画面を表現してます。
そして、どれかのボタンを押すと、
モノをこわすノードンが直方体を壊すようにプログラムしている。


ワールドノードンでは、モノのみためを『ネオン』に設定しているので、
選ぶ色は暗めなカラーでないと画面が眩しいため、
光り方を計算して色選びをする必要があります。


あとはワールドのライトで、太陽の方角と高度で調整して、塔の光り方なども調整してます。
太陽の光が直で当たると、グロウ効果が強すぎるので、太陽は地面側に隠している。


2:バランスタワーのメイン画面

バランスタワーの塔のプログラム

バランスタワーのメイン画面の大半は、
直方体、円柱、球、オシャレなモノ、モノをこわすノードンの集合体。
塔の下層部から作り始め、最後にモノをこわすノードンを塔の周りに設置していくと作りやすい。


積み木を重ねるようにプリミティブを配置していくだけなので、割と簡単に作れるが、
若干いくつかのコツが必要になってくる(それについては以下で解説)。


制作初期の頃は、モノをこわすノードンを地面に敷いていたが、それだとノードンを大量に
使用してしまうため、塔を囲むようにモノをこわすノードンを組みました。
結果的には、ブロックが空中で壊れて綺麗に破片が舞うため、
ビジュアルも考慮して塔を囲む方を採用した。


3:FPS視点のカメラ

FPSカメラ(一人称視点)のやり方に対して、ヒトではなくUFOに連結させて、
FPS視点で尚且上空移動できるようにプログラミング。
さらに、ボタン操作でカメラを動かすようにしてます。


4:ゲームオーバーの演出

ゲームオーバーのプログラム

オシャレなモノノードンが壊れたとき、2.5秒後にGAME OVERのテクスチャを貼った直方体を、
カメラに連結している透明の直方体へワープするようにプログラムを組んでます。


5:スコア計算、ジャイロセンサー、ワールドの設定

バランスタワーのメインプログラム部分

複雑な計算もなく、かなり簡単且つシンプルなプログラムでまとめてます。
直方体、円柱、球が壊れたときにカウントするようにしており、300回壊れればゲームクリア。
定数『12』と比較している部分は、タイトル画面にて12個の直方体が壊れるため、
それを除いた数以降に『0』からカウントするようにしている。


カウンターは、あたまノードンと連結させて、間に透明の直方体を2つ組み、
画面の右上にスコアバーが来るように配置してます。
みぎてのジャイロセンサーは、上下の移動スピードが遅いので、
定数『30』をかけて移動スピードを上げている。



バランスタワーの作り方の手順

バランスタワーの塔の最長から見下ろした画像

バランスタワーは、あまりプログラムを組む必要がなく、
また大量のワイヤーで画面が汚くなることもなかったので、
はじめてゲームプログラミングの初心者におすすめな作りかもしれません。
ノードンは512体使い切ったが、ワイヤーはわずか82本しか使用していない。


全体的に積み木を重ねて、バランスの試行錯誤をすることに時間を費やすため、
そこら辺が作ってて楽しく感じられるところかもしれない。


バランスタワーのプログラム構造

ただ、作っている過程で気付いたというか、注意しなければいけない点があります。
まずオブジェクトを重ねると、震度1くらいの横揺れが常に起きていることに気付いた。
縦に積んだオブジェクトが、横にプルプルと細かく震えているんです。


妙な物理演算で制御しているなと感じたが、この仕様が厄介だったりする。
何も操作していないのに、勝手にオブジェクトが倒れたりします。
そのため、宙に浮いた黒色のモノを所々に配置して、土台を安定させる必要があった。


円柱の土台に隙間を作ってる様子

そのくらいだったら、まだマシだったかと思うが、オブジェクトとオブジェクトが重なることで、
オブジェクトが勝手に壊れて、塔が崩壊してしまうことがあります。


原因は横揺れにより、土台の円柱にオブジェクトが食い込んで壊れているものと思われる。
なので、微妙に隙間を作ってやれば、全崩壊の確率を低くすることができたが、
それでも運が悪いと、ゲームを開始した瞬間にゲームオーバーになってしまうことがたまに起こる。


塔の全崩壊シーン

▲突然、塔が全崩壊するシーン。円柱の土台が消えている。

このゲーム、モノを重ねすぎるというのは、根本的に駄目なんだと理解した。
またモノを重ねすぎると、テキストにて警告が表示されることもあります。
そんなときは、上記の接着部分を見て、どこか食い込んでいないか確認していくことになる。


あとは、大量のモノをこわすノードンは、みぎてノードンで掴めないように設定しておくこと。
設定画面を開いて、それぞれのノードンで掴めるか否か設定可能です。