こんにちは、Takahiko(@takahiko1969)です。
ここ数日、本当に寒いですね。
室内から出たくなくなる今日この頃ですが、皆さまいかがお過ごしでしょうか。
かなり遅くなってしまいましたが、
2018/11/19 - 2018/11/25で開催されたUnity1週間ゲームジャムに参加したときの振り返りしてみようと思います。
ちなみに、私が作ったゲームはこれです。
「初心者がこんな風に試行錯誤しながらゲームを作ったよ!」ってことを、これからUnityを勉強する人たちのため、自分の備忘録、そして自戒を込めて書いておきます。
ただし、今回は(今回も....ですかね)かなり長文になってしまうと思いますんで、よければお付き合い頂けたら嬉しいです。
【リリースまでの流れ】
これまでも、いくつかお手伝いという形でUnityでの開発をさせてもらったことはあったのですが、書籍のサンプルゲームの改造でもなく、完全にオリジナルでゲームを作ったのはこの時が初めてでした。
普段お世話になっている方から、「期限内にテーマに沿って作ることは絶対早めに経験しておいたほうがいいよ」とのアドバイスをもらいまして、
「え?今の自分にできるん?正直コードもそんなに書けないよ?」とちょっとビビりながらも参加を決めました。
参加を決めた後は、すぐに周りの人やSNSを使って「参加します!」宣言をして自分の退路を断ちました(白目)
まず、今回のお題「10」に合せてどんなゲームを作るかアイデア出しをしました。
某マインドマップ風に書き出してみました。
アイデア出しで困ったときはとりあえずホワイトボードに書き出してみることにしてます。
色々考えた結果、10秒間で自動生成される10枚のガラスをグレネード銃で撃ちまくって割った枚数を競うという「ガラスの十枚」という某有名曲のタイトルのようなFPSゲームを作ろうと決めました。(ここが間違い)
銃とガラスに関してはストアに良いアセットがあったのでそれをそのまま流用することにしました。「お?これは割とすぐ出来るやつでは?」とか思ってました。
(そう思っていた時期が私にもありました)
ここで問題発生、なんと、テストプレイしてみるとガラスが割れるエフェクトが2枚目以降でエラーになってしまうのです。(2枚目以降は割れずにヒビが入るだけ)
きっとアセットに頼って自分でコードを殆ど書かないで済まそうとしたからなのでしょう。
アセットに同梱されていたコードを見ても正直何が何だか訳が分からなくて改造のしようがありませんでした。
詳しい人に聞いたところ、ガラスが割れる演出を用意するのはかなり大変らしいということが判明しました。この話を聞いた結果、この企画は一旦お蔵入りにすることを秒で決断しました。
アイデアはよかったと思うんです。(今でもそう思ってます。)
ただ、企画段階で致命的に足りなかった視点がありました。
「今の自分の力量と期限に照らし合せて企画を設定する」という視点です。
そもそも、これまでもFPS的なゲームを作ったことが無いのに、
「始めてやることを1週間で、(しかも初心者が)実装までこぎ付けるのはかなりきついよ?」
って事をちゃんと考慮に入れるべきでした。
ここまでで、残り5日くらいだったと思います。
焦っていても冷静でも、時間は過ぎていくので、いったん忘れて改めてアイデア出しからもう一度やりました。
アイデア出しで使ったホワイトボードの画像、これまで勉強した教本や教材、それらを全部引っ張り出してにらめっこしながら考えました。
「今の自分が出来るレベルでお題に沿ってどんな面白いゲームが作れるのか?」
ほぼ丸一日悩んだ結果、「10秒の時間制限でキーボードかマウスのクリックした回数を競う」という内容のゲームを作ることにしました。内容としてはかなり単純ですが、「今の自分にできるレベル」ということを考慮するとここに落ち着きました。
企画が決まったので、過去の教材やサンプルゲームを参考に、カウントダウンのシステム、スコアと制限時間のUIを実装していきました。
この時点で既に残り4日とかになっていたので、なりふり構っていられませんでした。「ソースコードが綺麗じゃなくても良いからとりあえず動けばいいんだよ!」と半ば勢いでひたすらコーディングとUIの調整をしまくりました。
頑張った結果、一応ゲームとしては動くようになりました。
でも、正直いって全く面白くなかったんですよ。
だって、制限時間内でひたすらマウスやキーボードを叩きまくるだけのゲーム、
(SEとかも無い状況)だったので。
この時点で残り3日になっていました。
「なんとかエフェクトや演出で面白くしないと!」
焦燥感漂う私に突然侍が降りてきました。
(元ネタをご存知の方もいるかもしれませんが、アイデアを閃くことを「侍が降りてきた!」と表現してます。なんとなく好きなんです、この表現。」
「そうだ!ごく一部の世代に有名な「キーボードを叫びながら破壊する例の男」になったら面白いんじゃないか!」
アイデアが出てからは早かったです、フリー素材サイトを探しまくりBGMとSE、そして画像を手に入れました。
後はそれを実装するだけです。「よしこれで完成だ!」(そう思っていた時期が...ry)
そうです、Unity1週間ゲームジャムの他の参加者の方も苦労していたであろうWebGLのビルドです!
なんと、直前まで試していなかったんですよ。
ビルドしようとしたらPCは3回くらい落ちるわ、ようやくビルド出来たと思ったら細かく設定していたUIの配置が全てズレしまっているわで散々でした。(この時点で締め切り時間超過)
「これは期限に間に合ったな!」と思っていた私の予想は脆くも崩れ去ってしまいました。
急いでUIの位置を調整して、もう一度ビルドしました。
結局UnityRoomにリリース出来たのは、11/26 am2:17でした(約7時間遅れ)
【まとめ】
遅れているので、そんなに大したことは言えないのですが、今回の教訓です。
・WebGLに限らず、作品を製作途中で構わないから1回ビルドしてみること。
・創りたいゲーム=今の自分が作れるゲームではない事も多い、自分の力量も考えて構想を練ること。
・初心者が作ったゲームでも、Unity1週間ゲームジャムにはコメントや優しい言葉をかけてくれる人がいる!
ということで、ちょっとUnityに興味があるそこのあなた!ぜひ参加してみませんか?
どんな形であれ、期限が決められている中で一つのテーマに沿って作品を作ることは絶対に自信につながります。とにかく楽しんでやりましょう。それが一番だと思うのです。
まず最初は、この前の記事でお伝えした「Unity初心者向け講座」をやるのも良いと思います。
長文に最後までお付き合いThank youです。
それでは、また。
ブログ村のランキングに参加してみました。
よかったら、クリックお願いします。