原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

ゲームアプリ開発振り返り(3)

これまでの概要

  1. ゲームエンジンのUnityを使ってゲームを作ろうと思い立つ
  2. だがしかし、想定したゲームはちっとも完成しない
  3. でも、ゲームを完成させた!という体験は味わってみたい
  4. なので、簡単に作れそうなゲームを作ってみることに
  5. 簡単なゲーム=アセットストアで売られているゲームの改変
  6. アセットストアを探して見つけ出したのがこのゲーム

The Rings

 


The Rings - Unity Game Template

 

ここらは続き

"IndieGame Developer"とかいう横文字の称号に憧れる私は困難な道(オリジナルゲーム製作)の角を曲がって隣の芝生的に青く見える道(完成ゲームのカスタマイズ)へと舵をきったのですが、だからといって見境なくそこらの完成ゲームに手を出すなんてことはしません。それなりの吟味はするんです。「歩く道を間違えるのは愚者ではない、選択を誤まるのが愚者の性だ」とは古代ギリシャの哲学者アンティステネスの言葉だったりするのはウソですが、とにかく道は変えても選択は誤まらないようにしたい。

 

アセットストアには様々な「完成プロジェクト」が並んでいます。アクションゲームからPRG、FPS、果てはMMOのテンプレートまでもあります。ただ、今回はできるだけサクッと楽につくりたいのでジャンルとしてはパズルゲームを選択しました。

 

 このゲーム、動画見えてもらえれば分かると思いますが、3マッチパズルゲームとなっています。
ルールは単純で

 

  •  縦、横、斜めに同じ色のリングが3つ並べば得点(リングは消える)
  • 一つの置き場所(=Pivot)には大・中・小のリングが一つずつ置ける
  • リングの置き場所が無くなったらゲームオーバー

 

これだけです。私はアセットストアでこのゲームのプレイ動画を見て

 

  • 素材はこのまま使えそう
  • ルールが単純なのでソースは改造しやすそう
  • 単純だけど意外と中毒性がありそう

 

といった感想をもち、このゲームをカスタマイズの対象にしました。

お値段も10$とお手ごろで、これなら日ごろお小遣い不足に悩むお父さんも嫁、子供に気兼ねなく手を出せます、いや、家族いないけど。


 ただ、タイトルを変えただけで「オリジナルゲームです」と言い切れる胆力は私にはないので、パズルのルール等を変更して何かしらのオリジナル機能を作り込むことは必要です。

 

 例えば、時間とともに盤面(Pivotの場所)が変更されるとか、リングをPivotへ設置するのに制限時間を設けるとか、パズドラっぽく戦闘要素を付け加えるとか等々、まぁ想像するだけなら簡単ですから、ええ、想像するだけなら。


とりあえず時間の掛かりそうな機能は購入後に精査するとして、直ぐにでも実現可能なカスタマイズを決定しました。

  1. 3×3の盤面を4×4にする
  2. 得点条件(同じ色が3つ並ぶ)を「同じ大きさで同じ色が3つ並ぶ」に変える
  3. リングの大きさが変化するようにする

 

「リングの大きさが変化する」とは、例えば一つのPivotに大・中・小のリングが置かれていて小リングが消えた場合、残りのリングは大→中、中→小に変化する、といった仕様です。


なぜこんな仕様にしたのかといえば、これによって連鎖が実現できるから

f:id:Karvan:20171223004112p:plain

f:id:Karvan:20171223004227p:plain

 

ぷよぷよ等でもそうですが、パズルゲームにとって「連鎖」は非常に重要な要素になっています。一回の操作で次々に得点が加算されていく時の爽快感はパズルゲームのハイライトの1つだと言ってもよいと思います。

 

元のゲームではリングの大きさに関係なく同じ色が3つ並べば得点、というルールで、かつリングの大きさが変わらないので連鎖は起こりませんが、得点条件に「大きさ」の要素を加える&リングの大きさが変化するという、ちょっとした仕様を変更するだけで「連鎖」という機能が実現します。ちょっとの工夫でこの美味さ。(by 神田川) とはこのことです。

 

