コーディングはガッツリと時間の確保を【スケジュール力が大事】

コーディングはガッツリと時間の確保を【スケジュール力が大事】

時間の使い方というのはゲーム開発者にとってとても大切な部分。時間は限られたリソースですから、それをどの作業に割り振るかによって未来が変わってきます。

リソースの分配といえばRPGのようでもありますね。

自分というキャラクターを最大限育成するために効率の良い狩場を見つけることで、最高の結果を出すイメージです。

細切れ時間については以下のページで触れました。使える時間に応じて作業を切り替えることでより良い効果を得られます。

このページでは長い時間を確保した時にはコーディングをするメリットについて紹介します。長い時間を確保したからコーディングをするのか、コーディングをしたいから自分でスケジュールを確保するのか、このあたりは個人のやりやすい方法で認識してもらえば良いと思います。

普段お仕事でスケジュール調整もガンガンしているでしょうから、その力を使って時間を確保するのもおすすめです。

 

 

コーディングのためにまとまった時間が欲しい

効率の面でいうと、コーディングをするときはある程度まとまった時間を確保しておきたいところです。

細切れ時間はアイディア出し、まとまった時間はコーディング、のように持っている時間に応じて作業を切り替えられるとスムーズに開発を進めていけます。

コーディングで長い時間を取りたい理由ですが、コーディングの場合は作業時間に応じて徐々に効率が上がっていくためです。

というのも、コーディングしている時には書かれているコードを頭の中に読み込んで、それぞれのクラス間の繋がりやメソッド間の影響などを考えながらコーディングを進めていきます。

設計書にしたがってコーディングするにしても、設計をコードの形に変換する作業も脳内で行っています。いわば脳内のメモリにコードをロードして、ロードした情報を使って新しいコードを生成しているのです。

長時間コーディングしていると、自然と書こうとしているメソッドの姿が浮かんでくることがありますが、あれは脳内にある情報が自動的に組み合わされているんです。これも脳内のメモリ(脳科学的にはワーキングメモリ)に情報がロードされているからなんです。

 

短い時間だとメモリがフラッシュされる

「メモリがフラッシュされる」とはPC用語でメモリの内容をストレージに書き込むこと。人間の場合はワーキングメモリから長期記憶に書き込み……してくれればいいのですが、短期記憶の情報は必ずしも長期記憶に保存されるわけではありません。

何度も何度も同じ情報に触れることで、脳がその情報を重要だと認識することでやっと長期記憶に記憶されます。

割り込みなどで作業が中断されると、そこで脳内メモリがフラッシュ……いやむしろリセットされてしまうんですね。なぜなら、脳内メモリに割り込んできた情報を記憶しておかなければならないからです。

そうすると、再度作業を開始した時に「あれ……どこまでやったっけ……?」なんてまた脳内のメモリに1からロードしていくようになってしまうんです。うまく長期記憶に移行してくれていればすぐに思い出せますが、大抵の場合はほとんど覚えていないので、またコードを読み直して情報を脳内メモリにロードしていく必要があります。

作業が途切れるたびにこれをやっていくのは結構もったいないことです。

 

影響範囲も関係する

コードはなるべくシンプルに保っておきたいところですが、ゲームの規模が大きくなるにしたがってどうしても複雑になっていきます。ある場所を修正したら他の部分も一緒に修正しないといけない、なんてこともよくあります。

短い時間ではその影響範囲全てに対して変更する時間がない、あるいは時間がないことでそこまで頭が回らないこともあるので、なるべく長時間使えるようにしておきたいところです。

修正した結果コンパイルエラーを拾ってくれるようなタイプの変更、例えば

  • 変数名の変更
  • メソッド名の変更
  • メソッドの引数の変更

などは分かりやすいです。

しかし、コンパイルエラーにならないタイプの変更だと修正を忘れてしまうことがあります。例えばメソッドを呼び出す順番を変えたなんて場合は、コンパイルエラーは起こらないけど実行時にオブジェクトの参照がnullになる、なんてことはよくあります。

コードを修正した後は必ず動かして確かめる時間が必要になるので、その時間も含めて確保しておきたいところです。

「コーディング」というとコードを書いている時間のような印象を受けますが、テストしている時間も含まれていることを忘れてはいけません。……ってこのページを読んでいるあなたには釈迦に説法な気もしますが。

 

スケジュールが大事

なので、コーディングの作業についてはガッツリと時間を取ることをおすすめします。平日の仕事終わりにやるなら1時間くらい、休日なら2,3時間くらいは取れるとベストです。

やり始めると時間が足りないくらいどんどん進められると思うので、まとまった時間を取ることを意識してみてください。

平日は仕事、土日は友達と遊ぶ、なんて感じだとなかなかコーディングの時間を確保するのは難しいかもしれません。特に平日は帰れる時間が決まっていればいいのですが、日によって20時に帰れたり、23時に帰ったりとバラバラになることもあります。

こうした場合は、起きるのがちょっと大変ですが、仕事前の朝に時間を確保するのがおすすめです。外的要因に左右されずに決まった時間を確保することができますからね。前の会社にいた時に資格勉強をしていた期間は朝5時くらいに起きて出発して、仕事場の近くのカフェで朝ごはんを食べながら勉強する生活をしていました。

PCでコーディングとなると会社に自分のPCを持っていくのは問題があるでしょうから、おうちで作業することになると思います。この場合でも、朝出かける準備を終わらせた後だったら割と余裕を持って作業できるので時間の確保もしやすいと思います。

早く起きるのは3日くらい、あるいは1週間くらいまでがんばってみればだんだんと慣れてきます。仕事に遅刻する可能性もぐんと減らせるので、精神的にも優雅にいられるかもしれません(笑)

平日の夜は細切れ時間としてアイディアを出し入れする時間にして、そのインプットをもとに寝ている間に潜在意識に情報を処理してもらい、翌日すっきりした頭で作業を行う、という黄金サイクルを作るのもおすすめです。

 

まとめ

時間を制するものはゲーム開発を制す、という観点で今回はコーディングには長い時間を確保することのメリットを紹介しました。

使える時間に応じて作業を切り替えられるようにしておくと、常に自分のやりたいことを前進させていくことができるので気持ちも楽になると思います。

もしよかったら短い時間の使い方についてもご覧くださいな。

 

 

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!