PC ゲーム「Corona Attack」をリリースしました(その1)
どうも、AETA(イータ)です。
長引くコロナウイルスによる自粛ムードの中、皆様いかがお過ごしでしょうか?
卒業式にイベントの中止やオリンピックの延期、そして外出の自粛…一体いつになったら沈静化するのか不安ですよねー。
今はピークが過ぎ去るのをじっと待つしかないと思います。
こんなときこそ我々オタクのインドア属性が存分に発揮できるときではないかと!
さて、ここのブログでお知らせする内容は基本的に音楽に関することがほとんどなのですが、今回はいつもと違います。
なんと3Dシューティングゲームを作っちゃいました!
タイトルは「Corona Attack」にしました。(ひねり要素ゼロ)
ゲームの概要とダウンロードはこちらから。今なら体験版で10ステージまでプレイ可能です!
外出自粛要請のこの時期、人類を救うためにお家でコロナウイルスと戦おう!
※現時点では Windows のみです。Mac 持ってないのでゴメンナサイ…
…と、あたかもこの時期にフォーカスしたゲーム制作が目的だったかのように思われるかもしれませんが、実は最初からゲームを作ろうとしていたわけではないのです。
曲の動画を作るのにこれまでのような編集やエフェクトに頼った方法での表現に限界を感じておりまして、今後は素材から作っていく必要があるなぁと。
一から素材をモデリングで制作するのは難しいとしても、立体素材を自由に動かすようなテクニックを学びたいと思い、Unity というゲームエンジンのプラットフォームを触り始めました。
ネットで情報を調べて学んでいく方法もあったのですが、正しい情報を元に、我流ではなくきちんと概念を掴んで体系的に学びたいなと思い、こちらを参考書として購入しました。
タイトルって大事だなと思わせる一冊です。
このタイトルに釣られて買った人、かなりいるのでは?
ただ、本書の「神」の意味は神レベルで Unity に精通出来るようになるという意味ではなく、冒頭部で導入に使用されているゲーム制作に必要な3Dマップなどの創造主となることを指しています。
とにかく厚さがかなりあって結構いいお値段です。
そして内容のほうですが、うーん…書いてある中身のとっつきやすさはピカイチなんですが、最初の3Dマップを作るセクション、「プログラムを書かなくても3Dマップが作れるよ!」っていう説明がまどろっこしくて、アタクシのように「早くプログラム書いてぐりぐり動かしたいんじゃー!」というせっかちな人には向いてないかも。
アタクシの場合は似たような操作を UE4 (Unreal Engine) で過去に学んでいたのでこのセクションがほぼ不要だったのでした。
加えて、書かれている内容がやや古いバージョンのためか、実際の画面と微妙に違っており混乱する場面も。
結局、読んで参考にした部分は全体の 1/4 程度…
今思えばちょっと高い買い物でしたねw
でも、Unity でどんな事ができるのか全体を俯瞰して掴むのには良書だと思います。
あと引っかかったのが、本で紹介されていた Standard Assets(標準の素材集)。
こいつを使えばお手軽に素材を利用してプログラムが作れるということで、古いバージョンだと Unity をインストールする際に自動で一緒に入るらしいのですが、新しいバージョンでは散々探しても見つからず、ようやく手動でインストールが必要ってことが分かったり。
で、手動で Standard Assets をインストールしても、プログラムに組み込むと今度はエラーが出る始末…
どうも最新の Unity のバージョンだと Standard Assets との相性が良くないらしく、一つ前のバージョンの Unity をインストールすることに…
とまぁ一事が万事こんな調子で、やる気の出鼻を「これでもか!」というくらいボッキリとくじかれますw
すっかりふてくされてしまい、気分転換に Processing でこんなの作ってました。
絵師さんが依頼されたイラストで煮詰まったときに、つい落書きを書いてしまう気持ちが初めて分かったような気がしますw
で、気持ちを新たに再開して見様見真似で最初に作ったのがこんなプログラム。
ただ机と椅子が床に向かって落ちるだけなんですが、最初はこれでも一苦労でした。
ちなみに机と椅子のアセットは、出張りんごとワゴンさんのこちらからダウンロードさせていただきました。ありがとうございます!
さて、何が一体苦労したかといいますと、普通に机と椅子を上から落とすと床をすっぽ抜けてしまうんですね…
Unity で配置した床には物理演算に必要な属性が与えられているのですが、一般的に作成されたモデルデータを読み込んだ場合、そちらは自分で設定しなければいけないのです。
つまり表面の厚さすら存在しないハリボテのような状態なのですね。
がーん!
面倒臭がって机を大雑把な直方体として衝突範囲を設定しちゃうと、椅子を机の下に配置したときに、物理演算でばいーんと弾き飛ばされちゃうんですよね。
リアルな動きを物理演算で表現してもらうには、割と細かく細分化して衝突範囲を設定する必要があります。
で、机と椅子が1組じゃ寂しいので上からどんどん降らせちゃえ!ってことで。
で、出来上がった感想のツイートがこちらになります。
寄り道しながらも触り始めてからここまでで約二週間。
少しずつ欲が出てきた AETA にさらなる試練が襲いかかるのでした!
こんな感じで次回に続きます。(多分)
Comments