当ブログにお越しいただき ありがとうございます。ひさよろ です。

私は上記のような夢を持ち、会社員ながら完全未経験の『ゲーム制作』と『コーチング』を掛け合わせた活動を行っています。
4作目(2025年3作目)として『ネコのヒゲを抜くな!』というゲームを公開しました。ここでは、それをどのように作ったのか、苦労や工夫したことを紹介いたします(こうやってぐブログに書くことで私自身の備忘録がわりにも)。
どんなゲームかというと、ネコのヒゲを抜かないように毛羽立った毛布の毛を、、、
くだらな過ぎて説明するのが恥ずかしくなってきました。↓の記事からぜひプレイしてみてください。
スマホだと毛を掴めないのでPCでお願いいたします。
なぜこの題材を選んだのか?
2025年の目標として、小さいゲームを5本公開すること!を挙げました。なので、短時間で遊べる単純なゲームのネタはないかなぁと暇なときに考えています。その時に、おそらく以下のような思考を巡らせたのでしょう(あまり覚えていませんが)。
- ネコが好きだからネコのゲームにしたいな
- ネコのヒゲってよく見ると面白いな
- でも、抜いたらどうなるのかな
- ものすごく怒るんだろうな
- じゃぁどうやったら抜くチャンスがあるかな
- スヤスヤと眠っているときかな
- ただヒゲを抜くだけでは単純すぎるな
- ギャンブル要素も入れたいな
- ヒゲに似た毛が他にもあって、その中で1本だけネコのヒゲにしよう
- ネコが眠っているなら毛布にくるまっているかな
- 毛羽立った毛布の上にネコが眠っていることにしよう
- そのネコは一本だけとても長いヒゲを持っていて、それが毛布の毛に似ていることにしよう
くだらない発想ですがそんなもんで構いません。とにかくゲームをつくることが大事!
企画段階のアイデア
前作が見切り発車的に作り始めてワケわかめになったので、今作ではUnityを起動する前に企画書的なもの書き始めました。上述した題材に対して、タイトルと目的(プレイヤーにどうなってほしいか)、ゲームの概要を文章で書き、それを実現するためのゲーム画面のイメージ図を描きます。
最初の手書き企画書はひどい物です。。。絵がうまい人がうらやましい。

さすがにこの絵ではゲームとしての魅力が皆無なので、無料で入手できるイラストを集め、パワポ上でそれっぽくゲーム画面の構成をまとめてみました。なんかゲームっぽくなりそうだな、と(初心者の根拠のない)自信が湧いてきます。

ゲーム画面の構成が固まったので、あとはゲーム開始時のタイトル画面とクリア、ゲームオーバーした時の画面があればゲームとしてまとまるな。ということを考えます。タイトルシーンでは、モード選択も欲しいところです。

ゲーム性を向上させるために、プレイヤーを邪魔するオブジェクトが欲しいです。部屋で眠るネコを起こそうとする自然な邪魔者を考えます。とりあえず、ハエとか、大きな音を出す物かなぁ。

という感じで企画書をつくり、Unityでゲームをつくっている時に迷子にならないようにしました。実際のところは迷子になりましたし、お邪魔オブジェクトなんぞは実装するに至らずですが。でもゲーム制作をしている感じは めちゃくちゃしてます(個人的満足感)。
ということで、以下では実際に公開したゲームの中身の紹介に移ります。
ゲームプロジェクトの構成
まずはUnityのプロジェクト構成を簡単に紹介します。
Sceneについて

企画書の通り、4つのシーンを作りました。ひとつずつ紹介します。
TitleScene
企画段階では、複数人プレイ(くじ引き的なモード)を考えましたが、ひとまずは基本となる一人プレイモードのシステムまでをつくることにしました。

GameScene
ゲームのメインとなるシーンです。ここに色々な機能が詰まっています。

ClearScene
見事クリアできた人が見ることのできるシーンです。簡素なので、見たらもっと嬉しくなる演出をしたかったなぁ。

GameOverScene
プレイヤーが何度も見ることになるはずのシーンです。コツを掴めばクリアできるので、どうかあきらめないでください。

スプライトについて
フリーイラストを使わせていただいたり、ChatGPTに生成させたり、Powerpoint使って何とかして自作してみたり。自分で絵が描けたらどんなにいいかと思いつつ、自分には絵のセンスがないので無理することはないかな。もっと上等なゲームを作れるようになったら外注してみたい。

