AdSenseBlogHead

2018年6月11日月曜日

unity1week(お題:ぎりぎり)で「十倍返しの魔鏡(マジックミラー)」を作りました。

先週(2018/6/4~10)開催された unity1week(お題:ぎりぎり) に参加しました。

今回は締め切り4時間前にはエントリーが完了していたので、気力とか体力とかに余力があるようで、こうしてブログもすぐに書いている状態です。

せっかくなので、記憶が割と鮮明なうちに、今回のゲーム制作について書いておきます。

作ったもの 

十倍返しの魔鏡(マジックミラー)」というゲームを作りました。

百聞は一見にしかずなので、次の動画をご覧いただければ、だいたいの雰囲気は伝わると思います。


画面サイズは、なんとなく、スマートフォンへの移植を意識したような 360x640px のポートレート型です。(移植予定はありません)

ゲームの名前にハッシュタグがついてるんだけど

unityroom様の投稿ページでは「#十倍返しの魔鏡 」という感じで、 # を先頭につけました。
これは、単純にハッシュタグで検索しやすくするためです。
SSR級のごく小数のプレイヤーのツイートを無視しないように今回から取り入れてみました。
引用:https://unityroom.com/games/magicmirrorcounterx10

unityroom様のページのデザインが少しずつ改良されていて、このゲーム名のフォントもいいなぁと思いました。

作成過程を振り返る(長い……)

月曜日にお題の「ぎりぎり」をみて、「ギリジャンよこっとび」というアトランティスチックなイメージが思い浮かびました。
そのあとも、10個くらいネタだしをして、なんとなく今回はこれを作りたいなーと思ったのが、マホカ○タやリフ○ク系の魔法を跳ね返すゲームです。

ただ魔法を跳ね返すのではなく、ぎりぎりで跳ね返すほど、威力を倍増させられるところを楽しめるように作りたいと思いました。

それと同時に、
  • アクションが苦手な人は、あんまり欲張らず威力は低めでも余裕をもってバリアをはればクリアできて
  • アクションが上手な人は、ハイリスクハイリターンで高速クリアを目指せる
下手でも上手でもそれなりに楽しめることを意識しました。

火曜日あたりまでは、そんな感じで、アイデアを思い浮かべては整理していました。
本当はすぐにでもプロトタイプを作って動かしたいのだけど、頭のどこかでしっくりいっていないのか、プログラムをする気にはならなかったので、とりあえず、こんな構図でいいかなーという画面の絵の仮組みを作りました。


ツイートしたら何人かの方にいいねされてうれしかったです。
考えたら、このいいねで、やる気がでてきたのかもしれません。

水曜日に、ちょっとだけ Unity で仮組みの絵でキャラを動かしたり、暫定の弾を落としたりしてみました。

まだ、このときは、主人公は横に移動するし、ミサイルも決められた場所から一定間隔でふってくるだけでした。
このときは、なんかこれ面白くないかもという感じがありました。

木曜日はあんまりプログラミングする気力がなかったので、魔法弾(炎、氷、どくろ、雷)の4つの画像を作りました。
でも、寝る前に、「跳ね返ったときに大きさを10倍にして反対方向を向くようにする処理」だけ試してみたくて、ちょこっといれてみると、これが意外にインパクトがありました。

小さかった弾が、打ち返した瞬間に巨大になって相手に向かっていく。

仕様として文章では書いておいたのですが、これを実際にやってみると、思ったよりも楽しく感じました。
実際に動かしてみるっていうのは想像以上に大事だし、テンションをあげてくれるんだなぁと思いました。

金曜日は、テンションがあがっていっきに魔法弾の各4パターンの動きを実装しました。多少バグはあったのですが、それでもいろんなパターンの魔法攻撃が次々にくるのは、見ていて楽しかったです。

土曜日は、今までいれてなかったランキングシステム(naichiさんとニフクラさんのおかげでかなりスムーズに導入できました)やツイートシステム、ゲームクリア、ゲームオーバーなどをいっきに追加し、仮組みながらも基本機能は一応できました。

