走れ！跳べ！のウラバナシ！  ~Unity初心者が声で操作するゲームを作ってみたハナシとホンネ~

# 声で操作するゲーム、つくってみた。
### ↓こちらです↓
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">声で操作する爽快アクションゲーム「走れ！跳べ！ペキンダックくん」は403教室で絶賛稼働中！<br>他のゲームやミキサーもよろしくね<a href="https://twitter.com/hashtag/%E6%98%8E%E6%B2%BBFMS?src=hash&amp;ref_src=twsrc%5Etfw">#明治FMS</a> <a href="https://t.co/5CnZsfOqCp">pic.twitter.com/5CnZsfOqCp</a></p>&mdash; けんてぃー？ (@kenty_fms) <a href="https://twitter.com/kenty_fms/status/1163980513993883648?ref_src=twsrc%5Etfw">August 21, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

 動画がわかりづらかったら申し訳ないですが、「走れ！跳べ！ペキンダックくん」(以下ペキンダックくん)は、このようにひたすら鳥が走っていて、声に反応して飛ばせてより遠くをめざそう！って感じのゲームです。音声系のゼミに所属しており、オープンキャンパスで音に関わるコンテンツを展示するということで、**Unity**でこのゲームを作りました。ついでに学祭で所属サークルの場所借りて展示しました。タイトルは締切に追われて限界になっている中で偶然産まれました(笑)。

当時のUnity歴は1ヶ月くらいです。[Unityの教科書](https://www.sbcr.jp/product/4815602543/)の2Dのサンプルをひと通り作り終えた感じです。物わかりの悪い私がこれを参考にしながらゲームがいちおう完成できたので、参考書としておすすめできます！

## ペキンダックくんについて
この動画では非常に伝わりづらいですが、これは**クソゲー**です。「声を出す」だけなら簡単じゃないかと思ったそこの君、とりあえずプレイしてくれ！(まだ未公開です。気が向いたら公開しますと半年くらい言い続けています:sweat_smile:) 声で操作するのだがその調整が非常にシビアで、声を出しすぎるとすぐに上に飛んでいっちゃってゲームオーバーになってしまいます。実際に開始5秒以内でゲームオーバーになってしまうお客さんが多くいました。**声を出すだけ**なのに思うように動かず、悔しくで何度か挑戦する人が数人いました。やったね！

#### ざっくりルール
- トゲに触るとゲームオーバー
- 壁に当たるとゲームオーバー(天井はOK)
- 下に落ちるとゲームオーバー
- **高く跳びすぎるとゲームオーバー**
- ごくまれに着地失敗してゲームオーバー

なぜ高く~を太字にしたかはいずれわかります。最後のは仕様で、決してバグなどではございません。バグじゃないです。(大事なことなので以下略)


# 以下、ウラバナシ
## ペキンダックくんでたまたま生まれた面白さ
ところで、6~7年前に**「LINE ウィンドランナー」**が流行りましたよね？それを声で操作すれば気持ちいいものができる！…と思っていました。なにせ初心者なものでゲームで使われている物理演算や音声処理などは知らず、教科書から得た知見とgoogle先生による天啓でなんとかしました。音処理の際に参考にした記事は[コチラ](https://qiita.com/ELIXIR/items/ff503d48c24092c05843)です。
ちなみにウィンドランナーは、「ウィンドランナー:Re」として今年リメイクされたそうな。

コンテンツ制作をしていて、本来目指していた面白さとは全く違った面白さが生まれることってありませんか？ペキンダックくんがまさにこんな感じです。ペキンダックくんの**こうなるはずじゃなかった面白ポイント**を以下にまとめます。

- プレイヤーに与えるのは爽快感ではなく**ストレス**
- かなり**精神力**が求められる

### ゲームプレイ時の「沼」
ゲームをしていて勝てそうだけど勝てない、できそうだけどできないと感じることってありますよね？そんな時ってイライラしてしまってなかなかゲームをやめられないじゃないですか。ペキンダックくんがまさにそれです。我々は声を出すって簡単なことだと思っているんですが、如何せん声判定がシビア。それに後述しますがメンタルが影響しやすいゲームになってしまったので、これらにより悪循環。見事に**沼**にハマってしまいましたね。このゲームをプレイしてくださった方は口を揃えてこう言います。

「これはクソゲーだ。」

ありがとうございます！

### メンタルの話
んで、精神力の話。ゲームに集中している時に驚いてしまって、「あああ！！」などと叫んでしまったことのある方も多いでしょう。このゲームでそんなこと起ころうものなら即死です。みんな見事にこれにハマってくれて、泣きの「もう一回」。まいどあり。というのも、このゲームはスピードが速いらしく、練習時間では思い通りだったものの突然現れたトラップに驚く、思った以上に飛んで驚く、と言った具合にびっくりして声が出てしまいゲームオーバーになってしまう。そして、張り詰めた精神状態の中で突然聞こえる「チーン！(ゲームオーバーのおと)」。これにはプレイヤーの緊張が吹っ切れて爆笑。なるほど、これはかなりメンタルが求められるなと。

ちなみに数人のグループで訪れる客の際、ガヤが盛り上がってゲームオーバーということが何度かありました。これが原因で揉めてしまったなどは起こらなかったようで安心。

なお、当初は練習時間が存在しませんでしたが、オーキャン初日の午前中に「これはないとあかん」と思い昼休みを犠牲にしてその日の午後に急遽実装しました。

### ステージのウラバナシ
ペキンダックくんにはゴールがありません。理論上は無限にプレイ可能です。できるもんならやってみろ、です。実は制作段階において、ここが一番つまづいた、というか筆が重かったところです。パターン決めてループさせることは決まっていたものの、床やトゲをどう配置しようかずっと悩んでいました。最初から起伏や穴多めでにするつもりでした。しかし、そうこうしているうちにオーキャン2日前。これはなんとかしないとマズい。まあ、最初の最初は平坦にして優しくしよう(それでも序盤でのゲームオーバーは多かった)、てなっていくうちにそこそこいい感じに仕上がって。

そこで問題がまた一つ。2周目以降どうしよう。予定だと7パターンほど作ってランダムで出す予定だったが、完成しているのは1パターンのみ。ここで思いついた苦肉の策。「2周目はクリアされないように鬼畜にして3周目以降も2周目のパターンを使い回そう」作戦、決行。結果、1周目を完走できたお客様は全くといっていいほどいなかったため、杞憂に終わったのは良かったが製作者としては少し悲しいところです。ちなみに2周目は製作者でもクリアできません！


#あとがき
所属サークルの Advent Calendar に参加するということで、初めてこのような形で記事を書いてみました。読みづらかったり、ふざけていたりとお見苦しかったでしょうが、こうして最後まで読んでいただけて本当にありがたいです。初心者が色々偉そうに自分(の制作物)語りしていましたが、書いた内容がどこかで誰かのお役に立てたのであれば幸いです。なんでや、プログラミング関係無いやろな記事でごめんなさい。
###最後の最後まで読んでいただき、本当にありがとうございました！
P.S. ひと段落したらペキンダックくんをunityroomなどで共有します。