2014年10月

初心者向け・学習コストの低いゲーム制作環境6選

このエントリーをはてなブックマークに追加
2014/10/17 9:59 am
Blog Category / 紹介
 

gsk1
Unityでピンボールゲーム、及びに簡単なレトロなゲームを制作している。ゲームアンドウォッチを意識したレトロ風ゲームはほとんどの処理が完成しており、現在はゲームバランスを繰り返しも調整している段階。
最近は無料で簡単にゲームを作れる環境が整っており、僕のような低スキルの人間でも軽い意識でチャレンジできる事に「なんて優しい世界なんだろう…」と感動しきりだ。解説はWEB上に、書籍だってAmazonで簡単に手に入る。こんなに道具が揃っているなら、みんな作ればいいんだ。そこで、そんな優しさにあふれるこの世界に存在する素敵なツール、フレームワークの一部を簡単に紹介したい。ちなみにワイもほぼ初心者や。
※敷居が低く、日本語の解説が豊富な物を中心に取り上げた
プログラム必要無し・本格的なゲームが作れるMMF2.5
gsk2
プログラムの知識が無くとも、ツール上で本格的なゲームの制作が可能。Clickteamというメーカーに聞き覚えのある人も多いのではないだろうか。1990年代、「マルチメディア」という言葉が一世を風靡した頃にオーサリングツールとしてメジャーな存在だった「Klik&Play」、その後継ソフト「Click&Create」の流れを組む歴史あるソフトだ。僕は当時兄弟で馬鹿みたいなゲームを作り(おならでジャンプする距離を競うゲーム)、狭い狭い内輪だけで楽しんでいた。
フランス製だが代理店によりローカライズされており、日本語パッケージ版・ダウンロード版がそれぞれ販売されている。ツール上にはストーリーボードエディタ、フレームエディタ、イベントエディタ、ピクチャ・アニメーションエディタなど、各要素に応じたツールがあり、絵、音楽、効果音などはサンプルファイルを利用すればこのソフトだけでゲーム制作が完結する仕組みになっている。
制作できるゲームはアクション、パズル、シューティングなどジャンルを問わず、2Dゲームに限れば工夫次第で可能性はいくらでも広がる。プログラムの知識が全く必要無く、間口は非常に広いものの、突き詰めてくるとツールの制約に応じた独自のテクニックが必要になってくると思われる。

■関連リンク

プログラム無しでも、有りでも作れるGameMaker Studio
gsk3
■GameMaker Studio ※無料版有り / 英語のみ
元々はMark Overmarsが大学の講義向けに制作したグラフィックツールがルーツ。現在はYOYO GAMESにより販売されている。以前日本でも一部で話題になり、僕も時々このGameMakerで簡単なゲームを作って遊んでいた。現在日本においてはメジャーとは言えない存在だが、インターフェイス、制作プロセスはシンプルで、実際に触れてもらうとこのツールの完成度の高さが理解してもらえると思う。
ツール内での操作は殆どドラッグ&ドロップで済んでしまう。ゲームオブジェクトを作り、イベントを発行して動作を登録するのだが、イベント発生の条件には衝突判定、キー・マウス操作など諸条件がアイコンで表現されており、これらをクリックすればよい。簡易的なグラフィックエディタ、マップエディタも備わっている。
続きを読む

Unity製LCD風レトロゲーム制作の進捗

このエントリーをはてなブックマークに追加
2014/10/02 12:16 am
Blog Category / ゲーム制作ログ
Tags /
 

 

lcd1

だいぶできてきた
LCD風ゲームをUnityで作りたい。と書いていたが、早速実際に制作にとりかかった。先生はWEB上の解説。なけなしの思考力を振り絞り、トライ・アンド・エラーを繰り返してもがいた結果、レトロLCDゲームっぽい雰囲気を作り出す事ができてきた。とっかかりとしてAdobe Aiでイラストを描き、妄想と願望だけが先行していたが、勢いだけでUnityに手をつけても何とかなるもんだな。
実装した要素
■ベルトコンベア上の缶の動き
■プレイヤーキャラの動き
■ベルトコンベアパーツの取得・移動
■効果音
■缶の落下処理
■スコア表示の実装
後はハイスコア表示、ミス数の表示、ゲームオーバー処理等を実装すれば動作部分は完成する。左上のインジェークターから缶が落下してくるのだが、ここでのオブジェクト生成タイミングとベルトコンベアスピードの様々なパターンを作ればゲームとして成り立つ。完成度は5割といったところ。
非効率なオブジェクト移動の実装
lcd2
プレイヤーの移動、缶、パーツの移動処理実装は、オブジェクトの座標を変更すればよいのだろうが、そうではない非効率な方法で実装した。実機LCDゲームにおいてセグメントが点灯するイメージで、上記スクリーンショットのように表示箇所それぞれにスプライトを配置。スプライトオブジェクトの表示・非表示で移動を表現した。スキルの低さ故の方法だが、こういったプログラムはアホなりに努力すればそれに応えるように動いてくれるのが楽しい。
public GameObject player1 = GameObject.Find(player1);
メンバ変数でゲームオブジェクトを定義
player1.SetActive(true);
SetActiveで表示・非表示をコントロール
スコア表示
スコアの表示には当初LCD風フリーフォントを使ってみたが、数字が切り替わるたびに表示位置が微妙にずれて雰囲気が台無しになった。対策としてスコアの変数を桁ごとに分解し、スプライト画像に置き換えるという実装方法を選択した。今思えば等幅フォントを使えば一発解決だったな。。しかし、この方法を用いればスコアの表示だけでなく、今後様々な応用がききそうなので無駄ではなかったと信じたい。
int[] score_table = new int[5];
int score_calc;
score_calc = main_script.score;
score_table[0] = (score_calc % 10); score_calc /= 10;
score_table[1] = (score_calc % 10); score_calc /= 10
score_table[2] = (score_calc % 10); score_calc /= 10;  
score_table[3] = (score_calc % 10); score_calc /= 10;  
score_table[4] = (score_calc % 10); score_calc /= 10;  
配列を定義して、スコアを代入・計算すれば桁ごとの数値を取得できる。これで5桁分取得し、スプライトに変換。
効果音の実装
LCDゲームなので、効果音はBEEP音じゃないと雰囲気が出ない。試しに缶の落下時にファミコン風の効果音を入れてみると、一気に時代が進化した感が出て雰囲気ぶち壊しだった。BEEP音はLogic9のソフトシンセで作成。
そのほか
背景は当時のLCDゲームでよく見られた擬似カラーを意識して、液晶の上に重ねられたフィルムシートから落ちる微妙な影を再現した。ここまでくると、ゲーム筐体やボタンなどもデザインしてよりレトロな雰囲気を強めたくなる。
で、目標としてあと1週間程で完成させたい。
無理かもしれないけど。

  • 最近の投稿
  • 最近の特集
  • 人気の記事
  • アーカイブ
  • カテゴリー
  • タグクラウド