ここまで構想を巡らせて、アセットストアの「購入」ボタンを押した私。
ダウンロードしたソースコードを眺めながら先ほど決めた「ちょっとした仕様変更」についてどうしようかと考えるわけです。「ちょっとした仕様変更」なのでパッパッパッと実現するはずです。ええ、そのときは忘れていたんです。「ちょっとした仕様変更」というワードは営業の人間や上司がよく使うワードだってことを、、、「ちょっとした仕様変更だから週明けには納品できるでしょ」とか、「え?仕様変更ちょっとなのに5日もかかるの?それは土日も含んで?」とか、よく平気な顔して言えたもんだな、おい、とか、ええ、、、


ソースコードを眺めて一時間後の私が出した答えは

 

こりゃ、一から作ったほうが早いな

 

続く・・・

 

ゲームアプリ開発振り返り(2)

三つ子の魂百まで、とはよく言ったもので・・・

前回のおさらい

一年前の五月、ゴールデンウィークという貴重な連休期間を全てゲームに費やすという無駄な行為に罪悪感を覚えた僕は、とりあえず建設的なことをしようと得意のプログラミング技術を生かしてゲームアプリを製作することを決心したがそれから早一年が過ぎ、夏を迎えてもちっとも完成しないプロジェクトに焦燥感を感じ始め、次第に沸き起こる倦怠感とむなしさと恋しさとせつなさと心強さとでどうしたもんかと頭を抱えて、ああ、そういえば中学校のころに担任から「お前は集中力がない、飽きっぽい、三日坊主だ」と散々な評価を受けたなとか、それはきっと僕があの担任のことを影で「しめ鯖」と呼んでいたことがバレたせいだなとか、そんなことを思い返して悶々として、うん、わざわざここまで読んでくれてありがとう、ってな感じで完成の目処が見えない状態になった僕。

 

前回からの続き

全然、完成しない!

 

当初の予定ではとっくの昔に完成してリリースして一儲けして会社辞めて独立して新進気鋭のクリエイター!とかで雑誌などに取り上げられてモテモテになって・・・とかなるはずでしたが、

第一段階すら超えられない現状。

 


イベント処理、UIのデザイン、キャラクターの操作等々で増え続けるコーディング量、それに比例して増加するバグ、終わらないテストプレイ、減らない体重、太くなるウエスト、いやいや、体重・ウエスト関係ない、とくかくどうしたものか・・・

 

  このままゲームが完成せずに、いわゆる「エターナる」※状態になってしまうことだけは避けたい。

  • でも完成は遠い
  • このままでは先細りしてしまう
  • 終わらないコーディング、減らないバグ、増える体重、だから、体重・ウエスト関係ない
  • どうしたらモチベーションを保てるのか
  • そうだ!簡単なゲームを作って成功体験を味わってみよう


世間ではこういうのを三日坊主とか言うそうですが聞こえません。とりあえず、終わりそうないプロジェクトは横において、軽く作れそうなゲームを作ってみよう。と思ったわけです。

  •  簡単なゲームを作ってリリースしてみる
  • 成功体験を味わう
  • モチベーションがあがる
  • 本来つくるべきゲームが完成する

完璧な計画!

これが普通の会社なら上司から鈍器で殴られそうですが、なにぶん個人開発なので文句を人は誰もいません。

あ!ここで「そんなに簡単に作れるゲームなんてあるか!」と突っ込んだ方、チッチッチ(人差し指を左右に振って)、それがあるんです。

 

私がゲームエンジンとして使っているUnityではアセットストアというゲーム開発に必要な素材が大量に売られているサイトがあります。
その中には3Dモデルやゲーム音楽などと並んで「完成プロジェクト」というものがあります。

 

これは文字通り「そのままでもゲームとして遊べるアセット(素材)」となっています。
なので、これを購入して中で使われている3Dモデルやスプライトを他のものに入れ替えて、タイトルをオリジナルのものにすれば見事ゲームの出来上がり!となるわけです。なんて素晴らしい!

 

早速私は仕事の合間縫って上司の目を盗んで業務時間にも関わらずアセットストアをあさり、一つの「完成プロジェクト」に目をつけました。

 

それが

 

続く・・・

 

 

