【発想の転換】めんどくさいと思ったら成長チャンス【ゲーム開発】
- 2020.11.07
- ゲーム開発
実現したらゲームが良くなる機能であっても、作業自体がめんどくさいなーと思うことはあります。めんどくさいと感じることはあまり大っぴらに言うことではありませんが、多くの人が感じているんじゃないかと思います。そのめんどくささは実は成長のチャンスかもしれません。
あなたのゲームをいち早く完成させるための研究所
実現したらゲームが良くなる機能であっても、作業自体がめんどくさいなーと思うことはあります。めんどくさいと感じることはあまり大っぴらに言うことではありませんが、多くの人が感じているんじゃないかと思います。そのめんどくささは実は成長のチャンスかもしれません。
長く触れているもの、何度も触れているものに愛着を持ってしまうのは人間のサガ。特に自分が心血を注いで作っている作品についてはどうしても愛着を持ってしまいます。自分の作品を好きになるのは大事なことですが、同時に困ったことも起こり得ます。
「このゲームを遊んだユーザーさんがどんな点で楽しむのか」といった観点から、あなたのゲームを一言で表してみましょう。自分でそれを実現できているかの指標にもなります。
Dictionaryの中身についてforeachを使おうとして「あれ? 型の指定どうするの?」と詰まった個人的な経験から、Dictionaryについてまとめてみました。キーと値のペアであるKeyValuePairというまんまなクラスがあるのでこれを使うべし。
UnityでC#を使い始めて一番最初にぶつかった壁がジェネリックだった記憶があります。きちんと理解すると心強い味方になりますし、プログラミングの負担が減るのでぜひマスターしたい機能です。特にジェネリックリストは一度使い始めると手放せなくなりますからね。
個人的にはListを使うことが多いのですが、Listと配列の違いを意識してどちらを使うのか決めるのが大切です。ポイントは「要素数を後から変えるか」「パフォーマンスを重視するか」ですね。複数の値をまとめて扱いたいケースは多いので、是非ともマスターしたいところ。
C#で使っている型名のintやfloatは実は本名じゃなくてエイリアス(別名)なんです。これを知っていること自体は「ふーん」で終わるのですが、C#が使っているフレームワークである.NET Frameworkにも目を向けてみることでより情報を得やすくなるかもしれません。
横文字が並んでいてアレですが、アイディアを出すためのブレインストーミングはたとえひとりでもやっておいて損はありません。たくさんのアイディアがあるからこそ、いいアイディアを厳選することができますからね。
C#でコードを書いた結果、重い処理になっているなーと気になったらProfiler(プロファイラー)を使ってみましょう。CPUの処理時間だったり、メモリの使用量だったりをグラフ化して表示してくれます。パフォーマンス調整もしやすくなるのでぜひ。
ブラックボックステストやホワイトボックステストについて紹介しています。ユーザーが楽しくゲームを遊べるように、ゲームのシステム部分についてはテストを重ねて安定した動作になるようにしたいところ。テスト手法について知ることは、テストの質を上げてゲームの安定性を向上させることにもつながります。
IDEやコードエディタに搭載されているデバッガーの機能を使ってステップ実行していくことでゲームのシステムの中身が把握しやすくなります。この記事ではブレークポイントを設定してその時点での変数の中身を確認する方法を紹介しています。
適切にログを出力するようにしておくと開発者の助けになります。動いているゲームの中身は、そのままの形だと人間が把握するのは至難の技。そこで人間にも分かりやすいログの形で処理内容を出力することで、システムの中で何が起きているのかを知ることができます。
フローチャートは処理の流れを図として分かりやすく表現したもので、これに沿ってコーディングを行うことで作業を進めやすくなります。コーディングは設計段階が大切なので、フローチャートを使って処理の流れを整理しておくことでスムーズにコーディングを行うことができます。
リリース日を宣言するのって、かなり勇気がいるんですよね。「もし間に合わなかったら……」と不安になりますし。でもこの不安を逆手にとって自分を行動させることで、ゲームの完成までいち早く近づくことができるんです。
Boltでは処理の流れを作っていくフローと、状態を管理するステートがあります。キャラクターやゲームの進行フェーズに合わせてステートを切り替えていくと管理しやすいので、Boltを使うならステートを扱えるようにすると便利です。
「やってみたいけど、どうしようかなー」と悩んで行動までに時間がかかるのはよくあることなので気に病むこともないと思います。ただ、その悩みを抱えたまま生活するのは中々辛いものがあるので、やってみるか、それとも自分には合わないから辞めるのか、挑戦してから自分の体験をもとに決めると悩みを減らせるかもしれません。
普段のお仕事でPDCAサイクルの考え方を使ってる方なら、ゲーム開発にもこれを導入することで作ったゲームの改善のプロセスを作ることができます。他の分野にある便利なものはどんどん取り入れちゃうのもおすすめですよ。
UnityではBoltというビジュアルスクリプティングツールを無料で使うことができます。ゲーム開発にビジュアルスクリプティングを導入するメリットとデメリットを頭に入れてから使ってみると、ツールの力を引き出してより効率的なゲーム開発を行うことができます。
素材からこだわってゲームを作るのか、それとも他の人が作ってくれた素材を使ってゲーム開発自体に習熟するのか、この辺りはスタンスにもよりますが、どちらか一方のスキルを磨いてからもう一方を高めるようにするとスムーズに、そして楽しくゲーム開発が進められます。
ある機能を実装する際、見つけたライブラリを上手く使おうとすることが目的になってしまうこともあります。ライブラリ自体をくまなく調査することに時間を割いてしまって手が止まることもあるので、そもそもこの機能は必要なのか、別の方法で実現できないのか、といった形で視野を広げて柔軟に対応していきましょう。