ゲーム開発チーム「丸ダイス」の開発ブログです! 公式サイトはこちら

【EQUALINE】itch.ioでダウンロード販売を開始しました!

こんにちは!丸ダイスです!!

EQUALINEの最近

丸ダイスが開発したアクションパズルゲーム「EQUALINE」をご存知でしょうか。

www.youtube.com

EQUALINEはこんなゲーム。数字と記号に線を引いてすばやく計算する「一筆書き計算パズル」です。

EQUALINEは、2019年夏の公開後、長らくコミックマーケットなどのイベント会場限定で頒布を行っていました。

ですが、実はこの半年新たに「EQUALINE」のパッケージを手にとった方は一人もいません。なぜでしょう・・?

そう、なぜなら……

ゲームを頒布できるリアルイベントが全くないです・・・。

理由はもちろん、アレのせいです。

もっと多くの人にEQUALINEを遊んでほしい… 丸ダイスはアレと販売体制の間で苦悩します。

PGRFの競技タイトルに選出

もう一つ、EQUALINEにはいいこともありました。

Twitterで#PGRF というタグを見たことがあるでしょうか?

正式名は「Puzzle Game RTA Festival」といい、2日間に渡って20以上のパズルゲームがプレイされるRTAイベントです

Puzzle Game RTA Festival

このRTAイベントで、なんと「EQUALINE」が競技タイトルに選出&当選し、プレイされることが決まっています!

ほかの当選作品一覧を見てもらえば分かる通り、プレイされるのは誰もが聞いたことある有名パズルゲームばかり・・!

その中で「EQUALINE」がRTAの対象タイトルに選ばれたことに丸ダイス一同(2人ですが)は盛り上がり、舞い上がり、天に昇りました。

ということで……

EQUALINEのDL版を、新しく配信開始します!!

今日からです!配信ストアはitch.io。 こちら からどうぞ。

これに合わせて追加のアップデート!……とかあればよかったのですが、残念ながらないです。

代わりに、Puzzle Game RTA Festivalが開催される10/17, 18(土、日)までの4日間限定で、70%の大幅セールを実施します

配信スケジュールによると、EQUALINEのプレイは10/17(土)17:20ころのようです。

凄腕プレイを見て興味を持った方は、ぜひ遊んで見てくださいね!

unity1week17「しょくもつれんさ・どうぶつえん」開発の振り返り

こんにちは! 丸ダイスです!

先月のunity1weekで「しょくもつれんさ・どうぶつえん」というゲームを作りました!

しょくもつれんさ・どうぶつえん | フリーゲーム投稿サイト unityroom

今回は「1万RT!超バズった!」でもなければ「総合優勝やったぜイェイ!」でもないので軽めですが、 開発の振り返りをします!

企画

いつもどおりババー!っとアイデアを出して(画像略。しょーもないアイデアメモが30枚くらい生まれました)

その中にあった「ゆうなま」「ライフゲーム」「百獣の王」あたりをベースにして

こんな企画に決まりました。

f:id:marudice:20200902203000p:plain:w200f:id:marudice:20200902203054p:plain:w200

決まったのは火曜日の夜くらい。

もう1作作った「こけぴよぱずる」の企画も既に出ていて、企画を比較するとこんな感じ。

  • 「どうぶつえん(仮)」
    • 面白さが不明。状態が複雑すぎて面白いパズルになるか不明
    • 実装が重い(厳密な決定論的シミュレーション、早送りなど時間操作インターフェイス、D&Dエディタ)
    • アートが重い(どうぶつ5種必須。捕食、被食、繁殖などアニメが多い)
    • 「動物を捕食させてふやす」:奇抜でウケそうな表現
    • →明らかにキツそうで不透明なゲーム
  • 「こけぴよ(仮)」
    • 面白さが確実。予測しきれる複雑さで確実にパズルが作れる
    • 実装が軽い(一律方向のキー操作でのターン制パズル)
    • アートが比較的軽い(企画時点では「たまご」「にわとり」のみだった)
    • 「タマゴを孵してひよこがふえる」:奇抜な表現ではなかった
    • →無難に作れそうで普通に楽しめそうなゲーム

「作れるゲームをただ作ってもつまんねぇじゃん!」……という思いが半分、 「いや、既に2日消費してるし、出来るもの作ろうよ…」…という思いが半分。

「どうぶつえん」になりました