■補足
※エターナる:はてなキーワードより
RPGツクールなどのゲーム製作を途中で放棄すること。またはその状態。 語源は、ゲームの作成のためにグラフィッカー等を大々的に募集したものの、製作は遅々として進まず、最終的にはWEBページを閉鎖し投げ出してしまい、ツクール界に伝説を残した「エターナルファンタジー」というゲームの名前から。

ゲームアプリ開発振り返り(1)

振り返れば幾年月

「そうだゲームを作ろう!」そう思ったのは去年の五月。

ゴールデンウィーク最終日、連休の全てをMinecraftの家作りに費やして、気づけば窓から差し込む夕陽で真っ赤に染まった部屋の中で、突然そんな考えが頭をよぎりました。

 

平日は一社会人として社会の荒波にもまれながら働いている私ですが、休日となるとほぼニート
必要に迫られない限り自室から外へ足を踏み出すなんてほとんどなく、金も体力も使わずにただただ時間だけをだらだらと消費して、連休中に発した言葉といえば、コンビニ店員からの「(お弁当を)暖めますか?」の質問に「いいえ」と返した言葉だけ。すいません、生きててホントすいません。ってか、あのコンビニ店員はどうしてあんな高いところからお釣りを落とすのか、私だって手ぐらい洗ってますよ。

 

、、、というわけで、何かゲームを作ろうと思い立ったわけですが、さすがに一からは作れないのでGameEngineとしてUnityを使ってゲームを作ることにしました。

 

unity3d.com

なぜUnityなのかといえば

  • iOS, Android等の複数のプラットフォームに対応している。
  • 2D,3Dどちらでも作れる
  • 無料版がある(年間売り上げ10万ドル以下)
  • 関連書籍、学習サイトが豊富

などの理由が挙げられますが、なによりも私を惹きつけたのは

 

  • アセットストアにより多種多様な素材を購入できる

 

という点にあります。
プログラムはそこそこ出来るものの、猫を描こうが熊を描こうが兎を描こうが何を描いてもドラえもんになってしまう私にとって、アセットストアに並んでいる数々の3Dモデルやテクスチャはありがたい存在です。
これを使えばゲームを作れる!
アセットストアを眺めながら私はそう思いました。そして・・・

 

素材(3Dモデル、音楽)等はアセットストアで買えばいい
→あとはプログラムを書くだけ
→まぁ、初めてUnityを触るし、勉強も含めて半年もあればゲーム一本ぐらいは作れるだろう。

 

という考えに到りました。ええ、甘かったです。劇甘まです。もし、こんな見積を営業や上司が出してきたら、ありとあらゆる罵詈雑言を浴びせかけ(心の中で)、「こんな未熟な見積りを作成し、申し訳ありません」と目の前で土下座させ(心の中で)、「今回ばかりはなにとぞご容赦のほどを」と私の靴先でも舐めさせなければ(心の中で)、気のすまないような甘い見積でした。

 

それから一年と二ヶ月たった猛暑の7月。利きの悪くなったエアコンの排気音と年代物のディスプレイの澱んだ光が充満する部屋の中、私は一人叫んでいました(心の中で)

 

全然、完成しない!

 

 続く・・・

 

ちょっと解説

Unityには「アセットストア」と呼ばれる、ゲーム製作に必要な素材(アセット)を購入することが出来るサービスがあります。
有料の物から無料の物まで、スプライト、3Dモデル、シェーダー、音楽等々の多種多様なものが並べられているので

  • プログラムはできるが絵は描けない
  • デザインはできるがプログラムは分からない
  • とにかく楽して開発したい

等々の問題を解決できる手段となります。
商用利用も認められているものが殆どなので、実際に流通しているゲームアプリの中にもアセットストアで購入したであろう素材(アセット)が使われているものがあります。

 

「アセットストアを利用したいけど数が多すぎて、どれを使えばよいのか分からないよ。」
という方には、おすすめのアセットや、セール品となっているアセットを紹介しているサイトがあるので一度訪れてみてはいかがでしょうか?

 

assetsale.hateblo.jp

www.asset.techmatome.com

始まったよ!

去年の5月より密かにUnityを使ってゲームを作り始めたのですが、そのゲームの宣伝もかねてブログを開設することにしました!!

 

・・・いや、まだゲームは完成してないんですけどね。

これまでの経緯とか、技術的に分かった事とか書いていきたいな、と思っています。

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。