途中やる気がなくなったときは、BGMや効果音を選んでいれると、いっきにそれっぽい雰囲気がでてきて、テンションがあがりました。

魔法弾のちょっとしたバグもなんとか直せて、明日は本番用の画像を作って、タイトル画面を作るだけという段階までがんばりました。

日曜日は4時過ぎに起きられたので、早朝のうちにタイトル画面の大枠をつくりました。
その後、お昼前に巫女さんの画像もわりとすんなり作れました。

敵の悪霊の絵も描いてみたんですが、仮組みの絵を超えるやつが描けなくて、時間的にもこれでいいかなと思い、そのまま本番用にしました。
プレイヤーの方にどう映ったかはわかりませんが、4~5日も見ていたせいか、敵の絵については違和感は感じていません。

巫女さんのほうは、倒れるシーンもつくってみました。地味ですが、負けた感じを出せてると思います。
あと、敵の悪霊がやられるシーンで徐々に消滅していき、そのあと天の川が現れる演出は作ってよかったと思いました。

日曜の午後からは、本番環境でのテストということで、 WebGLをビルド・アップロードして、試しました。
いつもなら音がでないとか、何かしら問題があるのですが、今回はすんなりいけたので、そのままプレイ動画をとったり、その動画をもとに、紹介用の gif やアイコンを作って、夕方にはエントリー完了。

お題が「ぎりぎり」なのに対して、今までで一番余裕のあるエントリーになりました。

締め切り後、他の方の作品を10~15作品程度遊ばせてもらいました。
すでに170作品もエントリーがあったので、アイコンやタイトルが気になったものや、知っている人の作品を中心にプレイしました。
さまざまなアイデアや演出がありとても勉強になったし、楽しめました。

さいごに

ゲームジャムは、普段なら空中分解してしまうゲーム制作をなぜかリリースまでさせる力があると思います。

しかし、私には、そこで作ったゲームを育てるということができていません。

なんか飽きてしまうというか、もうこれは終わったものという感じで、興味がなくなってしまいます。
しかし、もっと本格的にバージョン管理をしたり、計画をたてて少しずつバージョンアップを楽しみながらすることができれば、今までよりも規模の大きいゲームが作れるのではないかと思っています。

そこらへんをできるようになれれば、もう少し多くの人に長く遊んでもらえるゲームができるのかなと思いました。

いろいろ不安定な状態ですが、できる範囲で無理せずがんばりたいと思います。

最後に、今回もゲーム制作の機会と公開の場を与えていただいた unityroom 様と、ゲームをプレイ・RT・いいねしてくれた方たちに改めて御礼を申し上げます。

次のブログが何ヵ月後になるかは私にもわかりませんが、もしよろしければまた読んでやってください。

今回のゲームは、次のリンクから PC のウェブブラウザでプレイできます。


2018年5月13日日曜日

生存報告2018春。ブログさぼってた半年間、ゲームジャムに参加して3D/2Dアクションゲームとか作ったりいろいろしてたよ。

半年くらい間があいてしまいましたが、その間のことをずらーっと書きつつ、リリースしたゲームとかを紹介していきたいと思います。

寛容な人たちに支えられアプリ内課金の記事を連載できた!

あれから5ヶ月以上、何もこちらには投稿していませんでしたが、実は裏ではがんばってブログ以上の文章を書かせていただいていました。

いますぐ始めるアプリ内課金 カテゴリーの記事一覧 - itemstore BLOG

ペンネーム(SakuraCrowd)も出してるし、ポートフォリオとして使っても良いよということでしたので、少し感想というか報告をさせてください。

前述のとおり、ペンネームを公開させてもらいうれしかったのですが、その反面プレッシャーがあったり、他にもしんどいこともありました。
だけど、クライアントの方や itemstore のサポートチームの方、家族のサポートのおかげでなんとか連載を達成できました。

