見出し画像

苦手なことや才能のなさは、進む道を制限しない。諦めずに成長し続けることがゲーム開発では大切なこと。

ある分野、例えばUnityを使ったゲーム開発が不得意だった人が訓練を初めて、継続し続けた結果、得意だった周りの人たちをも追い抜いていったというエピソードは世の中に沢山ある。いわゆる1万時間の法則だ。

人の成長は波がある
伸び悩む時期は誰もが苦しいが必ず道は開かれる
打開には新しい挑戦も時には必要となる

「1万時間の法則」は心理学者のアンダース・エリクソンによって1993年の論文でこの概念を提唱した。この法則は、優れたパフォーマンスや専門的な能力を獲得するには、才能や得意分野であったかは制約や絶対条件になり得ず、誰でも継続して長期の集中的な訓練を積めばプロフェッショナル(上級者)の熟練度に到達できるという理論である。

【追記】
1万時間の法則は今ほど教材や学習ツールがない90年代の話です。
当時は日本人なら海外の情報を得て学べる人は限られていましたしChromeブラウザやWindows95すら存在しない時代です。

時代は大きく変わりました。
今は機械翻訳精度も上がり言語の壁はグッと下がり、色々な人が知見を執筆しています。 なのであくまで1万時間は「昔の目安」で今はどんどん効率よくなってるはずです。 長期トレーニングし続けてる事が重要ではありますが現代のテクノロジーをフル活用して合理的時短も忘れないようにしましょう。

例えばプログラム学習はVSCodeの拡張機能でGitHub有償プランのcopilot導入がオススメです。本や動画学習の何倍もの速度と精度でお手本コードからエラーメッセージの説明、ベストプラクティスまでChat形式で学習できます。本や動画はAIより間違いが多い上に訂正されません。

筆者はUnity関連書籍10冊以上の内容と有名な動画学習10本程度をAIと比較し、全てにおいてAIの方が良い学習成果を出すことを一年かけて検証済みです。

2024/4/15 20:35
筆者追記

50時間の法則

初心者の90%は50時間内に訓練を諦めて脱落すると言われる。

6百時間の法則

1日2時間訓練すると約10ヶ月で一人前(初心者脱出)になれる。

1千時間の法則

1日2時間訓練すると約1年半で1千時間となり、中級者相当の熟練度に誰でもなれる。

1万時間の法則

1日8時間訓練すると約3年半で1万時間となり、上級者相当の熟練度になれる。旅客機の操縦士も1万時間は一つのベテラン指標にされる。

才能や得意分野に関係なく、誰でも継続的な訓練を積むことでプロに到達できる

6百時間〜1万時間といった規模で、継続して訓練する時は、才能や得意分野であったかは熟練度にあまり影響しない。つまり、熟練していく時に必要なのは、他人より得意分野であったか、才能があったか、など個性に依存する資質よりも①継続力、②トレーニングの質、③訓練時間の総数ということである。

つまり、訓練初期の勢いや得意不得意であったかなどはあくまで初心者同士での優劣に過ぎないのだ。

これは、才能を感じたり得意だったから初めてみたという人には少し面白くない話ではある。しかし、落胆する必要はない。少なくとも不利に作用する事は無いからだ。

そして、スタートダッシュで苦労している人は、今もどかしい思いをしているからといって落胆する必要はない。淡々と課題を一つ一つ克服していけばいいだけなのだ。克服し切れない課題に直面していたら、視点を変えたり、課題の定義が大き過ぎないか見直してみよう。朝起きた時に課題クリアまでの道筋が今日中に見えてない課題は、もっと細かく細分化し直す必要がある。

1万時間の法則への反論「下手から脱出するには20時間もあれば十分」

「1万時間の法則」には反論もある。
有名なのは20時間の法則だ。新しいことを身につけるには20時間もあれば大抵は十分というものだ。サクッと絵を描いたり、楽器を弾いたりできるレベルは1万時間も必要ない、という話である。

https://youtu.be/5MgBikgcWnY?feature=shared

20時間は、1日1時間弱の練習なら1ヶ月、毎日3時間集中するなら1週間で到達できる。学校の授業や企業の研修でも20時間前後で履修完了とするカリキュラムも実際多々ある。

極める、ではなく、自分に多様性を身に付けるという観点では確かに20時間かけて新しいことに挑戦するのは十分に効果的で価値がある取り組みだろう。

ただし、あくまで20時間の法則は、長期で継続的に訓練する事を不要と述べてる話ではない点に注意したい。例え20時間でも十分な価値があるという話に過ぎない。

1万時間は「絶対」か?

1万時間はあまりに有名になり、多くの賛否両論が起きた。その一つに、1万時間訓練せずとも熟練できるはずだとか、あまりに過大すぎる時間設定だ、というものである。

これについては、1万時間は絶対的な数値ではなく目安と言えるだろう。なぜなら、世の中には1万時間程度の訓練ではまだまだ訓練不足と言われるような世界も実際あるからだ。義務教育でさえ、小学校1年〜中学3年まで1年あたり800時間〜1000時間以上の学習をするのである。高校や大学まで含めると1万時間どころではない。

時短という話では、飛び級で半分以下の時間で大学まで行く学生もいるが、飛び級制度が必ずしもプラスにならないこともある。時間短縮が絶対にプラスという保証はないのだから、焦らず確実に一歩一歩を進む事が大切だ。

※千葉大学の飛び級の例は学校側のシステム不備も大きい

結局1万時間がマジックナンバーなのかとか、絶対なのか固執する必要はない。大事なのは長期で継続して成長し続ける事だ。長期という言葉だけでは曖昧なので例えば1万時間、という目安になっているだけである。

