GameAWeek4-2 STGを作ろう【途中経過】
前回の【企画編】から1週間が経ちました
現在の進捗および反省点、今後の進捗についてまとめていきたいと思います。
今回のテーマはこちら
・継承?インターフェース??
・コメントは強力な学習方法
・知識が先か、実践が先か
の3本でお送りします。
①継承?インターフェース??
「あれ?敵ごとに移動パターン変更したい場合はどうしたら??」
企画編の段階で完全に失念していた、継承
スーパークラスとサブクラスがあり、階層的に機能をうんたらかんたら・・・
先の見通しの甘さが、ここでいかんなく発揮されました
どうしたらいいかいろいろ調べていたところ、インターフェースの存在にたどり着きました。
結論、インターフェースの実装を採用
・記述や管理が容易
・機能をコンポーネントとして後付け、差し替えができる
という点が非常に魅力的でした
これにより、今あるEnemyクラスのMove関数だけを別で後付けすれば
敵によって異なる挙動の実装が完了!
継承・・・とは???
今回は継承すっとばしましたが、重要な機能であることは間違いないので
インターフェースと合わせて深堀していきたいところ
②コメントの重要性
お前は、今まで食ったパンの枚数を覚えているのか・・・?
先達のアドバイスにこんなものがありました
「1行1コメント、何を意味しているか書く」
「必ずわからない点が出てくるから、そこを調べる」
ぱっと見てわかる程度に書くよう意識してコメントをつけることで
効果としては以下の点がありました
・「何を書いたか自分で分からない」が無くなった
・引用したスクリプトの機能から、学習につながった
・自分の能力に見合わない引用をしなくなった
朝起きて、目が覚めて、VScode開くと、昨日何書いたんだっけ??
これが無くなりました
自分で書いたから、大丈夫だろ というのは過信でした
分からなくなる時は、ほんとにわからなくなる
また、コメントをつけることでその文が何を意味しているか
考えながら適切なコメントをつけることでスクリプトの理解につながりました
そしてこれが一番大きい
コメントがつけられない機能は、使うのを避ける
コメントがつけられない = 理解できていない
この状態でそのスクリプトを使うと、
・それが原因で問題が起きた時に対処できない
・拡張しようとすると、さらに理解できなくなる
という問題がおきました
コメントをつけられない箇所は課題として、別で学習するのが 吉
分からないを視覚化し、課題として提示してくれる点は非常に便利
活用しない手はありません!
③知識が先か、実践が先か
GameAWeekを進めるにつれて、次々とわからないことがでてきます
一度手をとめて、基礎学習をし直したほうがいいのではと何度も思います
ただ、それをすると高確率で挫折します
人間、目的がないと学習が続きません
たとえゲームを作るという目的があっても
【何に使うかわからない知識】を学習することは大抵が苦痛です
例をあげると(個人差あり)
ゲームの攻略サイトの情報はすぐに頭に入るのに
歴史の授業で習う年表はなかなか頭に入らない
使う場面が明確にイメージできているかどうか
それが学習のモチベーションと効率を大きく左右すると思っています
学校教育では、各個人がどういった道に進むか分からないため
知識を体系的に教えていますが、進む道がわかっているなら
必要な部分から学習するのが良い
みんな大好き!走りながら考える!!(時と場合による・・)
この記事が気に入ったらサポートをしてみませんか?