スクリプトについて
ゲーム制作を始めてまだ一年足らず。コーディングスキルは初心者です。なので、ChatGPTに手伝ってもらいながらスクリプトを書いています。ゲームのコンセプトを考えたものの、本当に作れるのかは分からない状態で、Unityを触り始めました。機能を一つ一つ分解してChatGPTにコードを教えてもらい、それをスクリプトに書きこむ、それを繰り返していく。継ぎはぎコードで生じたエラーの修正に奮闘しながら、なんとかゲームが完成。unityroomで公開。そしてこのブログを書き始めて気が付きます。

このゲームの中身ってどうなってんの?マジでワケわかめ…(なんか、前作でも同じことになっていたような)
そして、↓の構成図を作りました。スクリプトを読み解き、無駄なスクリプトを他と統合したり、Static関数を学んで取り入れたり。本業と家族との時間の合間に少しずつ時間を捻出し、2週間以上かかりました。
おかげで、スクリプト構成の全体像を描くスキルは少し上がったと思います。

苦労・工夫したこと
簡単なゲームですが、行き詰まって悩むことがたくさんありました。その苦労と工夫したことの一部を紹介します。解決した時は喜びもひとしおです。
- 毛は楕円上に生成・配置するようにした
- 毛をひっぱる動作は妥協し演出でごまかした
毛は楕円上に生成・配置するようにした
このゲームの特徴は毛布の毛です。そして、ゲームシステムを考えるにあたり最初にぶつかった壁が毛をどのように生成・配置するか。簡単ですがご説明いたします。
まず、毛はPrefabにして1つのスプライトだけです。これをランダム感を出して配置したかったので、最終的には、↓の図のように作りました。

この毛を毛布のスプライト上に配置するために、見えない楕円の線を定義してそこの上に毛の配置点をランダムで決めるようにしました。配置した後は毛を傾けたり左右反転させたりして、バラバラ感を出します。

簡単に説明しましたが、ここにたどり着くまでに思考に思考を重ね、ChatGPTとの対話にも時間がかかりました。。。
毛をひっぱる動作は妥協し演出でごまかした
毛を「ひっぱる」動作は、最初に考えていた状態と比べて70点くらいの出来です。毛の先端をつまんで、上下左右にグリグリ動かしながら引き伸ばせるようにしたかった。しかし、スクリプトを書き始めて私には難しすぎると気が付きました…。
上手くいかなかったという状態が↓の動画のような動き。どこをひっぱっているのか分からない…。
なので、ひっぱられるのは一方向だけにしました。ひっぱって抜くまでの動作は下図の通りです。

ポイントというか、自分への言い聞かせとしては
「みんな毛をひっぱろうとマウスを動かす方向は横ではなくて上の方だろう(一方向に)」
「毛がプツっと抜けるような感じを出せば それっぽくなるだろう」
「毛が抜けたら徐々に透明になって消えるようにすればカッコもつくだろう」
要は完璧を追い求めず、ほどほどに妥協しました。
どんな感じにひっぱられるのか?ぜひプレイして確認してみてください!
いつかアップデートしたいこと
このゲームは公開をしましたが、基本システムだけを実装したテスト版のような状態です。ただ毛を抜くだけのつまらんゲームです。なので以下の3点は必ず盛り込みたい。近いうちに。できるだけ早く。
- お邪魔オブジェクトの追加(最低3つ)
- スコア計算式の改善
- みんなであそぶモードの追加
お邪魔オジェクトは企画段階のアイデアのところで書いたようなものですね。
スコア計算式はとても単純(抜いた本数×残時間)なので、いまいちスコア更新したい!というモチベーションが湧かないなぁと作った私自身ですら思います。

みんなであそぶモードは、スコアを競うのではなく、『黒ひげ危機一髪』的な感じのものを考えています。
というわけで
4作目『ネコのヒゲを抜くな!』の中身を紹介いたしました。このブログ記事を書く時間って、ゲーム作っている時と同じくらいかかってないか?と思うくらい時間がかかってしまいましたが、書いてみると自分の頭の中が整理され、ゲーム制作スキルが高まったなと感じます。この先、大きな作品に挑戦するためにも、土台作りを着実に行っていきます。仕事や家族との時間も確保しなければならないので、慌てず焦らずじっくりと。。。
というわけで最後にいつもの、
みんなだんばれ!!

頑なに張るの「がんばる」ではなく、
弾むように張るの「だんばる」で、
一緒に人生を楽しみませんか?
最後までご覧になってくださったあなた、ぜひぜひX(旧Twitter)で交流しましょう!ゲーム制作をしていない方もウェルカムです。人生や働くことを楽しむために、日々くだらないことをつぶやいています。

以上です。
コメント