記事の内容としては、サンプルのゲームアプリ(ブロック崩し)をつくり、itemstore のアプリ内課金を導入し、課金の動作確認を行うまでの工程を、ブログとQiitaとgithubを連動して紹介しています。

初心者や課金の実装に苦手意識を持っている方たちが、課金アプリが簡単に作れると思っていただけると幸いです。

もし良かったら、読んでみてください。

あと、課金のないブロック崩しは android アプリとして公開されているので、もしよかったら、遊んでみてください。

ブロック崩し(教材) - Google Play のアプリ




2Dアクション、「ドラゴン遺跡のディガー」リリース

あと、今年2月に行われた Unity1週間ゲームジャム(テーマ:当てる) では「ドラゴン遺跡のディガー」という2Dアクションをリリースしました。
これは、はじめて unity1week の1週間をフル活用した作品になります。
というのも、今までは、作りたいゲームのイメージが固まるまで3~4日かかることもあり、実装は2~3日ということがほとんどでした。

それが、今回は、テーマ発表日のうちに作りたいものが明確になり、実装にとりかかることができました。
思い浮かんだジャンルが、自分の好きな2D探索アクションだったから仕様を決めやすかったのかもしれません。

結局、最初に思い浮かんだ10分の1程度のものしか実装はできませんでしたが、それでも、こんなところを楽しんで欲しいという部分はひととおり公開できたと思っています。

そこらへんの葛藤なども含め、Unity1weekに参加してみた体験レポートを書かせていただきましたので、よろしければご覧ください。

【自作ゲーム】Unity 1週間ゲームジャムに参加しました! - itemstore BLOG

手書きの未実装のステージの図案とか、妥協した点などを、 unity1weekの素晴らしさや感想と共に書かせていただいています。

ゲームは unityroom 様のほうでウェブブラウザからプレイできます。
ドラゴン遺跡のディガー~Digger in Dragon Ruins~ | 無料ゲーム投稿サイト unityroom


Unity(ProBuilder)製、3Dアクション「とりでの中のp.b.j.a.m」リリース