どうして(現場猫

開発作業

結果

こんな感じでした「予想通り」って何やねん!という話だと思うので、自分が何を思ったか忘れないためちょろっと振り返りを…。

「楽しさ」が低かったことの評価

丸ダイスがパズルをしっかり遊び始めたのは実はゲームが公開されてからでした。

(実装が重すぎて、パズルの作問はいつも通りとしてステージの配置・通しプレイもPuzzler.K先生にまかせてしまっていたため)。

そして気付きます。「これ、初期配置で全部決まるゲームなのに、複雑すぎて予想しきって解くのムリじゃん…」あなたの企画ですよ。

Puzzler.K先生は、「状態が複雑でちゃんと予測しきるパズルは難しい。要点は抑えながらあとはいろいろ試して解いてもらう」とせざるを得ないことに 比較的早く気付いたようで、そういうパズルデザインが基本になっています。

丸ダイス的にはパズルとしての解ききれなさと同時に、「過程に全く介入できない」不自由さがイマイチだなという評価です。

こうしたライフゲーム的なルールベースシミュレーションはやはり過程が楽しいので、そこを見ているしかないルールはゲーム体験として微妙です。

評価の「楽しさ≒ゲームプレイの競技性」が低くなることはここから予想していました。

「面白そう」さのプロモーションでひよった話

Puzzler.K「あの、動物が食べられる時に『ギエーー!!』とか鳴いて怖いです…」

丸ダイス「よかった!ちゃんと怖く聞こえたんだ!これから動物の残骸を撒き散らしたりしたいな!」

……マジで怖がっていたのにすぐ気付いて、やりすぎたかな・・?と思ってしまいました。

丸ダイスは「ウルトラ草」とか「受精3D」とか、ブラックユーモアが大好きで、表現の面でもちょっと狂ってる方が良い(し、客観的にも有利)と思ってはいるのですが、ややビビリなのです。怒られるのが怖いのです。

結果、実装の物量も相まって、悲鳴以上のハデな捕食リアクションは入れませんでした。

その結果は記事冒頭の動画のとおり。「面白そう」でしょうか?

改めて見ると、「どうぶつがどうぶつを捕食する」インパクトがツイートがTLを流れる0.5秒では伝わらないです。

要は日和ったのです。やると決めたら日和ってはダメです。

心を強く持ち、ファンシーライオンがファンシーウサギを噛みちぎるザンギャク・バイオレンスをお姉さんが満面の笑みで眺めるべきでした(?)。

その他、楽しかったこと、イケてたこと

  • むじ先生のアートが非常に優れていました。おねえさんのキャラ立ち&かわいさ、どうぶつのかわいさ、地形まで含めたアートの統一感、あまりにもカンペキで驚きました。
  • 50以上のどうぶつの声をかき集めてノリノリでミックスした結果、要所でどうぶつがガンガン鳴くいいサウンドデザインが出来ました。
    • 最近、テーマに合わせた音作りに慣れてきて楽しいです。シンセは出来ないんですが…。
  • これだけ狂った基本ルールの元でも、ちゃんとパズルを作り切ったPuzzler.K先生はやはり偉大です
  • 「斬新さ」が結構高いのは(予想はしつつも)安心しました。ルールそのものの物珍しさを感じてもらえたようです

今回の試作はイケる?ボツ?

ボツです

理由は、ゲームの競技的な楽しさを上げるためにルールの根本的見直し(例:途中の介入を踏まえたパズルとして再設計)が必要だからです。

ちょっと残念ですけどね。私はtnk先生の「やってダメならすぐ諦める」という言葉を信じたいのです(ちなみに、ラピッドプロトタイピングのプロと言えるハイパーカジュアルのクリエイターも口を揃えて同じことを言います)

こけぴよぱずる 振り返り

追記:2作目「こけぴよぱずる」についてPuzzler.K先生がTwitter連投で書いてくれました!

1年作ったゲームの開発中止を決めた話

こんにちは!丸ダイスです!

約1年前くらいから本格的に始めた「地球人の島」の開発を中止することを決めたので、そのお知らせです!

残念な結果ですが、かけた時間を今後の開発に活かすためにも開発の振り返りをしたいと思います。

ゲームの内容などを知らなくても読めるように書くので、ゲームを作る方の参考になれば幸いです!

※ゲームの内容は前提とはしませんが、誰でも読める易しい記事ではありません。 ゲーム開発の経験があると読みやすく、特に開発記録は正確に読むために熟読を必要とします。

開発記録

2019年2月 ゲームジャム版:オンラインわちゃわちゃに感じた手応え

「地球人の島」の開発はここから始まりました。

当時開催されたゲームジャム「unity1week」のお題は「つながる」。

この時一週間で作ったプロトタイプがこちら。

このバージョンはunityroomでプレイ出来ます:

つなげて!道路 オンライン | フリーゲーム投稿サイト unityroom

『道をつなげて・街をつなげて・ほかのプレイヤーともつながる!』というアオリ文句で、

「パズル的な道をつなげる気持ちよさ」と「オンラインのわちゃわちゃ協力プレイ」を楽しめる作品です。

「10人という大規模で共闘が楽しめる」「基本アクションの手応えが良い」これが揃うだけでも、 ゲームジャムレベルでは十分な品質を感じられたのだと思います。

ポジティブな評価を頂き、オンラインプレイに手応えを感じました。

ただし、このプロトタイプには大きな弱点が存在します……。

私はその弱点を自覚していましたが、今思えば最後まで解決が出来ていない致命的な弱点だったのかもしれません…

2019年8月 夏コミ版:短期で開発するクリッカーにするつもりが…

プロトタイプの弱点、それは「ゴールがないこと」です。

便宜的に制限時間とスコアを計算していましたが、あくまでおまけ。

今どきスコアが表示されるだけで何度も遊んでくれるプレイヤーはいないので、

楽しさの本質である「共闘」と「道がつながる」が重要になるゴールが必要でした。

5月に「これなら短期開発でいけるんじゃね?」と思いついて本格開発を開始。夏コミで発表したのがこちら

youtu.be

(ノーカット版はこちら

この時のゴールは「街から街の移民で人口を増やす」です。

  • 「街」はパネル自体が持つのではなく、予め設置されたハタから出現
  • パネルに「人種」が関連付き、街と街をつなぐ「街道」にそって人が「移民」

街道の長さや通ったパネルの人種で人口比率が変わるので、狙った人口比率を達成してもらおう、という遊びです。

「こうしようかな?こうつなげようかな?」と考えて道をつなげる競技性が生まれました。これは狙い通り。

悪かった点としては、見た目はイマイチでした。道を置く前から色がつくのはカラフルできれいかと思いきや、 「自分で土地を広げてる感」が大幅に削がれることに作ってから気が付きました。

また、人口という街をクリックしないと見られない数字だけでは、パッと見た時に発展させてる感触が弱かったです。

その他、共闘的な要素が一旦消えたことで元々あったわちゃわちゃ感はなくなりました。

おそらくこれのせいで頂いたネガティブな感想もあり動揺したこともありましたが、 開拓・クラフト型のゲームはマルチプレイ化がバランスを崩しにくいので、今思えばそこは気にする本質ではなかったと思います。

2019年11月 冬コミ版:見た目を重視した開拓ゲーを目指す

単なる数字としての人口を増やすゴール設定は分が悪そうだったので大幅に変更し、 いわゆる都市開拓ゲームの競技性を目指すことにしました。

Civilizationの開拓パートや、未プレイですがSimCityなどを参考に

『「土地を広げる」「建築を増やす」「人口を増やす」といった各要素の増産が相互に別の要素の増産を産む』という拡大再生産のサイクルを 競技性の中心に据えました。

また、不要になった土地の色を取っ払うことと合わせて「地球人と一緒に島を開拓」という世界観をはっきりさせました。

そうして出来た冬コミ版がこちら

youtu.be

(ノーカット版はこちら

建築方法が街から街を歩く「地球人」の力を借りる形に変わったことで、数字ではなく見えているにぎやかさがそのまま開拓の 進行具合になっています。

また、お金というリソースが追加され、人口や建築の数によってもらえるかずが増えるので、人口→建築→お金→土地… と、複数の要素がサイクルする拡大再生産が 出来始めています。

この段階で良かったのは「島」というモチーフを採用した点でした。「地球人の島」というタイトルも決まり 「パット見て『面白そう』」というプロモーション上の強さに手応えが出来ました。

反対にイマイチだったのは競技性です。

複数の要素が相互に支え合う拡大再生産を目指していたものの、お金以外に拾えるアイテムは用途がないまま、 地球人が中々建築に来なくてイライラ、モニュメントは建築要件が同じで繰り返す遊ぶ意味がない、といった具合です。

(少し前のデジゲー博版はこれとほぼ同じなので省略)。

2020年4月 迷走中:モニタープレイ駆動の試作サイクルに光明

競技性の中心は感触が良かったため、拡大再生産をより楽しめる要素をスクラップ&ビルドをしていましたが、中々よい手応えがない・・・。

迷走している間に気付いたのが、モニタープレイしないまま潰している仕様があることでした。

「建築の種類ごとに変わるお金以外の拾うアイテム」を作ったのは冬コミ版の時点だったのですが、

それの用途を固める前に「建築の種類ごとに変わる島全体の発展度(非消費。拾わなくて良い)」という仕様を思いつき、 「お金以外の拾うアイテム」の実装が試す前に無駄になってしまいました。

詳細は省きますがこの他にも、思いついて実装も始めたものの、別の思いつきでモニターしないまま潰してしまった仕様があることに気づきます。

リソース管理型のゲームはバランスが調整されて各要素が相互に機能して始めて楽しさが生まれるので、新しい要素は実装してもすぐに面白くはなりません。

そこに気づかないまま新しい要素を実装するやすぐプレイして(イマイチだな…)なんてやっていたので、良い手応えがないのは当然でした。

単純に実装コストがもったいないですし、作った→つまらん… を繰り返すのでモチベが下がります。

これに対する解答として「モニタープレイ駆動の試作サイクル」に切り替えることにしました。

やり方は、『検証する遊びが初プレイでも体験出来る要件をまとめてタスク化して、全てこなしてからモニタープレイを行う』というものです。

要は「作りきるまで遊ぶな」ということです。こうしてみるとただのPDCAですが、私のようなゲームデザイン大好き開発者には重要なのではと思います。

GitHub Projectを使い、必要な(だが出来てない)要件を全て並べました。

f:id:marudice:20200802204549p:plain

今はDoneばかりですが、4月時点では全部To doでした。

モニタープレイで検証する内容が具体的に分かるタイトルも効果が高そうです。

2020年7月 最終版:サイクルは整えたものの中止判断

7月ごろにはこのProjectを消化しきり、テストプレイを行いました。

youtu.be

(ノーカット版はこちら

これを自分で5回くらい遊んで評価した結果、

『基本を変えずに完成を目指せる遊びの核が出来ていない』と判断して、開発中止を決めました!

学び

学び1. なぜゲームジャムやコミケに出ると開発が進むのか?

途中で「モニタープレイ駆動の試作サイクル」を紹介しましたが、 実はこの方法、多くの開発者が知らずに実践しています。「ゲームジャム」や「コミケ」です。

外向きの発表では初見で体験出来ることが必須なので、自然とモニタープレイ可能な要件が整理され、優先されます。

外部から迫られる締め切りが理由としてよく上げられますが、このように「強制的に初見で遊べる仕様に整理される」 ことも重要に働いていそうです。

個人的にはこれが大きな学びで、4月以降は1月~4月の迷走に比べて最終版に活かせた開発成果が目に見えて多く、手戻りも少なかったです。

うまく機能すればコロナ禍で減った外向き発表に頼らない高い開発効率が期待出来そうなので、今後も活用するつもりです。

学び2. いつ諦めるか?どうやって諦めるか?

今回は、泥沼ゲーム開発パターンとして知られる、「作っては壊すが永遠に繰り返される」 になってしまったと思います。

「これをゲームにしたら面白そう」というボトムアップなアイデアから試作を始めた場合に難しいのが「どこで諦めるか?」です。

これには長年悩んでいたのですが、先日素晴らしい考え方を知ったので共有させて下さい。

『1日作ってダメなら諦める。良くなる可能性があっても今の自分には無理だったと考える』

unity1weekなどで活躍されているゲーム開発者のtnkさんに頂いたアドバイスです(原文ままではないです)

1週間ゲームジャムの文脈で話されていたので、言葉通りに適用出来ないケースもあると思いますが、 特に重要なのは「プロデューサーの目線を持つこと」だと自分なりに解釈しました。

自分がもし、企画を持ってきて開発を依頼したプロデューサーだったらどうでしょうか?

まず「この日に遊べるものを」と期限は決めるでしょうし、「作り直したら良くなるかも」とクリエイターが言っても、 現に面白いものを用意出来なかった事実を根拠に、その人自身の能力を含めて企画を見直すのがプロデューサーの役目です。

一見厳しいですが、ほかの企画なら輝けるかもしれないクリエイターに寄り添った人事とも言えます。 大切なパートナーであるクリエイターを腐らせていてはもったいない!

幸いプロデューサーも私なので、人格ごと見限られることはないのです(よかった!)。

正しかったかどうかは分かりませんが、中止を決断出来たのはこの考え方のおかげです。

学び1. 企画書は必ず言語化しよう!

ゲーム開発が泥沼化するパターンは

  • 思いついた要素が永遠と継ぎ足されていく
  • 作っては壊すが永遠に繰り返される

のどちらかになることが多いです(今回は後者)。 完成しないのはどちらも同じで、「企画が明確でない(=ゲームの核は何なのか?)」が原因です。

何が重要で何がどうでもいいのか不明確なので思いついたものがアレもコレもと継ぎ足されてしまうし、 駆け引きやゲーム体験(≒競技性)が不明確なまま要素から作り始めるからメカニクスをころころと変えてしまう。

昨年11月のゲームジャムに参加した時に企画を言語化するパワーを知ってからはそうしてますが、 それより前に始めた開発だったので曖昧なまま進んだのはよくなかったです。

『アイデア』と『企画』をフォーマット化する方法論とそのメリットについては前々回のゲームジャムの振り返りに書いたので、よければご覧ください。

モニタープレイ歓迎します!

「地球人の島」のプレイアブルなビルドは全部で4つあります

ゲームジャム版以外は現在入手不可能ですが、知人や希望される方にはぜひ遊んで頂きたいです。

連絡頂ければ無料でビルドをお渡しします(ただし、プレイ後に感想をお聞きすると思います・・)

今後の開発について

ナイショです!げへへ!!

めっちゃ面白いゲーム作ります!

【密ですビートゲーム】バズを狙って作ったゲームが思ったよりバズった

こんにちは。緊急事態関係なく引きこもりの丸ダイスです。

 

4/26(月)~5/3(日)に開催

 


された unity1week #16 お題「密」で「密ですビート・ストリート」(通称:密ですビートゲーム)というゲームを作りました。

 

開発終了後に投稿したこちらのゲーム紹介ツイートが5/5現在1万以上RTされており、ゲーム開発史上(というか人生で)もっともバズったツイートになりました。嬉しいです。

 

前回は長々書きすぎて大変だったので簡単に、企画~開発~広報の流れを振り返ってみます。

 

 

企画。安直でもPVではこれには絶対に勝てない

f:id:marudice:20200505161216p:plain

今回のアイデアメモで真っ先に出た一枚。今回のゲームジャムでブレストをしたら100人中95人が書きそうです。

あまりにも安直ですが、結局このネタで作ることになります。

 

「密です」のネットミームは、「密ですビート」や

f:id:marudice:20200507200642p:plain

このイラスト、密ですゲーム あたりが人気で、総じて口に出して言いたいパワーワードの性質があります。

 

みんな、密です を言いたいのです。だから「密です」のゲームが欲しい。

 

既にあった「密ですゲーム」は、数も少なくそこまで品質が高くなかった(作った方ゴメンナサイ…)ので、300もの作品が投稿されるunity1weekから、潜在的な「密です言いたい」需要を強く満たす作品がバズることは容易に想像出来ました。

 

結果、「GWクソ暇だけど、密ですゲームがたくさんあるらしいぞ!遊ぼうぜ!」となることが主催のnaichiさんがGWをプレイ期間にした意図でもありそうでした(もちろんそれは我々開発者も嬉しい!Win Win Winで最高です!)。

 

革命的で最高のプロトタイプを作り上げることを野望してゲームジャムに挑む身としては、「密ですゲーム」を作らずに済む道も考えていたのですが、Baba Is You を超えるアイデアの天啓でも受けもしない限り「密ですゲーム」を超えるウケは狙えそうになかったので、ウケれば良しの回と割り切って「密ですゲーム」を作ることにしました。

 

繰り返しですが、「密ですゲーム」は「密です言いたい」需要のためのゲームなので、プラットフォーマーやパズルではなくリズムゲーム格闘ゲームがいいです。格闘ゲームは1週間では作れません。なので、ロジカルにリズムゲームに確定しました。

 

 出来た企画書

f:id:marudice:20200505163408j:plain f:id:marudice:20200505160908j:plain 

 

前回のゲームジャムの振り返りでも使ったフォーマットです。これホンマ便利最高です。強制的に全てが具体的になります。

 

イデアでなく理詰めで企画を決めたので丸被りも覚悟しました。

ただ、「←→」での位置の押し分けと「ZXC」での種類の押し分けを、レーンストップで2キーノーツにすることで素直に融合出来る仕様はアイデアだったので、完全な被りはなかろう……くらいの気持ちでした。

これで仕様まで決まったので制作開始。

 

制作

制作の流れは、前回の開発とそんなに大きな違いはなかったです。

最終的に4人チームという大所帯ですが、企画が決まった後で適宜打診してたので、スクラム組んでえいえいおー!って感じじゃないです。…そんな冷たい感じでもないですよ!

フチヌローさん

f:id:marudice:20200310013956p:plain

企画を決めた月曜夜に打診して一緒にやることに。

f:id:marudice:20200507213524p:plain

絵の仕様は大体決まってたので、こんな感じのモックを速攻でお見せして、ひたすら素材イラストを上げて頂きました。(これは私が描いたヘッタクソな絵ですが、レイヤーで差分も揃えてて、ポーズ・サイズ感の目安になってそのまま仮画像になるので結構大事です)

細かい部分はお任せしているので、例えば

f:id:marudice:20200507214637p:plain 「座って向かい合う市民」という仕様で

f:id:marudice:20200507214654p:plain こう上がってきたりするのは遊び心のある嬉しい想定外でした。 

 

最高のアーティストにお任せすると、自由に描いて頂ければ最高の絵に仕上がるので最高ですね! 

Puzzler.Kさん

f:id:marudice:20200310014011p:plain

月曜に打診して、譜面作成+作曲を担当してもらうことに。

譜面エディタが準備出来るまではヒマなので、参戦したのは木曜夜。

 

Puzzler.Kさんはそもそも自分で遊びを作れる人なので、自作した譜面エディタ(後述)の使い方を説明したら、後は自由に作曲&譜面作成して頂きました。

2,3曲目の譜面担当なので、品質は遊んで頂ければ分かるかと・・。スゴイゾ。

 

最高のプランナーにお任せすると、自由に作って頂ければ最高の遊びが出来るので最高ですね!

 

NoEさん 

NoE

ゲームに合った曲作りが得意そうという理由で、木曜に打診して2曲目の楽曲を作成して頂きました。大正解。

木曜打診土曜締め切りというムチャスケジュールにも関わらずいいものを仕上げて頂いて、お陰様で宣伝する時の動画にも使わせて頂きました。

 

最高のコンポーザーにお任せすると、最高の曲が上がってくるので最高ですね!

 

丸ダイス

f:id:marudice:20200310013738p:plain

プログラム書いたり、残りを気合で作りました。

「さかだちの街」のモバイル版が出たばかりで対応に追われたり、長く閉じこもって人と合わなかったせいか、木曜まではあまり元気がなかった…。追い込みの週末は徹夜したりハイで元気でした。

実装的には、音ゲーなので時間の扱いがとにかく大変でした。deltaTimeの差分時間を禁止してAudioSettings.dspTimeの積分時間で議論すること、拍数で正規化した時間で議論するのがポイントだと思います。

 

リアルタイム譜面エディタ

 木曜?に始めて、金曜にほぼ出来ました。

youtu.be

こんな感じで、プレイ時のキーを押すとノーツが出現して記録される実際に曲を聞きながら編集出来る、リアルタイム譜面エディタを開発機能として作りました。

音ゲーの譜面を考える時に、押した通りに記録してくれたらいいのに…と思っていたので試してみたらいい感じ。

譜面を作り上げるには追加で 消しゴム/巻き戻し/早送り も必要で、ゲームジャム期間の中では結構重い実装でしたが、これのおかげでイテレーション早く譜面を作り込めるようになりました。

とは言っても、音ゲー作るならみんなやってるかも。

 

チュートリアル 

今回作ったゲームは、3曲x3難易度がゲームの本編ですが、その前にこんな具合のチュートリアルをプレイ必須の0曲目として入れました。

www.youtube.com

 プレイ中に譜面やレーンストップが動的に変わったりイレギュラーが多いので、半日弱くらいはかかりました。

 自分のペースで進めるプラットフォーマーやパズルなら、レベルデザインに自然に入れる(=ジャンプするボタンを表示しながら段差を配置)のが定石です。 一方、音ゲーやシューティングはプレイヤーが転んで泣いていてもどんどん先に進んでしまい、プレイヤーとの対話は失敗です。 不要かも…?とも考えたけどやっぱり必要でした。

 チュートリアルがなくても遊べるゲームを作るのが一番ですが、そのために既視感のある体験しか作らないのは個人的にはつまらないです。 新しい初めての体験を作るためにも、プレイヤーとの対話は丁寧にしたい…。

 

広報

恥ずかしいので詳細はナイショですが、バズったツイートは適当な投稿ではないです。 どこを最初の10秒にして動画にするかも、どんな文章を添えて興味を引くかも、考えて書いてます。

自然体に見えて次々にバズツイートを生み出す人って、なんかいますよね。ずるい。

スクショ一撃でゲームが面白そうに見えるイケイケアーティスト各位も羨ましい…。

バズの呼吸を身に付けられないものかと、日々考えています。

 

バズればそれでいいのか?

そんなことはないです。

学習目的以外でのゲームジャム参加は、目的が大事だと思っています。私の場合は、

  1. プロダクトにつなげる価値があるゲームのプロトタイプを作ること
  2. 面白いゲームを作るクリエイターとして認知されること
  3. 苦楽を共にした仲間として他の開発者と仲良くなること
  4. 普段の中長期開発の息抜き(大事!!)

このあたりが目的です。

unity1weekはコンテストでもあるので順位が気になってしまうのですが、深呼吸して考えてみると良い順位を取ることは2.にいくらか寄与するくらいで、それ自体が何かを生むものではないです。

統計なのでコントロール出来ない上に、明確な採点基準がなく印象や流れで決まってしまう危うさを秘めた、フェアな競技とは大分性質が違うものです。

よかった時はもちろん嬉しいですがそのために苦しむのはつらいので、最近は何のためにゲームジャムに参加するのかを言い聞かせながら参加しています。順位はよければラッキーくらいの気持ちで…。

 

今回は1.を企画段階で捨てた(これを展開させるのは無理でしょう…ボコボコに叩かれる…)ので2.がメイン目的でしたが、予想以上に達成出来たので一安心。 広報効果は(え、こんなもんなの…?)でもありましたが…世知辛いのじゃ…。

 

アプリ化やプラットフォーム展開は叩かれそうだけど譜面や曲を増やすくらいなら喜ばれそうなので、やりたい方いたら大歓迎です! ぼくのGitHubにInvite!

 

おしまい。 よかったら遊んでみてね!

 

 

追記:

キズナアイさんがプレイしてくれた!!! 完全にただの記念なんですが、実はファンだったのでぶち上がりました。 人生の実績が解除される音がしました。

 

f:id:marudice:20200519234347p:plain

これは私が作ったゲームをアイちゃんがめっちゃ楽しい!ってプレイしてる画像です。YoutubeTwitterが滅んでもこの事実が残るように投稿された動画から引用させて頂きました。

もう印刷したのではてなブログが滅んでも大丈夫です。

Unityゲームをモバイルリリースする道のり。何に時間がかかったか

こんにちは!丸ダイスです。

先日、Unityで開発したゲームのモバイル版をリリースしました。

https://twitter.com/dice_maru/status/1253657786283520001

前に出した時に苦労した覚えがあって、PCで遊べる完成したゲームでもモバイル版を出すのはとにかく大変というイメージがあります。

…みんなあるよね?あってほしい。

なので、「結局、何にどれだけ時間がかかったか?」をまとめておこうという記事です。

「このゲームをモバイルで出そうかな?」と思った時、やるかどうか、何を削るかの判断にきっと役に立つはず!

※ 実は、正確に言うとiOS版がリリース出来ていません。Appleの審査が通らないからです(というか審査してくれない…)。が、ビルドや公開準備など開発側としてやることは終わってるので、かかる時間の比較の上では不問ということにしています。

画面の再設計して、バーチャルパッドで遊べるようにした(14時間)

結構悩むことに。

元のゲームは1画面1ステージなので、広告やバーチャルパッドを置く「隠れてもいい場所」がない。

f:id:marudice:20200425170204p:plain:w300

なので、元のゲーム画面を縮小する↑こんなのを作りかけたけど、メットボーイを参考にゲーム画面を分割した操作しやすい方法をひらめいて…   f:id:marudice:20200425171042p:plain:w400

こうなった。

https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631?locale=ja-JP:titleを使うのは初めてだったが、やりたいことはシンプルだったので半日でほぼ動くように。

f:id:marudice:20200425170657p:plain:w400

このバーチャルパッド設定が必要だったので、ついでに「設定」「クレジット」「課金」など、オリジナル版にない追加UIは画面レイアウトだけ作った。(設定画面は過去作から使いまわし)   TMProでのSprite Assetを勉強。元はキー操作(R)だったHowToを絵文字でやるように差し替えて終了。

f:id:marudice:20200425171936p:plain:w400

外国語への翻訳(7時間)

いい機会なので、GoogleSpreadSheetのテキストを一発でcsvにして取り込めるようにワークフローを整備しました。

f:id:marudice:20200425172321p:plain

Google翻訳最高!!知らない言語もとりあえず翻訳は出来ます。

今までせいぜい 日本語、英語、中国語 までだったのが、それら含めて(一応)9言語が選べるように!

ひたすらプロジェクト中にKEYを入れて、日本語をSpreadsheetに移す作業(つらい・・)。

まとめて翻訳出来るとはいっても

f:id:marudice:20200425172426p:plain

おす」が「男性」に…。ちがうんや…。

こういう誤翻訳は起こるので、気付いたら直しました。

英語は流石に一通り誤訳がないか読みました。

他は明らかにおかしい中国語に気付くくらいでほぼ読めないのでそのまま。

なんとなく、自動翻訳は

  • 日本語→(中国語、韓国語)
  • 英語→(ヨーロッパ系言語)

としてみたけど、効果があったかは不明。

文字溢れ

f:id:marudice:20200425173050p:plain

和「かいだんづくり( ◜◡◝ )」→ 独「Treppen Herstellung💢」

ドイツ語は・・ドイツ語はな・・・・。

Text Mesh Pro のAuto Sizingを使って文字が縮むようにしました。

1言語しか表示されないとUI上でのRect設定が適当だったりするので、文字が出る要素は一通りチェックする必要があった。

セリフの翻訳

f:id:marudice:20200425173158p:plain

口語なので自動翻訳が難しい。翻訳がダメだった時の萎え度も高いので、本当はネイティブに頼みたいところ。

今話題のDeepL翻訳を試してみました。

f:id:marudice:20200425173245p:plain

あれ?結構いい感じじゃね?知らんけど。 Heh hehがカワイイです。

ちなみに、Google翻訳はこちら

f:id:marudice:20200425173338p:plain

SpreadSheetと違って手動で翻訳しないとダメだけど、デモ1つごとにコピペ1回で済みそうだったのでDeepLで。

面倒なので、英語以外は英語からのGoogle翻訳で済ませる。

セリフの多いゲームではないけど、DeepL翻訳の英文は都度チェックして訳しやすいように日本語を調整したので、数時間はかかった。

f:id:marudice:20200425173508p:plain

翻訳終わり!Heh heh!

プライバシーポリシー表示の組み込み(3.5時間)

f:id:marudice:20200425173952p:plain

こういうヤツ。うっとうしいですよね。実装する方も面倒くさい思っています…。

でも、こうして各アプリが同意を取るおかげで、GoogleさんやAppleさんの利用規約がゆるくなってる・・・はず。

初回のみの言語切替も作りかけたけど、自動判定出来そうだったのでボツに。

広告をゲーム遷移に組み込む(4時間)

AdMobSDKの組み込み

GoogleMobileAdsSDKの最新版unityパッケージをGitHubからもらってくる。 何度かやってるのでほぼ秒。実機でちゃんと出るかはともかく…。

バナー広告の検討

AdMobのサポートページとかを見てうまくやると、Editor上でもバナー広告のサイズ感を再現可能。

それでダミー広告で画面を隠してみて…

f:id:marudice:20200425174353p:plain

諦めました。

パズルゆえ考えてる時間が長いので出したかったが、流石にプレイ体験を損ないすぎる… 遅れてくる企画の敗北です…

全画面広告

シンプルに、パズルをクリアして次のパズルが始まる直前に全画面広告。画面に広告タイマーを表示。

f:id:marudice:20200425174639p:plain

遊ぶ側の広告への憎しみを忘れないために、Editor上でも出来るだけダサいデザインでダミー広告が出るように。

f:id:marudice:20200425174911p:plain

この、このクソ広告め・・・。消えろ!消えろ!!!

Androidで実機ビルドする(6.5時間)

一旦広告だけある状態で実機確認。

他のも組み込んだ後にダメだと、どこまでなら動くか切り分けるのが大変に…。

一度ビルドを走らせると平気で30分とか待たされて、Androidコマンドライン部分(結構最後の方)で失敗…、少し変えてもう一度、また30分…。

NDKがどうだの.jarがgradleでdeprecatedだのがConsoleに吐かれるも、中間処理がいっぱい挟まってるので何が原因か全く分からない。

あぁこれ…最高にモバイル版ビルド作業…って感じ

素直にAndroid ビルドはExport Projectに変えて、Android Studioを使って自分でapkをビルドします。

f:id:marudice:20200425175610p:plain

意味不明なエラーを気合で直して、ようやくデバッグ版の.apkが出来ました。たった2時間半で済んでよかった   その後KeyStore準備とか何やかんやあってrelease版が出来た。

ようやく実機で遊べる状態になるも、広告が表示されない…。

とりあえず放置しました

広報用のトレーラー動画 (7時間)

気が重かったけど、ストアページやGoogle 広告などいろいろ便利なので、作らざるを得ない。

今までトレーラーは同人ゲームまとめ動画向けに 1~3分くらいの尺で作ってたのですが(https://www.youtube.com/watch?v=P2CYM9GtNFEhttps://www.youtube.com/watch?v=7ie43FNA5JA

ストア向けの動画はApp Storeの30秒が一番短い制限です。今回はこのショートPV一本に絞ってサッと作りました。  

www.youtube.com

出来た。 30秒だと必然的に「本題!ドヤドヤ!終わり!」みたいな構成になるけど、その方が要点がまとまった良いPVなのでは…という気もしますね。

日本語版もついでに作って終了。

Android実機で広告が出ない…(12時間)

時間が経てば動くやろ と思っていたけど、待てど暮らせど広告が表示される気配はなし。

PlayServiceResolverって何だ。イチから勉強するか。aarって誰だ。Androidのシミュレーターなら出るのか。ええいNCMBは一回外すぞ。っていうか意味が分からないログが多すぎてどれがクリティカルなのか全然分からない…。

最終的に、未公開アプリのデバッグビルドなのに本番広告が出るリクエストになってしまっていた…? ようで、テスト広告はなんとか実機で見られました。

が、言ってることが分からないログと警告は特に消えず……。

つらさの主な原因は、UnityからAndroid Studioなどの実機用エディタに移ると全てがブラックボックス化されることでしょうか…。

f:id:marudice:20200425180727p:plain

アプリ内課金 (0時間。中止)

これ以上ネイティブプラグインで苦しむのが嫌だったので中止しました。 

(ゲーム内コンテンツに比べ圧倒的に買われない広告削除くらいしか課金要素はないし)

Androidのストア登録(3.5時間)

気合で登録しました。空いてる空欄をひらすら埋める作業…。

f:id:marudice:20200425181148p:plain:w400

広報用のテキストは他のプラットフォームとかでプレスリリースで便利なのでテキストとして保存します。

広告メディエーションの導入(5時間)

AdMob広告を使う際、いろんな業者から競売されるようにすると不思議な力で単価が上がるらしいのでチャレンジしてみました。知らんけど。

Google AdMob のメディエーションガイド を読んで各メディエーションを組み込みます。

AdMob単体の広告に苦労したのに比べると、思ったより組み込みは楽でした。Googleのドキュメントがとても分かりやすいのも良いです。

AppLovin(実装難易度 3)

新しく広告を作るために、一度メディエーションなしでSDKを組み込まないといけない。逆にメディエーションを使うと直接呼び出しが出来なくなる(両方を含めてビルド出来ないため)。

ドキュメントが分かりにくい。テストビルドにいきなり本番っぽい広告が出る。

全体的に作りがモッサリしてるが、コンソールの項目の少なさも含めて庶民派な感じでちょっと可愛い。

UnityAds(実装難易度 1)

Cloudビルドとかとダッシュボードが統合されてて、Unityチョットデキルとハードルが低い。ランタイム実装も何も要らないので大変楽。

Facebook Audience(実装難易度 4)

広告以外にも機能が膨大にあるようで、ブラウザコンソールがめちゃくちゃ複雑。

2つのコンソールをまたいでIDをたくさん作らされてそれぞれを正しく接続しないといけない。AdMobのドキュメントがないと絶対無理。

もちろん当然のようにFacebookのアカウントと関連付けられる(イヤだ…)

ランタイム実装は何も要らないのは楽だが、広告テストに必要なAdvertising Identifierのために結局実機実装が少し必要。

IronSource(実装難易度 2?)

アプリを公開してないとうまく出来ない雰囲気で諦めた。

公開さえしてればなんか簡単そうな雰囲気だった。

Free Aspectに対応(1時間)

カメラの描画範囲はタテにもヨコにも伸ばせなかったので、いわゆる黒帯でお茶を濁しました。さみしいけど致し方なし。

2:1 f:id:marudice:20200425183058p:plain:w400

4:3 f:id:marudice:20200425183120p:plain:w400

AppStoreへのアプリ登録(3.5時間)

基本的には Google Playのコピペなんですが、スクリーンショットや動画の解像度指定が厳しく、さらに複数要求されます。   Photoshopバッチ処理やAfterEffectsの出力をいじって、スクリーンショット11枚(英語8枚+日本語3枚)と動画2本(英語・日本語)を3つの解像度に分裂させて、33枚のスクリーンショットと6本の動画を生成。

(正直、アス比対応を黒帯にしたのはそうしないと各解像度のスクリーンショットを作るのが面倒になるというのも・・)

事前予約・プレスリリースの準備と発信(5時間)

この当たりから想像以上の長期化でしんどくなってメモが適当ですが、時間は正確です。

予約トップ10

予約トップ10でアプリの事前予約を登録して

PR TIMES

PR TIMESでプレスリリースを出す準備をしました。

内容はストア広報の内容と大きく変わりませんが、各サイトのフォーマットに合わせます。

リリース時のオペレーション

実際にリリースしたら、下書き準備したプレスリリースを発射して、予約トップ10のリリースしたぞいボタンを押します。

iOS実機でビルド・実行する(10時間)

(ちなみに、古かったMacのOSを最新に上げるのに5時間くらいかかりましたが、それは入れてません)

Certificate全く分からない

iOSのビルドはCertificate, mobile provision というアプリの証明書のような仕組みを組み込まないとダメです。

調査と組み込みに結構時間がかかった…。

iOS版の広告準備

AdMob広告や各メディエーションの登録と実機確認をiOSで改めてやりました。 2回目なので前よりはマシです。

iOSが審査してもらえない……(10時間)

詳細は伏せますが謎のリジェクトをくらってしまい、そもそもアプリを審査してもらえてないです。

既存のアプリをアップデートしてみたり、1週間ほどいろいろ試しましたが、諦めました。

ぶっちゃけて言うと、今後も含めてiOS版が出るかはApple様次第です。 正直そこそこ不愉快なのですが、どうにも出来ません…。

まとめ

iOSは一旦保留ということにしましたが、4/24金曜日になんとかリリース出来ました

この記事の目的がモバイル版対応の作業コストを正しく見積もりことなので、各項目をカテゴリに分類してみました。

カテゴリ かかった時間
モバイル版仕様の実装 22.5
広報素材の作成 8
多言語対応 7
アプリストア 6
広告SDKを組み込む 10
想定外の問題対処 27
実機ビルド 11.5
広報作業 5

f:id:marudice:20200425203018p:plain

実機ビルドも広い意味では問題対処ですが、モバイルリリースではほぼ必ずぶつかる壁なので別にしました。

合わせると半分近く、約40時間近くを問題対処に使っていました。実機ビルドに慣れてきたり問題が起こらなければこれらはほぼゼロになるはず。

一方、モバイル版仕様や素材作成、翻訳、広報などは制作作業なので、リリース経験が増えてもあまり減らない作業コストです。

評価

お気づきかと思いますが、3月末から期間にして約1ヶ月、オリジナルゲームの開発よりもはるかに時間がかかりました。

集計する前は、「1作品20時間くらいでモバイル対応して、ゲームジャムに参加する度にリリース!」と出来たらいいなと思っていたのですが、現実的には慣れたとしても40時間、2週間くらいはかかりそうな印象です。

ゲームジャム作品で言えば、3割をモバイルリリースに進めるくらいがコスト対効果として適切かなぁ…。

【さかだちの街】モバイル版をリリースしました!

こんにちは!丸ダイスです!

以前の #unity1week で作った「さかだちの街」のモバイル版をリリースしました!

Android: https://play.google.com/store/apps/details?id=com.marudice.sakadachi iOS(申請中:予約受付中): さかだちの街の配信日と事前登録 | 予約トップ10

広報用にいろいろ便利なのでPVも自分で作っちゃいました!

www.youtube.com

コミケにゲーム出す時の動画で慣れてきたのか、 一撃で推しが伝わる内容が割と短時間で作れて満足です!

よかったら遊んでみて下さい!

古いMacBook AirのOSをSierraからMojave経由でCatalinaに上げる

  • UnityアプリのiOS版を出そうにも、iOSビルド用MacのOSが古すぎて最近のUnity+iOSビルドのワークフローが使えなさそうなので、出来るだけ新しいバージョンに上げることに。
  • 普段はWindowsでUnity開発してます

環境

 

まずMojave(10.14系に上げた)

最新はCatalina(10.15系)だった。AppleのOSアップグレードサポートを見ると、SierraからはApp Storeで上げられるとのことだったのでやってみる。

f:id:marudice:20200411143841p:plain

 

この画面。本来はこの画像のように「ダウンロード」を押すと下に残り時間が出るはずが、ダウンロードを押しても下のバーがそもそも出ない。

App Storeのトラブル対応の記事を見て Wifiの確認、DNSを8.8.8.8、再サインイン など試して見るも、効果なし。

 

App StoremacOS Mojave(10.14系. ほぼ最新) のダウンロードを試してみたら、こちらは問題なくすんなり成功。AppleのOSアップグレードサポート によるとMojaveからだとCatalinaは上げやすいらしい。

 

次にCatalina(10.15系)に上げた

Mojave→Catalina へのアップデートは システム環境設定→ソフトウェアアップデートで上げられるそうなのでやってみる。

「今すぐアップグレード」を押すと、8GB程度のダウンロードが始まる。

これはいけそうだと思うも、プログレスバーが一杯になってもアップグレードが始まるわけでもなく、「今すぐアップグレード」がまた押せる状態に戻っている。

押すと平然とダウンロードが再スタート。え、アップグレードしてよ…

 

よく見ると、アップグレード先のOSバージョンの代わりに「(null)」と表示されている。なんか挙動が怪しい・・・。

 

調べると、同じ問題を踏んでいる海外のフォーラムを発見 。

f:id:marudice:20200411145440p:plain

こうなるらしい(上のリンクから転載)。表示も症状もほぼ同じ。さぁどうしたら治るの?

Apple Beta Software Programme に入ってると起こるから一旦抜けた方がいいよ!」とのこと。が、私のMacでは左の「Apple Beta~」の表示はなし。入ってない模様。詰んだ…。

 

ここでふと、App StoremacOS Catalina のページを開いてみる。

f:id:marudice:20200411150755p:plain

「入手」を押すが、先程の「ソフトウェアアップデート」が開くだけ。それじゃダメなんだよ~。と思っていたのですが…

 

f:id:marudice:20200411151048p:plain

なぜか正常にCatalinaのインストール画面が開きました。

「ソフトウェアアップデート」でOSのデータダウンロード後に開くはずだった画面遷移が、App Store経由だとなぜか開いた?理由は分かりません。

 

結局これらをやったことになります。

  • 「ソフトウェアアップデート」から普通にアップグレードしようとする(途中で止まる)
  • App Store経由で再度アップグレード

 

この後は画面に従ってボタンを押したり待ったりして、無事アップグレード出来ました。他事やりながらだけど、2,3日かかってしまいました。