桐生映司(仮)開発日記

開発の日常を書いていきます

mrubyでの30日開発日記(22日目)(GWのまとめ編)

GWなにをしていたか

  • ゲームのために必要な数学を学んでいた。

自分のスペック

数学:高校1年前半で止まっている。学校のコースが文系で、数学を一年で終わらせるコースだった。なおかつ、数学は数学Iをやった程度だったと思う。(Aをやった記憶がない)大学時代に克服しようとするも挫折しまくる。

なんでしたのか?

 ゲームを作るにあたってさまざまなことが必要だと実感したからだ。もともと3Dゲームを作るつもりでいた。仮面ライダーを描画するのとそれをストーリーにするのにドット絵だけだと表現が制限されるために3Dにした。もちろん、僕に作家性というのがあれば2Dでもできただろうが、僕には作家性というのは乏しくやるなら徹底的にやろうと思い3Dにした。
 だが、3Dをするにあたって避けては通れない数学があった。おおまかに2つ。微分積分線形代数だ。線形代数は3Dを描画するときにどこに点を置いて画面に映すのかに使い、微分積分はゲーム上で重力だったり風の動きだったりと使う。
 仮面ライダーWを映す時は、スカーフをなびかせたいし低スペックのものでもきれいに映した。そんな欲望からやろうと決意した。

障害はなんだったのか。

 もちろん、7日間であって(途中旅行が入った)3つと障害となるものがあった。

  • 時間
  • 目標
  • モチベーションの低下

 この2つが主な障害となった。
 まず時間だが、これが一番頭を悩ませた。最初に取り組んだのた、大学への数学を解いて高校数学をどうにかするとということだった。もともと、高校数学で止まっているということもあり、これをやらなければやばいと思った。最初は「7日もあるし大丈夫だろう!」と思ったが中盤あたりに「やっぱり時間が足りない!」ということがわかった。
 そりゃあそうで、僕が思うに数学は理解に重きを置く学問でありそれを7日でやるのは無理があった。これによって目標が達成できないのではないのか?という懸念が出てくる。
 目標はそれに達成できないのではないのか?という焦燥感である。もちろん、やっていくうちにできないのではないのか?と思いスケジュールとかをちゃんと計算し直すようになる。目標が結構重しになることがあるということを忘れていた。
 すると、モチベーションの低下が起こる。どういうことかというと、目標がたどり着けないし、これで本当にゲーム製作に近づいているのか?ということを問題視する。すると、じょじょにモチベーションが下がっていく。現実逃避する。アニメを見る。時間がすぎる。これの繰り返しになりそうになる。

どうやってモチベーションを持ち直した?

 ここからはモチベーションをどう持ち直したか?を書いていきます。
 精神論で片付けたのではなく、あくまでどうやって目標を達成するかの手段を変えたりしてどうやってゲームを作る事につなげるのか、を重点的に考えた。

  • ゲーム作りに必要な分野を抽出する
  • 集中するために何をする必要がないのかを考える
  • やり方を見直す。

 主にこの3つをやった。
 まず最初の項目だが、ゲームで必要な分野を抽出するというのは数学の分野は多岐にあるので、とにかく集中をするためにどの分野が必要かを調べた。調べた結果、使う数学の分野は

の6つだった。これを優先順位で並べ替えると

1.微分積分 2.線形代数 3.以下同列

ということになりました。優先順位はとりあえず最低限必要な物の順番で並べた。
 これが分かったら、自動的にやらなくていいことが分かり、この順番で学んでいく。
 そして、やり方を変えた。一番変えたのは、「時間を分割する」ことと、「復習する」ことを付け加えた。
 時間を分割するのは、ぶっ通しで集中しないようにする。やろうと思えば一時的ならぶっ通しでできるがこれが続くとけっこう体力的にも気力的にも持たない。メタルギアでいうと気力ゲージと体力ゲージをごっそり持って行かれて、次の日リトライしているときにはマックスの半分しか回復していない。これが続けば、4日くらいで体力がなくなる。だから、ぶっ通しではなく25分やって休憩5分を数セットしてから大きく休むという「ポモドーロ・テクニック」を採用した。これによって、体力の回復がしやすくなった。
 復習をするのは、覚えやすくするのと理解を深めるためにもやる。理解を深めないといざという時に役に立たないし、もう一度やると新しい発見がある。ユダヤの格言でも「学んだことを復習するのは、覚えるためではない。何回も復習するうちに、新しい発見があるからだ。」とあったがあながち間違いではなかった。