最近、Unityを始めた初心者と共にUnity1週間ゲームジャムをがんばるぞい!
VeLTiNAです。
10年来の付き合いがある知人の「Hazki」が、Unityの参考書を見ながらUnityを始めたというので・・・
「Unity1週間ゲームジャムが、そろそろ始まるしやろうぜッッ!!!!(強めに)」と誘いまして、強制参加する事となりました。
ちなみに私ことVeLTiNAさんは開催前日まで「福島ゲームジャム」のメイン会場(福島県南相馬市)で2日間ぶっ通しでゲーム作っていたので、3日目もゲームジャムとなり、個人的には週の前半は死にかけていました。
企画をたてるぞい!
今回のお題は「フロー」、英語表記ではなかったので色々ネタを考えられました。
制作メンバー
グラフィックとディレクションは私(VeLTiNA)
プログラマーは知人のHazki
以上の2人。
そして、HazkiはUnityを始めたばかりに加えてゲーム制作経験も殆どないので、その不足分はグラフィックやサウンドでカバーできる企画が必要です。
企画案
纏まったのは”アフロを人にかぶせる”。
更にゲームのイメージを固める為、「フロー(Flow)」を英語辞書でも調べました。
・人や車がぞろぞろ通る
・感情が湧き出る
・音楽・交通が切れ目なく流れる
等があり、流れるようにやってくる群衆にアフロをかぶせまくるリズムゲームに近いけどリズムは無視するミニゲーム企画となりました。
ギミック自体は殆どないですが、Unity初心者でも1週間でゲーム作って参加できるんだ!と言う自信に繋がるゲームにしたいと思いました。
企画を面白くするには絵と音
ギミックのないゲームを面白く遊んで貰うには、やはり絵と音は重要です。
画像素材
JK と ペンギンは趣味で作ってたのがあったので、ちょいちょいです。我は賢いので。
ただ、これだけだとゲームの盛り上がりに欠けるので、”ゲームのアイコン”になるアフロの神様が、実況風に盛り上げてくれるようにしました。
<ノリノリだZE☆
モック作成へ
いつもは大体な感じのモックなので、ここまでガッツリ作る事はあまりないです。
プログラマーがゲーム制作初心者と言う事もあり、修正が少なくて良いようシッカリ目に作りました。
サウンド素材
メインBGMは1分程度&ノリノリの曲を探していたのですが、すぐに良い物があったので採用。途中テンポが変わるので、それもゲーム内に反映させています。
それに合わせてOP用とリザルト用、BGM全3曲。
アフロをかぶせるとき、リザルトでアフロをとる時、SEは全2曲。
メインBGMのパワーが強いので、他は控えめになっています。
完成
タイトル画面
ゲーム画面
ゲーム結果画面
ランキング画面
1週間ゲームジャム終了の2時間後に公開となり、少し遅刻しましたが・・・
初作品としては良い出来なのではないでしょうか。
作品ページ
以下のUnityroomサイトで遊べます!!
JK & ペンギン アフロSUSHI | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
https://unityroom.com/games/afrosushi
再調整しつつAndroid版に向けて開発続行中!
GoToSevenの作品も目下開発中であります!進展があればTwitterやブログにも書きますので宜しくおねがいしゃす。
VeLTiNA
積む積みアクションRPG 【パンドラ】 の開発話
お久しぶりです。
Go To Sevenのディレクター兼デザイナー
VeLTiNAです。
今回も開発の話をブログに纏めました!
ないちさん取り上げて下さい!
参加のキッカケ
ぶっちゃけると24日~25日と『Japan XR Hackathon』の岡山会場運営と開発に参加するので、「週末は時間使えないし参加しなくてもいいかなぁ・・・」と思っていた所・・・
26℃氏が参加すると言うので・・・(前回と一緒)
テーマは「積む」
26℃氏当初の企画では、プレイヤーはテト●ス風のブロックを積み、CPUキャラを導き、ブロックに埋まっているパンドラの箱を開けると敵が出るけど高スコアが得られると言うゲームでした。
ただ、今回のテーマは「積む」と言う事で、多くのゲームが「直接的な意味合いのミニゲーム」になるであろうと予想し、「経験を積む」という意味を込めてRPG要素も入れ、パンドラの箱=モンスターハウス化の位置付けにしました。
ランダムで落ちるブロックも、フロアの自動生成みたいな物(?)なので、ローグっぽい面白さもあるかなと思いました。
宝箱も自ステータスをアップさせる物、回復させる物、敵を殲滅する物などがあります。
どうせやるなら初挑戦!
個人的にやりたいと言うか目指していた物があったので組み込んで貰いました。
1.ランキングデータをメインゲーム内に反映させたい
前回の一週間ゲームジャムで、ランキングをゲーム内に反映させていたゲームが幾つかあり、よりオンラインゲームをしている感があっていいなと思っていたので、今回はゲーム内にも反映されるよう、ランキングに載ってる人は死んだフロアに「お墓」が登場する仕掛けを入れています。
例えば、キャラ名を「もょもと」がLV48の状態で、4Fで死んだ場合・・・
4Fの階層に登ると「もょもと LV48 ここにねむる」というメッセージが出るお墓が登場します。
2.スマホ向けに縦画面にしたい
未だにスマホは持ってないのですが、縦画面ユーザーが多いデータもあり縦画面向きのゲームを考えていました。
縦画面だと使わないエリアが作りやすく、かねてより入れてみたかった仮想パッドをぶち込みました。
※気持ちよく操作できるかは・・・まだ検証前ですが・・・。
3.広告エリアを作ったり、広告表示を意識したデザインにしたい
縦にする事で、広告エリアを作れそうなので暫定的に上部に取ってます。
また、このゲームは死=ゲームオーバーなのですが、広告を見る事で一時的な保存や1度だけ復活するチャンスを設けられそうです。
個人的に挑戦した事
1.過去作のリバイバル
初期名が「ライア(女)」になってて、皆さん「誰だ!?」という方が殆どだったと思うので一応説明。
私ことVeLTiNAは、26℃氏以外のプログラマーと10年ほど前に「RIAH -ライア-」と言うアクションゲームを作りました。その主人公が「ライア」です。
当時のプログラマーはお遍路巡りで逃亡連絡がつかなくなり、結局自分でプログラムする事になったのですが大幅にボリュームダウン。当初の企画では悪魔城ド●キュラみたいになる予定でした。
さておき、久しぶりに10年前のドット絵を観返していたのですが・・・なんかオカシイのでデカドットも作り直しました。
この「ライア」は、WishDragon+で「アイラ」と言う名前で登場しているので、メインゲーム時のキャラはほぼWishDragon+の物です。
2.9スライスに挑戦
枠を作るのは9スライスが良いと言う話を聞いていたのですが、実際に試した事がなかったので、ないちさんのランキングを弄る過程で初挑戦。
なかなかキレイにできました。
見た目ボタン風な奴でもマップチップみたいな奴でも使えそうです。
3.フォントを綺麗に表示したい
前々からドット絵風フォントが使えないなと少し不満があったのですが、少しはキレイに表示できるようになりました。
↓フォントサイズを100位にしてます。(不正解かもしれませんが)
まとめ
RPGは作り慣れたジャンルですが、やはりというか・・・
RPGを作るのは大変ですね。
特に内部メッセージ関係は、Unityの得意とする所ではない気がしました。
CSV等の外部データを読み込み、それを参照するような作りが必要です。
今回の作品で、WishDragon+の移植に一歩近づいたような気はしますが・・・次はファミコン風シェーダーかな。
26℃氏曰く・・・
今回は技術的な話はなさそうです。
余談
今回のスタッフロールネタは、お気付きの方がいないかもしれませんが・・・落雷で骨がむき出しになるネタを入れています。
前回、Unity collaborate最高みたいな事を言いましたが、今年の10月で無償・無制限期間が終わるそうです・・・。
今後は無償で使うなら少しキツめの制限がかかりそうです。
今後はプロジェクト次第で、Gitへ移行も考えてます。
\それではまた!/
肝心なゲームのURLはコチラから
積む積みアクションRPG 【パンドラ】 | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
Unity1週間ゲームジャムの開発話 技術編
自己紹介
GoToSeven、代表兼プログラム担当の26℃です。
←こんなアイコンで活動してますが特に変態ではありません !
今回作ったTheDango!について技術的な話を中心に書いていきます。
TheDango! | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
ダンゴムシ
Unity 1週間ゲームジャムのお題が転がるということで思いついたのがハリネズミです。
TVでハリネズミの特集(ヒゲじいがでるやつ)を視聴した直後だったもので…
しかしハリネズミではパンチが足りないと考え、丸まる別の生き物ダンゴムシを作ることにしました。
そしてVeLTiNA氏に相談もなく作り出したのがこれです、
パンチがある=キモイ という考えなので脚のアニメを無駄にリアルにしてます。
お題が転がるだそうで #unity1week pic.twitter.com/lxi2kS5qZi
— 26℃ (@oirahakobito) 2017年5月22日
ご覧の通り脚が丸いコライダーWheelJoint2Dとなっています、このコライダーを使うことで段差などがあっても乗り越えることが容易になりました。
ダンゴムシの上にダンゴムシが這い上る、壁に登るなどの行動もWheelJoint2Dで再現できます。
タイヤが地面に接触しているときに重力を切りダンゴムシの腹の向きのベクトルにAddForceを使い引き寄せています、引き寄せることでタイヤが地形に密着し動くことが可能となりました。
交尾してるダンゴムシをタッチして邪魔する陰湿な遊びも考えたのですがおぶさったまま動くのはちょっと面倒なので止めました。
愛を育むダンゴムシの図(偶然)
WheelJoint2Dなのですが、設定が難しいですねタイヤのmassの値をちょっと変えるだけで挙動が変わります。
さらにこのダンゴムシにはバグがあります…
ダンゴムシには5つのアニメパターンがあり
アニメでタイヤを非表示、位置調整などしていたのですが
裏返りじたばたするアニメのタイヤのPositionのアニメキーを削除または値を変えると
走っている挙動が不安定になり、空中に回転しながら舞い上がる謎のバグが発生するんです…なんで?
裏返りじたばたするアニメは再生されてもないのに、こう影響するのはスクリプトのせいかなぁ。
アプリ版でもだそうと考えているのでその時までには解決しときたいです。
ダンゴムシのAIについても少し触れておきます。
ダンゴムシは正面にひたすら歩くだけです、放っておけば壁や天井も這って行きます。
脚となるタイヤが地形に触れていないと判断すると、重力を戻し落下させています。
地形と速度の影響で体が裏返ってしまうとジタバタアニメになり体をくねらせもとに戻ります、そのとき進行方向が逆になります。
体のコライダーに強い衝撃を感じたらすぐに丸まります、体に地形が触れていないのに丸まるときがあるのですがそれはバグです(虫だけにゆるして)
ステージコース
最初はBoxCollider2Dを利用してコースを作ったのですがコースを作るたびBoxのオブジェクトが増え編集しずらく、BoxとBoxの境目ができて見栄えが悪いという理由からEdgeCollider2Dをつかうことにしました。
EdgeCollider2Dは編集が簡単でオブジェクトを増やす必要がなくコースを作るのに最適です。
EdgeCollider2Dは自前で表示させる必要があるので頂点データをそのままLineRendererに利用しステージの線を表示しています。
UI
ボタン・秒速・時間の表示位置の設定でCanvasを利用しました。
RenderModeでScreenSpace-cameraにするとカメラがダンゴムシを追って動いても
UIのボタンや文字は常にカメラに収まります。
これまでカメラが動くゲームをunityで作ったことがないのでこれがはじめての試みでした。
ランキング
ゲームを白熱させる要素としてランキングは大事な要素となると思います。
今回のゲームジャムのために主催者であるnaichi氏が公開されたサンプルを組み込みました。
サンプルをそのまま利用しようと考えたのですがゲームデザインにこだわるVeLTiNA氏に押し負けちょっとだけデザインを変更することに。
サンプルをみるとここでもCanvasが使われておりたいへん勉強になりました。
ランキングを実装した結果ですが、狙い通り熾烈なTOP争いが繰り広げられています。
見所
ゲーム要素としてタイムアタックモードを導入しましたが、タイトル画面が一番の見所なんですよ。
ダンゴムシボタンを押すとダンゴムシが落ちてきてじっくり鑑賞できちゃいます。
制作者のロゴを絡ませるのがGoToSeven製の流儀なので上から落ちてくるんですが、まぁぶっちゃけるとダンゴムシ鑑賞の邪魔かなぁとおもったり…
だんごむしスイッチ皆も押してね! #unity1week #gameart #pixelart pic.twitter.com/HhwqWFA8cs
— 26℃ (@oirahakobito) May 27, 2017
動画だと100匹落ちてきてますが、WebGL版はメモリの負担を考えダンゴムシ20匹ぐらいしか表示できないようになってます。
たくさん落としても面白いですが、3匹ぐらいを眺めるのが丁度いいかと思います。
最後に
ゲームジャム面白かったです、参加者のゲームも刺激になるものが多々ありました。
多すぎてまだやってないのも沢山…
また次のお題がでたら参加してみたいですね、3Dゲームとか興味あるんですが1週間じゃさすがに無理かな。
前もって勉強しておきたいですがその暇がいまのところないですね、とうぶん2Dゲームつくっていきます。
いち推しゲーム
Coin GoIN | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
コインの入る穴の当たり判定でかくしてるんだろ?と思ったら判定が予想以上にちいさくて難しくムキになってクリアできるまでやってしまった…
リレーショナーしげる | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
こういうノリのゲームすき。
SynCube | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
2つの箱を操るゲーム、よくできてる。
転がる偉大な英国面 | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
ひたすら逃げるだけなのにこんなに面白くなるんですね。
ピン男 | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
難易度高すぎて未クリアですが、逃げ惑うピンがとても面白い。
石を転がして戦うやつ | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
一番はまったゲーム(弱いキャラをムキになってレベル上げした)
ゲームバランスをよくしたら俺が幸せになれた。
Unity1週間ゲームジャムの開発話
急遽ブログを開設したのは、『Unity1週間ゲームジャム』の開発話を書き、後でUnityroomのないちさんに取り上げて貰う為、わざわざ筆をとったわけである。
自己紹介
昨年秋から「世界に向けたインディーゲームを開発するんだ」とプログラマーの26℃氏(私は26℃たんと呼んでいるのだが)と組んで立ち上げたインディーゲーム制作集団「 GoToSeven (ゴー・トゥ・セブン)」のディレクター・グラフィックなどを担当している私ことVeLTiNAです。
←私はこんなアイコン使ってます
Unityをまともに使いだした2017年4月
そもそもの参加のキッカケはUnityに環境移行するまでに遡ります。
私と26℃氏は、簡易プログラム言語『HotSoupProcessor(通称HSP)』の常連ユーザーであり、我々が合作したゲームはHSPコンテスト2011で総合最優秀賞、GBJAM#5では世界総合ランク2位、その他多数の栄誉を頂いております。
私VeLTiNA個人では現在HSPで製作中の「WishDragon+(ウィッシュドラゴンプラス(仮))」を翻訳し、インディーゲームとしてSteamに出す予定です。
そんなわけで、我々は長年に渡りHSPを使っており、色々作り慣れているので制作上何も困らないのですが・・・
HSPは、WindowsOS以外のプラットフォームに出せないので、お陰様で色んな方面からオファーが来ても何も対応できない・・・。
これではイカン!と、プログラマーの26℃氏と共に今年4月からUnityを勉強し始めました!
ちなみに私は岡山Unity勉強会の実行メンバーですが、謙遜ではなく本当に超初心者なので恥ずかしながら一緒に勉強を始めました。
本当に時期が良かった
そんな時、私のTwitter上に『Unity1週間ゲームジャム』のツイートが流れてきたのである。
自称ゲームジャマ―の私は、これは「良い機会」とプログラマーの26℃氏を誘い、参加しました。
大分端折るが完成したのが「The Bound Sisters」である。
TheBoundSisters | ゲーム投稿サイト unityroom
そして、第2回にも参加
それから1ヶ月後、BitSummitが終わった翌日からスタートした第2回の1週間ゲームジャム。
テーマは「転がる」という事で、プログラマーの26℃氏が作ったプロトタイプがコチラ。
お題が転がるだそうで #unity1week pic.twitter.com/lxi2kS5qZi
— 26℃ (@oirahakobito) 2017年5月22日
ただ、この時点では「ダンゴムシ観賞」という目的らしく、全然ゲームでは無かった。
私の案では、ないちさんが公開してくれるであろう「ランキング」(現在公開済)を組み込んだレースゲームを考えていたのですが、Unityの中の人さんがリツイートした事もあり、1週間ゲームジャム参加者内外で反応があるならダンゴムシで行くか・・・と心を決めました。
めっちゃキモイドット打つ羽目になるとはなぁ・・・
— VeLTiNA@Pandoraid開発 (@veltina_soft) 2017年5月24日
開発チーム Go To Seven
Design VeLTiNA @veltina_soft
Program 26℃ @oirahakobito#unity1week #PixelArt pic.twitter.com/MtuKKkyjaq
ゲーム内容は、「ダンゴムシ観賞」を外したくないという26℃氏の意向も汲み、観賞を楽しむタイトルシーンと、ダンゴムシでレースするメインゲームに分けました。
完成しためっちゃ気持ち悪いタイトル
だんごむしスイッチ皆も押してね! #unity1week #gameart #pixelart pic.twitter.com/HhwqWFA8cs
— 26℃ (@oirahakobito) 2017年5月27日
観賞パート タイトルシーンにある「ダンゴムシのボタン」は私のアイディアで、本当にダンゴムシを観賞するだけのタイトルシーンだと、シュールな1コマにしか映らないので、プレイヤーの心をまず掴むアクションが必要だなと。
スタッフロールも兼ねて私と26℃氏のアイコンを登場させ、更にダンゴムシが無限に出てこないよう演出として「ダンゴムシのボタン」が壊れて落ちるという小ネタも入れています。
↑タイトルシーンでダンゴムシが壁を登る事も解る
ダンゴムシのゲームデザイン
肝心のメインゲーム部分ですが、ダンゴムシが不安定な体勢になると自動で丸まってしまうのは仕様・・・に見えて、実は意図しない部分もある産物です。
この意図しない部分を修正したバージョンもあるのですが、ダンゴムシが思ったように動かない「歯がゆさ」がなくなり、ゲームとして非常につまらなくなってしまったため戻しました。
上記の意図せず丸まる仕様ですが、どんな状況で丸まりやすいかと言いますと「速度」に大きく関係しています。
このゲームは一見ただの2Dですが、段差はレースゲームのカーブのような物で、直線ではスピードを上げ、段差近くなるとスピードを下げ、ハプニングがないようダンゴムシを安定させ、坂道では丸まって超加速・・・ッ!!
そんな感じで、コースに合わせたシビアな判断と操作が要求される・・・そんなプレイになるようコースをデザインしました。
↑初公開!これがコースの全容だ!
序盤に小さい山を配置、緩やかな下り坂や穴がある。中盤からは垂直に近い壁を登り、そこから一気に走り抜ける急な下り坂があり、その先にゴール。
序盤は小さいミスでも取り返しが効くように設計されていますが、中盤以降は速度や丸まるタイミングのズレがタイムに反映されるように設計。
またテーマの「転がる」が本作の重要ポイントにしたいと思っていたので、コースの最後は転がってからの大ジャンプがタイムを縮めるカギとなっています。
↑最後の坂で大ジャンプが決まると最高に気持ちいい!
お陰様で皆さまから沢山のご支持頂いているようで、今でも最速タイムが更新されているようです。
完成したゲームはコレ!
TheDango! | ゲーム投稿サイト unityroom
今見たらおススメゲームにもなっていました!
みんな、ありがとナス!
ゲームジャムを終えて
ゲームジャムの良い所は新しい技術や環境を試すのにうってつけな所です!
今回はランキングも取り入れたし、エッジコライダーも使ってみました!
2回目を経て確実に我々はレベルアップしているのを感じています・・・フォロワーも増えてますし。
今後も定期的でなくても参加していきたいと思います!
実は・・・
第1回からお試しで Unity Collaborate を使って開発していましたが、気に入って今現在も使っています。
Gitよりお手軽で使いやすく、プロジェクトのバージョン管理も出来る。しかも無料!
最高だ!皆も使おうぜ!!
と言うのも、私と26℃氏は一緒に開発してた2010年から数えて7年の付き合いですが・・・
実は一度も会った事がなく、全てのやり取りをIRC(インターネット・リレー・チャット)を使いネット上だけで開発してきたので、ファイルのやり取りもIRC、メッセージのやり取りもIRC、片方がインしていなければそれも出来ない!という開発環境を昨年まで行っていました。
最近になって、やっとChatworkとTrelloを使うようになりましたが、リアルタイムのやり取りはIRCのままです。
それでもUnity Collaborateのお陰で以前より大分マシになりました。
ありがとう!Unity!
最後に
本作を評価して頂いた皆様、遊んでくれた全てのプレイヤー様、主催のないち様、Unity関係者様、本当にありがとうございました!
技術的な話は、26℃氏に丸投げします。
後日、更新があるかもしれません。
\それでは!また!/
インディーゲーム制作集団 GoToSeven
VeLTiNA (@veltina_soft)
開設しました。
テスト。