効果的な訓練を積むのに必要なこと

  1. 人と比べてではなく、昨日の自分と比べて成長を確認する。そのためにノートでも何でもいいので「達成した事」だけを記録する習慣をつける。何月何日、自分は何ができたか、正確に一覧表で振り返れるようにしておく事は根拠のある自信となり挫折しにくくなる。

  2. 承認のためにいちいち他人に「成果を細かく何度も見せる」必要はない。これをできたら、沢山いいね!もらえるかな?などと思うのも余計な考え(時間の浪費)だ。それは学習ではなく承認欲求のために迷走しており、自分自身の本当に必要な訓練を行なっていない、ただ自分の精神不安を誤魔化そうとしている場合が多い。勿論、わざわざ孤独になる必要はない。

  3. できもしないタスクをToDoに書かない。アイデア、思いつきとToDoをごちゃ混ぜにしない。1日の間に次々と今日中のタスクを追加しない。朝やると決めた事以外の割り込みを他人からも自分からも原則として許可しない。そうすることで、翌日何をするか慎重になり自然と計画性が身につく。

  4. アイデアがいっぱい浮かぶ場合、アイデアだけのノートを用意する。決してToDoや達成リストと混ぜない。アイデアは基本的に「理解力が深まると大した発想では無かった」という結論に至ることが多い。無知で無学、不勉強な時ほどアイデアは浮かびやすい。怖いもの知らずだからだ。ただし、1%は本当に将来価値のある原石であるので書き溜めておく価値はある。

  5. 退屈だとか苦痛と感じ始めたら、シンプルに運動不足か、プログラムやゲーム開発の類なら「自動化や環境を変化すべき」状況である。自動化は一生あなたの人生を豊かにする。10回同じ作業をしたら人間がそもそもやるべき作業なのか疑おう。バッチ処理やテストの自動化、テストデータの自動生成など知らなければこれを機会に学習してみよう。

  6. レベルアップに応じて道具や環境はアップデートしよう。熟練していくと初心者向けツールはわかりやすさを重視して効率を犠牲にしていると気づくはずだ。例えばUnityはバッチモードで複数sceneを同時ビルドできるし、多くの開発系ソフトはGUIではなくコマンドラインで操作する方が処理が早い。プログラムやデータ入力をする時、マウスでの操作はタイムロスだ。もし何年経っても自分のPCの操作方法やノートやメモの方法が初心者の頃と変わってないと気づいたなら、アップデートするタイミングだ。より優れた上級者向け効率的手法を学習してみよう。そうする事で、結果的にあらゆる学習スピード、訓練スピードが時短され劇的に作業を加速できる。

  7. 無駄な広告や情報ノイズは排除しよう。例えばXは拡張機能を入れれば多くの情報ノイズを沈黙できる。必要なことに時間を注力するために、かける必要のない部分に労力を割かないよう「選択と集中」をしよう

※1〜7の幾つかは具体的手法を過去記事で掲載しているので本記事末尾にマガジンとしてまとめて掲載している。

ゲーム開発における効果的な訓練

どんな分野であれ、何か高みを目指すなら、一度や二度といった片手で数えられる程度の努力や挑戦では足りない。継続的に日々、自分の限界に挑戦して成長し続ける取り組みが必要だ。

ゲーム開発でいうと初心者向け本や、耳触りのいい動画では、「簡単なミニゲームをひたすら作ればいいですよ♪」がある。筆者も大昔はこの助言に従い何十本も作った事があるが何の意味も無かった。誰でも作れる、手順に従えば作れる。この経験が価値があるのは全くの初心者だけ、それも初回だけだ。簡単なものを何回作っても上達しない。

筆者の場合には、ゲームセンターで稼働しているようなゲームの完成度を目標に徹底的に作り込んで、ゲーム起動画面で当時の一般人が、え?これ作ったの?と思わず手を出してくれるレベルまで数年かけて作り上げた時、初めて多くの知見を得たし、確かな手ごたえがあった。だから、入門向けミニゲームやチュートリアルは一回作れば十分だ。すぐ卒業しよう。

ゲーム開発は総合芸術あるいは総合格闘技のようなハードな世界である。あらゆる分野を勉強し、組み合わせ、ベストを尽くさないと、本音での良いレビューは貰えない。

高い山を目指すというのなら、近所のコンビニに歩いていったことで訓練を今日もした、などと満足するような情けない怠け者になってはいけない。結局、心身を鍛えて、長期トレーニングし続けていくしかないのだ。

それも1万時間という長期トレーニングを目安に。それでも、やってやる!という覚悟があればきっと道は開ける。昔と違い今はAIやSNSなどのコミュニティ、公式サイトなど支援はいくらでもあるからだ。オープンソースで学習や有償のEラーニングを利用するのも手だ。

簡単に到達できない高みに登った時の達成感、成功体験は、人生観を変える。逆境に強くなれるし、他の人が驚くような強い意志決定力を発揮できるようになる。浅はかな嘘や詐欺にも気付きやすくなるし、本当にやり抜ける人がどういう人か分かっていくので、人間関係や価値観も変わる。1万時間の訓練を正しく行えば、周りの言動に翻弄れない強い意志を得られる。自信がない人生観より楽しい事が増える。

長い訓練は困難だ。だが不可能ではない。続けていれば必ず到達する道である。続ければ必ず到達できる。才能や得意不得意は関係ない。必要なのは諦めないことだ。

ゲーム開発に必要なセルフケア

「効果的な訓練を積むために」過去に投稿した関連記事を再掲します。
困難な道へ挑戦していく人のヒントや参考になれば幸いです。


いただいたサポートは活動費に使わせていただきます