1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゲーム開発の「中身」を知るための学習ログ② 敵を動かして当たるようにしたけど、何が起きているか分からなかった話

1
Posted at

敵を動かして当たるようにしたけど、何が起きているか分からなかった話

はじめに

前回の記事では、
Unityで初めてプロジェクトを作って、

  • オブジェクトを置いた
  • スクリプトを付けた
  • でも正直よく分からなかった

というところまでを書きました。

今回はその続きとして、
敵を追加して、動かして、プレイヤーを追跡させて、
当たるようにするまでにやったことと、
その時に感じた疑問や不安
を記録します。

この時点でも、
仕組みの理解はほとんどできていません。


敵を追加してみようと思った理由

プレイヤーっぽいものを置いて動かしてみたあと、

これだけだと、
何がゲームっぽいのか分からないな

と思い、
次は 敵っぽいものを作ってみよう と考えました。

  • 敵がいて
  • 近づいてきて
  • 当たる

これができれば、
少しは「ゲームらしく」なる気がしたからです。


敵オブジェクトを置いてみる

まずは、

  • 新しく Sphere を置く
  • これを「敵」ということにする

という、かなり雑な始め方でした。

この時点では、

  • 敵クラスとは何か
  • プレイヤーと敵の違い
  • オブジェクトを分ける意味

といったことは、
ほとんど意識していません

「見た目が違えば、役割も違うはず」
くらいの感覚です。


敵を追跡させてみる

次に、

  • 敵がプレイヤーの位置を取得して
  • そちらに向かって動く

という処理を書いてみました。

コード自体は、

  • Transform を使う
  • 座標を参照する
  • Move する

といった説明を見ながら、
写経に近い形で実装しました。

動いたときは、

あ、ちゃんと追いかけてきてる

と思いましたが、同時に、

  • この処理はいつ動いているのか
  • どのタイミングで計算されているのか
  • 毎フレームなのか、たまになのか

が、まったく分かっていませんでした。


当たるようにしてみる

次は、

  • 敵とプレイヤーが
  • 触れたら反応する

という処理を入れてみました。

Collider や Trigger を使うと
当たった判定が取れる、
という説明を見て実装しましたが、

  • なぜ当たり判定が取れるのか
  • どこでチェックされているのか
  • 自分のコードなのか、Unity側なのか

という点は、
正直よく分からないまま でした。


動いたけど、不安が増えた

ここまでで、

  • 敵は動く
  • 追いかけてくる
  • 当たると反応する

という状態にはなりました。

ただ、正直な感想は、

動いているけど、
何がどこで動いているのか分からない

という不安でした。

特に気になったのは、

  • 敵が1体ならいいけど、増えたらどうなる?
  • この追跡処理、ずっと動いてる?
  • 当たり判定って、毎フレーム見てる?

といったことです。


この時点で分からなかったこと

整理すると、この段階で分からなかったのは、

  • 敵の処理はどこで管理されているのか
  • 各スクリプトは、いつ実行されているのか
  • Unityがやっている処理と、自分が書いた処理の境界
  • 処理が増えたら、何が問題になるのか

でした。

どれも、

「名前は聞いたことがあるけど、
実感はまったくない」

という状態です。


いまの自分なりの雑な理解

この時点での理解を、
かなり雑にまとめると、

  • Unityが裏で何かをずっと回している
  • その中で、自分のスクリプトも動いている
  • でも、どれくらい動いているかは分からない

という感じです。

正しいかどうかは、
まだ判断できません。


次にやってみたいこと

敵を動かしてみたことで、

  • 「処理が増えた気がする」
  • 「でも、どこを見ればいいか分からない」

という状態になりました。

次は、

  • ゲームっぽく敵とぶつかるとHPが減るようにしたい
  • 敵のタイプを作って、速度とダメージを変えてみたい
  • ずっと追われないように工夫したい

を調べてみたいと思っています。


おわりに

今回は、

  • 敵を追加した
  • 追跡させた
  • 当たるようにした
  • でも、仕組みは分からなかった

という段階の記録でした。

ただ、

動かせたけど、理解できていない

という状態を
自分で自覚できたのは、
一歩前進だと思っています。

引き続き、
このレベル感のまま学習ログを書いていきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?