私は熱心な武道学生ですが、自分では専門家とは言えません。私は自分自身を永遠の白帯であり、知識を求め続けていると考えたいと思っています。 私はボクシング、グレコローマン レスリング、ドイツとイタリアのロングソード、スコットランドのバックホールド、柔術 (伝統的およびブラジルの両方)、サバーテ、柔道など、さまざまな武道について基本的な知識は持っていますが、私の専門知識は全体的に限られています。しかし、さまざまな武道を超えた概念の 1 つが「型」です。 最も単純な形では、型は個別に練習されるあらかじめ決められた一連の動きです。型は、技術を磨き、バランスを高め、精神的鍛錬を促進するように設計されています。基本的な動きの記憶と反復を促進します。 ほとんどの現代武道の体系が成文化された 19 世紀以降の教育学の進歩を考慮して、指導方法としての型の有効性については議論が続いています。 ただし、この記事の範囲ではその議論については掘り下げません。代わりに、型の概念を使用して、 またはその他のゲーム エンジンで実行できる一連の演習を紹介し、エンジンの理解を深め、 スキルを磨くことを目指しています。 Unity ゲーム開発 型と同様に、私が提案するエクササイズはトレーニングと模倣のためのものであり、仕事の経験に代わることはできません。好みのワークスタイルに合わせて調整し、形を整える必要があります。 一方で、ゲーム開発は、金曜日や休日前にプロジェクトをリリースしないなどのいくつかの実践的なガイドラインを除いて、ルールがほとんどない無政府状態の領域であることを覚えておくことが重要です。 早速、型そのものについて詳しく見ていきましょう。 Kata 1: 狡猾なドラゴンはジャンク宮殿で笑う - ワークショップ ワークショップは、私たちが探求する最初の型として機能します。基本的に、ワークショップは、新しいコンセプトを実験、テストし、最近リリースされた機能を探索できる永遠の Unity プロジェクトです。 ワークショップ内でできることの例をいくつか示します。 概念実証の舞台として利用してください。新しいゲームのアイデアがあり、名前やデザインなど、コアとなるゲームプレイ (主に焦点を当てるべき) 以外のことを気にせずに、すぐにプロトタイプを作成したい場合、ワークショップは理想的な環境を提供します。 よく使用されるコードのリポジトリとして利用します。コードの特定の部分は必然的に再利用されますが、毎回 Web 検索に頼る必要はないかもしれません。たとえば、私のワークショップには、ボタン、ゲーム状態、一時停止メニュー、およびすべてのゲームに必要なその他のさまざまな重要な要素を処理するためのカスタム コード スニペットがあります。これらのスニペットにより時間と労力が節約され、新しいゲームごとにカスタム コードを記述する必要がなくなります。 オンライン ソースからコードをコピーする場合に役立つこのアプローチのヒントは、コピーしたコードを確実に理解し、プロジェクトのスタイルと標準に準拠するようにコードを書き直し、その出所を示すコメントを追加することです。コード作成者が実装を更新したり、特定のソリューションを使用するコンテキストを忘れたりする可能性がありますが、コメントによって必要な情報が得られます。 これを利用して、新しい機能を学習、実験、テストします。 Workshop プロジェクトを最新バージョンに更新しておくことで (LTS バージョン用に別のブランチを維持できます)、まったく新しいプロジェクトを作成したり、さらに悪いことに、進行中のプロジェクトにそれらを適合させようとしたりする負担を負うことなく、新機能を探索できます。 たとえば、2023 年 6 月の時点で、Unity は新しい AI ツールのセットをリリースしました。これらの機能を利用するためにまったく新しいプロジェクトを作成する代わりに、ワークショップ内の既存のシーンを再利用して実験できます。たとえば、私の単純なポン実装は、AI 生成のテクスチャの恩恵を受ける可能性があります。 形 2: 狡猾なキツネは月のために踊る - クローン ゲームをプレイしていて、「どうやってそれを実現したんだろう?」と疑問に思ったことはありませんか?今がそれを知るチャンスです。独自のゲーム開発のアイデアが不足している場合、またはプロジェクトの合間に、最近プレイしたゲームを選択し、そのゲームからメカニズム、エフェクト、または機能を選択して、クローンを作成してみます。 この演習を行うときは、次の点に留意してください。 クローン作成について言及するとき、私は正確なレプリカを指しているのではなく、選択した要素の本質を捉えていることを意味しています。 たとえば、私は最近、『Spider-Man: Miles Morales』の移動システムに魅了されています。ただし、このような複雑な 3D アクション ゲームの動作システム全体を複製しようとすると、非常に困難になります。その代わりに、私はウェブスイングなど、私を最も魅了する側面を複製することに焦点を当てました。これを実現するには、スパイダーマンの完全なモデルや詳細な建物は必要ありません。単純な立方体がプレーヤーのボタンの押下に応答し、プレーヤー キャラクターがスイングして前進するロープを作成するだけで、元のゲームで経験した動きの自由を再現するのに十分です。 自分自身に厳密な制限時間を設定します。ゲーム全体を作成しているのではなく、既存の要素から 1 つの要素を複製していることに注意してください。フルタイムの学生や現役の開発者にとって十分な時間を、週末 3 回に相当する約 6 営業日割り当てます。 ワークショップを活用する絶好の機会です。クローン作成プロジェクトを保存するのに理想的なスペースを提供します。特定のコンセプトをさらに追求することにした場合は、放棄された Git プロジェクトのリストを調べなくても、そのコンセプトを独自のプロジェクトに簡単にコピーできます。 ポートフォリオに少し物足りなさを感じる場合、この演習はポートフォリオを強化する優れた方法です。クローン要素を取得し、メニュー、一時停止機能、BGM、目標を説明するイントロダクションを追加して磨きをかけます。このような完成品は、素晴らしいが未完成のゲームのアイデアが詰まった文書よりもはるかに採用担当者に好印象を与えるでしょう。 クローン作成を実行するたびに、簡単な事後分析を実施します。うまくいったことを振り返り、弱点を特定し、将来の改善点を検討し、次に進める価値のある貴重な教訓を抽出します。 型 3: 神は愚か者を愛する - 道化 時々、道化にふけることもあります。技術的に興味深いアイデア、または学びたい、または再検討したいいくつかの技術コンポーネントを組み合わせたアイデアを選択しますが、商業的な可能性や実用的な価値はありません。 道化の目的は、完璧を求めるプレッシャーを取り除くことです。利益や他者へのプレゼンテーションを目的としたプロジェクトに取り組む場合、設計上の決定はより意識的に行われます。道化をすることで、特定の分野の知識を深めることだけに集中できます。 たとえば、数年前、私は「Wizardry Exchange」というプロジェクトに着手しました。これは、現実世界の通貨 (CAD、EUR、GBP、または USD) をハリー ポッターの世界で使用される通貨 (ナッツ、鎌、ガレオン船) に変換するアプリでした。このプロジェクトには、フロントエンド用の Unity3D WebGL、バックエンド用の Go、カスタム キャッシュ システム、および Docker を使用した AWS へのデプロイメントが含まれていました。 これは実用的なプロジェクトですか?全くない!フロントエンドには Unity は必要ありません。Go はいくつかの単純なエンドポイントには過剰であり、アプリケーションは AWS どころかポテト上でも実行できます。 では、なぜわざわざ苦労するのでしょうか? Unity を使用した について学ぶには、サーバー開発に Go を採用し、 で Docker を使用してアプリケーションを構築およびデプロイする経験を積みます。最終結果は知識を獲得するプロセスほど重要ではありません。 WebGL AWS 道化に関する考慮事項がさらにいくつかあります。 道化プロジェクトは共有を目的としたものではないので、本当に興味のあることに取り組む自由を受け入れてください。クローンとは異なり、このプロジェクトはより時間がかかります。 ただし、道化プロジェクトの作業期間は 2 か月以内に限定してください。これは価値のある練習ですが、トレーニング計画に多様性を導入する手段としてアプローチする必要があります。 道化プロジェクトにあらゆる学習面を組み込もうとするのは避けてください。調査したい領域を 2 つまたは 3 つ選択し、コード (おそらくワークショップから) を自由に再利用したり、特に気にしない部分のコードをコピーしたりしてください。 クマは満腹になると寝る - 結論 以上で、Unity またはその他のゲーム エンジンについての理解を深めるのに役立つ 3 つの型を終わりました。 私が以前に使用した 特定のフレーズに注目していただきたいと思います。 「トレーニング計画」という このアプローチは、15 年以上にわたって私のエンジニアリング業務の指針となってきました。私は大学を卒業することを黒帯を取得するようなものだと考えています。柔道(帯制度の起源となった)と同様に、黒帯は熟練というよりは基礎の把握を意味します。 黒帯を取得した後は、柔道の技術をさらに向上させるために独自の研究に取り組むことが期待されます。 同様に、卒業後は、技術スキルを継続的に向上させ、知識を習得するためのトレーニング計画を確立することがあなたの責任となります。仕事を通じて知識は得られますが、指導や自己啓発が欠けている可能性があります。 したがって、エンジニアリング スキルを磨くためのトレーニング計画を作成することが重要です。そうすることで、社内で新しいポジションが空く、現在の仕事を辞める、または他の場所で魅力的な役割に出会うなどの機会が生じた場合に、単なる職務経験以上のものを身につけることができます。 大学とは異なり、仕事では必ずしも自分の才能を一定以上に伸ばすことが優先されるわけではないことに注意してください。良い仕事をすれば十分ですが、この 2 つを区別するのが難しい場合もあります。適切なトレーニング計画を立てることで、専門的な成長が保護されます。 これらの型が役に立たないとしても、少なくとも興味深いものであると感じていただき、技術スキルを向上させるための新しい方法の扉を開くかもしれないことを願っています。 こちらでも公開しております。