Unityって10回言ってごらん

ど素人がunityでゲーム製作する悪戦苦闘話

底なし沼にハマる

バグ修正

Unity1weekに参加した「SPACE10」というシューティングゲーム

致命的なバグがあった。

自機が何かにぶつかった時に後ろに永遠と下がってしまうこと。

ぶつかっても大丈夫な時もあるしダメな時もある。

でも、これじゃ遊ぶのに「なんじゃこりゃ、遊ぶ以前!」ってなるよねー。

まぁ、わかっていて公開したのは、どなたか親切な方のアドバイスを期待してたわけで。

Unity1weekの全ゲームを実況している方がいて、どれどれって実況見に行ったら、なんと正にその瞬間「SPACE10」を実況しようとしているではないか!

なんという偶然、いや運命!

でね、やっぱり後進しちゃったわけですよ。

実況の方から『あー、つまんな。さっさと切り上げよう』っていう気持ちがヒシヒシと伝わってきて、ホント申し訳ない。

でも、収穫ありました!

ひとつは、自機にトリガーつけたらいいってこと。

二つ目は、弾が平面で分かりずらいのでスフィアにしたほうがいいってこと。

ありがとうございます!

とりあえずこのまま公開しておくのは忍びないので非公開にして修正作業。

最初は自機にトリガーつけてOnTriggerEnterにしてたんだけど、なんかうまくいかなかったのでトリガーやめたんだよね。

反発しないようなマテリアルもつけて。

再度トリガーにしてみたらうまくいった!

なんでー?って感じだけど、いろんな兼ね合いがあるから今回はそれがうまくいったんだろうな。

致命的ばバグは修正出来た!

 

いろいろ手直しと追加

・敵のUFOからの攻撃がわかりにくいのでビームにするものの、いまいちだったので(ビームがかっこよかったんだけど思ったような動きをしてくれない)弾にするが、やはりわかりずらいので、ミサイルにした。大きいのでわかりやすい。

・UFOからの攻撃を少な目にした。

・通常弾がUFOやパネルに当たったとわかるようなエフェクトを追加した。

・ゲームクリアやゲームオーバー時の効果音を変更。

・ゲームクリア時のおまけにメッセージを追加。

・敵や隕石やパネルを破壊した時のスコアを変更した。

・パネルを破壊した枚数によってボーナスポイントをつけるようにした。

 

難問あらわる!

大きなバグも修正したから再公開しようかなーって思ってたけど、テストプレイしながら、「あれ?」ってなった。

通常弾でパネルを攻撃するとヒットしているはずの弾がすり抜けていってしまう時がある。

OnTriggerEnterが反応したりしなかったりなのだ。

弾のスピードを落としたら反応が増えてきたけど、それでもすり抜ける時がある。

いろいろ試してみたけど、改善しない。

 

そしてFPSが思ったより低い!

たいそうなことしてないのに、30切るときもあって。

プロファイラーとかいうのがあって、でも使い方も見方もいまいちわからなくって。

GPUの負荷が高そうっていうのはわかった。

どうもUFOが重いみたいで、ほぼインポートしたままのを使っていたので、削れるところは削ってみた。

UFOが登場するタイミングでのSetPass Callsっていうのが約半分になった。それでもまだ重い。

 

通常段が当たってるのに当たっているってカウントされないのって、「なんだよー、当たってるのに!」ってなるよね…

まだ、しばらく再公開できそうもない。

年内には目途つけたいなぁ(弱気)