そして、前述の記事の連載が無事おわり、なんか抜け殻状態になっていたころに、 ProBuilderゲームジャム(#pbjam)というイベントがあることを知り、5月6日から ProBuilder をインポートして勉強しながら、丸4日をかけてつくったのが「とりでの中のp.b.j.a.m」です。


前回の「ドラゴン遺跡のディガー」では、ぎりぎりでジャンプしない限りゴールまでたどりつけない部分がありましたが、そこであきらめて楽しく終われないこともあることがわかりました。
その反省を活かし、今回は難しいコースと、簡単(だけど時間がかかる)コースを用意して、なるべく多くの人に、クリアして達成感を感じてもらえるように作りました。

2Dのゲームを作ることが多い筆者にとっては、例えば、カメラとプレイアブルキャラとの間で壁が邪魔をして画面に壁しか映らなかったり、 マップエディットも2次元ではなく3次元ならではの難しさがありました。

3Dというと Blender で過去数回挫折を繰り返しているのですが、今回のゲームジャムの条件にもなっている ProBuilder は、直感的でこだわりすぎなければ、3Dの地形やちょっとした建物が簡単に作れました。
簡単とはいっても、2日間は3Dモデリングに費やしたのですが、4日間で3Dアクションゲームができたのは自信になったと同時に、 ProBuilder すげーと思います。

昨年に作った「DangerousSpaceTransporter~危険な宇宙の運び屋」も3Dの作品で、苦労したことは苦労したんですが、今回のような建物の 3D モデリングなどはなく、宇宙空間にフリーのアセットの小惑星の障害物置いていくことでマップを作っていたので、今回のほうより高度なことをやった気分になっています。

あと、3Dなので、プレイヤーの向きを意識してフィールドを作りました。

このゲームはフィールドの p, b, j, a, m の文字をとると、扉が開いたりして次に進むことができるシステムです。

例えば p という文字に触れると、砦の扉が開くアニメーションがあるのですが、pをとった瞬間はだいたいその扉のほうを見ていて欲しいと開発してたら思うでしょう。
実際、 p に触れて目の前の扉がすーっとあいていく部分は、自分でテストプレイしながら、これは良い演出!と勝手に盛り上がっています。

b をとると目の前に階段が現れるのも、そちらの向きを向いた状態で b をとりやすいマップにしました。
できたら、階段はもっと上から下に垂れ下がってくるとかやってみたかったんですが、今回は不慣れな3Dだし、あんまり細部にこだわると間に合わないと思っていたので、非表示から表示に切り替えるだけにしました。

他にも j をとった瞬間にエレベータが作動して、そのままエレベータにのれる感じのタイミング、あれははっきりいって偶然なのですが、配置うめー!と勝手に盛り上がっています。

a はなんか、まぁ、あれですね。天空への階段をふさいでいる柵がすーっと上にあがるんですけど、カメラアクションとかつけないと気づかれないプレイヤーさんも多いかなと思う地味演出になってしまいました。

m の文字をとるとゴール(というか全部そろう)なんですが、あそこはあせると落ちます。そんな意地悪なつくりではないんですが、あせって一回作者は落ちました。
もうちょっと、ゴールのあとはカメラワークで砦をうつしたり、したかったんですが、そういうのはまた今度の課題にしようと思います。

そんなこんなで、妥協もしつつ、こだわるところは少しこだわりつつ、3Dアクションがうまい人にはより高度なプレイ、苦手な人でも地道にやればクリアできることを意識したフィールドを作りました。

あと、ボールのジャンプ力とか、移動のブレーキの係り具合などは、プログラムのほうで、自分でもよくわからない感じのロジックで、少し調整しています。

今回のゲーム制作を通じて、3Dをもう一回勉強してみようかな、3Dゲームも意外と面白いなと思うようになりました。

そんな手作り感満載の3Dフィールドをかけぬける「とりでの中のp.b.j.a.m」も unityroom様のほうでプレイできます。よろしければやってみてください。

とりでの中のp.b.j.a.m | 無料ゲーム投稿サイト unityroom




ちょっとしたスクリプトの公開

pbjam に向けて作っていたときに、カメラとプレイアブルキャラクターの間の壁が邪魔で表示がうまくできないと話したのですが、そのときに作ったスクリプトを Qiita と github で公開しました。
ライセンスは NYSL なのでご自由にお使いください。

カメラと対象の間に入った遮蔽物を一時的に Renderer.enabled = false で描画させなくするだけのスクリプトです。

3D初心者なので、見当違いかもしれませんが、ちゃんと動作したし、1つのファイルでアップしやすかったので公開してみました。
もしよかったら使ってみてください。

Unity でカメラと被写体の間の遮蔽物を非表示にするスクリプトを作ってみた - Qiita
github の gist

おわりに

ここ数年、30作品近くミニゲームを公開してきて、毎回毎回世の中にはすごい人や作品がたくさん存在することを改めて知り、これからどうしようかなという、途方にくれた感じもあります。

リリース直後はなぜか死ぬほど落ち込むことも多いのに、なぜかまた作りたくなります。下手の横好きかもしれませんが、それが活力になっていると感じます。

今も、まだゲーム制作のアイデアが浮かんできたり、ゲームを作りたいという気持ちはあります。

反面、このままではどうにもならないなというあせりもあります。

ゲーム制作をしつつ、他のフィールドにも機会があればチャレンジしていって、それでも結局どこにもたどり着けなかったら、そこでゲームオーバーになるのかなという感じで、びくびくしつつ開き直り、元気のあるときは挑戦していこうと思っています。

ひさびさのブログでいつもより長く、そして、変なテンションで書いてしまいました。
読んでくださってありがとうございます。

次のunity1weekもできたら参加したいと思っています。
そのときに、ブログを書くかはわかりませんが、もしよかったら読んでやってください。