自習型ゲーム開発の危険性は何ですか?[閉まっている]


58

ゲーム開発への旅に出かけようとしています。最後の質問への回答に続いて、C#とXNAを使用します。

しかし、私は他のゲーム開発者を個人的に知りませんし、業界で働いていないので、独学です。これの例外は明らかに質問をすることとオンライン/印刷された情報を読むことですが、私はこれを独学だと分類します。

それに伴い、「私を翼の下に置いておく」誰かがいないことで遭遇するかもしれない問題に備えたいと思います。

類推として、ギターを弾くように自分自身を教えるとき、私は後で学んだ和音への移行をより困難にするような方法でAメジャーコードを演奏しました。

学んだ教訓と、ゲーム開発の学習で何がうまくいかないかについてのアドバイスを共有できれば、ありがたいです。

間違いを犯すことは学習の最大の部分であることをよく知っていますが、間違いがあれば準備できますので、喜んでいます。


ご覧ください、共有レッスンは、質問を無制限に変えて無効にする可能性があるため、閉じられる可能性があります。
グスタボマシエル

それは良い点です。訪問者には、包括的な回答を受け入れるつもりです。
サント

Ste、新しいものの方が良いと思う場合は、チェックマークを別の答えに移動できることに注意してください。グスタボへの私の謝罪は、彼の担当者:)しかし、これらのサイトのポイントの費用しようとしていない、と投票してcheckmarkingは、強調することで最良の質問への答えを。また、それはあなたがいることは素晴らしいことだがなかった答えを受け入れ、それが1受け入れるする必要はありません速く -あなたの投稿質問の後に時間を、ビットすぐです。私は通常、少なくとも1日、おそらくそれ以上を待ってから回答を受け入れます。表示されるものを参照してください。
サイクロプス

@Cyclops-はい、質問がそんなに人気があるとは思っていませんでした。来週レビューします。これまでの素晴らしい回答に感謝します。
マリー

すべてのすばらしい答えをありがとう。私は受け入れられた答えを最も賛成票の多いものに移しました。これは、コミュニティの意見を反映するために行いました。@Gustavoを理解してほしい
Ste

回答:


54

ゲーム開発は構造工学のようなものです

機能には最小要件があります。最小要件は例外的なものではなく、多くの人がそれらを実現する方法を学ぶことができます。それが機能部分です。それは小さな部分です。ここで、使用する言語、開発するプラットフォーム、または使用するライブラリを決定します。

次の部分は大きな部分です。フォームの一部。フォームは、優れたゲームと優れたゲームを本当に区別するものです。これは、ゲーム開発の技術である部分です。私は感覚的な資産(グラフィック、音など)だけについて話しているのではありません。私は経験を作ることについて話している。これは難しい部分です。

関数の部分は、チュートリアル、ライブラリ、および少しの時間に由来します。誰でもできます。

フォーム部分はあなたから来ます。そもそもゲームを作りたいと思うようになったのは情熱です。それは、物語、作り上げられた物語(または、あなたが装飾する本当の物語)を語るようなものです。ストーリーを語れば語るほど、より良い結果が得られます。ソフトウェア開発では、反復と呼びます。あなたの物語はあなたのコードです。あなたが最初にそれを言うとき、それはあまり良くありません。物事は場違いになります、あなたはこのビットがそこに行くべきであり、それがここにあることを理解するでしょう。このように物事を整理したり、このビットで拡張したりすると、物事がおそらくより良く流れることがわかります。だから、良い話と同じように、あなたはそれを伝え、それがどれほど良いかを測定し、それを修正します。これには献身が必要であり、これには時間がかかります。あなたが最初に生産するものが金でなければ心配しないでください。私が考えたので、私は後でそれらをリッピングするために私のゲームの多くの部分に長く、懸命に働いてきた多くのより良い方法です。これについて心配する必要はありません、それはすべて学習プロセスの一部です。あなたは常に自分の過ちから学びます。そして、しばしばそれらの過ちを犯すことが、物事をより良い方法に導くものです。

したがって、これから離れるべきは次のとおりです。

  • テストを頻繁に行います。
  • 今すぐ関数に巻き込まれないでください。最適化について心配する必要はありません。長期的にはどのライブラリが最適かを心配する必要はありません。最低限の機能を取得して繰り返します。
  • 機能が完了したら、おめでとう、あなたは完了した方法のほんの一部です。
  • 日焼け止めを塗ります
  • これは開発に時間がかかるスキルです。楽器を習得することで、これも同じであり、あなたは良くなることを知っています。
  • あなたがこれに何のためにいるのか、創造する喜びを覚えておいてください!物事が退屈になったら、別のものに切り替えます(開発時間を分割するために、いくつかのゲームジャムを試してみてください)。しかし、それが難しいからといってやめないでください。
  • ここSEのゲーム開発コミュニティは素晴らしいです。必要なものはすべてここにあります。質問を投稿したり、チャットに参加してアイデアを話し合ったりできます。

インターネットは、このようなブログ投稿、チュートリアル、コミュニティの情報に満ちています。集合的に、私はそれが下にある非常に良い翼だと思います。基本的に、危険は深刻ではありません。しばらくの間、「間違った」または難しい方法を行うかもしれませんが、最終的に学習します。プログラミングの経験が豊富にあるように見えるので、関数の部分をすぐに理解できると思います。ゲーム開発と「通常の」開発でのミスは、多くの部分で重複しています。あなたの経験は、新しいゲーム開発者に共通する多くの問題を回避するのに役立ちます。うまくいくと思います。幸運を。


6
1素晴らしさのために、すべてのことが私のポストに欠けているが、ここで発見された:D
グスタボ・マシエル

1
「日焼け止めを着る」とはどういう意味ですか?「日焼け止めを着る」というイディオム?
ルカシュマドン

4
これは、メアリー・シュミッチによる記事「ウェア・サンスクリーン」に基づいたジョークです。基本的に、「日焼け止めの長期的な利点は科学者によって証明されていますが、私のアドバイスの残りは、私自身の蛇行した経験ほど信頼できる根拠はありません。」おそらくこの歌の形でより一般的に知られています。
マイケルハウス

4
ええと、日焼け止めは実際にはそれほど良いものではありません 2。屋内にいてプログラミングを続けてください。
ボボボボ

28

はい、あなたが何をすべきか、どのように修正するかなどをあなたに言うために前にそこにいた誰かがいないことはあなたが渡す最悪のことかもしれません。しかし、恐れはありません!あなたはまだそこにいた人々のブログの多くを読むことができます、彼らは業界での経験を共有します、彼らはどのように成功に達しましたか

良い例は次のとおりです。

そしてもっとたくさん!

私の最後のことわざは次のとおりです。恐れるな。私も独学で、ゲーム開発に4年間紹介されました。多くの障壁がありますが、グーグルやテキストを読むことで解決できないことは何もありません。あなたの旅に幸運を:)


3
さらに、専門家でさえこの問題を抱えています。GoogleとGoogleが学べる限り、ほとんど何でも理解できます。
ashes999

2Dboyをリンクするのは奇妙です。私が知っている限りでは、彼らはWorld of Gooのポートを除いて、過去数年間存在していたすべてのプラットフォームにほとんど何もしていません。そこで関連するgamedevを読んだのは久しぶりです。
TravisG

@TravisG releaseゲームのプロセスは、結局それを開発することだけに関連しているのではありません。とにかく良い読書です。ブログをフォローするためではなく、参照としてリンクを投稿しました。アーカイブに戻ると、プロトタイプの例がいくつかあり、グーやその他の「少し小さい」プロトタイプの世界でそれらを助けました:D
グスタボ・マシエル

18

この態度。これは「完璧にやる方法がわかるまでは触らないで」という態度です。それは本当にあなたを抑えます。

ただし、ゲームだけでなく、あらゆる種類の初心者の開発者の間でこの態度が見られます。ウェブサイトも。ねえ、ウェブサイトは、JavaScriptを備えたhtmlフロントエンドを備えたデータベースです。技術はできる限り学び、最初のサイトをまとめます。幻想的ではありませんが、次善の方法で物事を行っは大したことではありません !! 最初に「長い道のり」でそれを行うと、2回目にはいつでもより良くできます。 私のポイントは、危険はないということです。この態度を除いて、おそらく。このような態度はどうなるかであるあなたを止めるあなたは常にタスクでためらうと言うので、今までに何かを行うことは「私はまだそれを行う方法がわかりません。」

物事を行うための「正しい方法」があるという態度。ありません。物事は見た目通りです。画面にピクセルを配置し、物事が起こったときに音を出す必要があります。


3
仰るとおり。これは、まだ私をかなり抑制しています。どうやら意見は異なりますが、用語では「正しい方法」と「間違った方法」がありますが、完全主義と分析の麻痺は間違いなく問題になる可能性があります。素晴らしい答えです!
ペトルアブドゥリン

6

後でこれをあなたの職業にするかどうかに応じて(あなたがそれについて考えているだけで、これは単なる趣味ではないと仮定するつもりです)、ここに私が非常に効果的であることがわかったものがあります:

  1. 小さいスタート

以前に言われましたが、もう一度言います-少しずつ始めて、エンジン、フレームワーク、ツール、またはプログラムに慣れてください。基本を理解したら->大きくしてください。

  1. すべてを学ぶ

これは少し極端に思えるかもしれませんが、私が意味するのは、あなたがコーダー、アーティスト、またはデザイナーであるかどうかに関係なく、ゲーム開発のあらゆる側面についてできる限り学ぶことです。パイプラインを知ることは、最も効率的な方法で物事を構築するための鍵です。武器を実装している場合->設計、コンセプト、モデル化、実装、コーディング!明らかに、グレードAのコンセプトアーティスト、デザイナー、パイプラインオタクである必要はありませんが、プロセスのすべてのツールに精通し、作成の各ステップを理解する必要があります。また、ゲームのウェブサイトでビジネスの最新情報や最新情報を確認してください。gamasutra.com、kotakuなどには、ビジネスとテクニックの両方のトピックに関する素晴らしい記事があります。開発の分野を1つだけに限定しないでください。得られる知識をすべて吸収してください:)

  1. 頻繁に失敗し、激しく失敗します。

あなたは自分のやっていることを吸うでしょう。初めに。それはいつもそのようです(信じてください、私は知っています。:D)、しかしあなたが続けて、あなたの仕事を改善する方法を探すことをやめない場合にのみ良くなります。インターネットは、チュートリアル、リファレンス、およびヘルプの優れた情報源です。あなたは本当に行き詰まることは決してないので、最もクレイジーなアイデアに乗り込み、失敗し、あなたの間違いから学び、そのプロセスでより悪いことになります。

  1. 人に話します!

インターネットは素晴らしい情報源ですが、対面のフィードバックを取得することは、ALOTの仕事で対処しなければならないものです。したがって、ソフトスキルを向上させることも重要です。まだメンターがいない場合、または一般的に業界で働いている人があまり多くない場合は、インディー開発者の交流会を開催するために自分の地域を調べ、コンベンションに行き、構築を開始できる他のイベントを確認する必要があります知識と連絡先の個人的なネットワーク。また、他の人と何かを構築するのに役立ちます-独学は素晴らしいですが、ゲーム開発はチームベースのゲームですので、趣味プロジェクトのフォーラムを確認してください-たとえば、UDKプロジェクトのEpicフォーラム、Unityフォーラム、またはCryEngineフォーラム-これら3つのエンジンはすべて広く普及しており、そこにはサイドプロジェクトに取り組んでいる有能な人材がたくさんいます。

それは私ができるアドバイスのほとんどすべてだと思います。これが何らかの形であなたの助けになることを願っています:)


あなたのすべてのポイントはとても重要です、彼らはこのリストの#1です!:)
ボボボボ

3

私はC#とXNAの経験がまったくありませんが、次のステートメントで間違いを犯さないと思います。

教師なしでプログラミングを学ぶことはまったく問題ありません。コードが機能する場合*、コードがどのようにコーディングされているかは問題ではありません。まあ、それは共同プログラミングに役立ちますが、あなたはもう一人でコーディングすることはありませんか?また、将来コードが読みにくくなる可能性があり、古いコンポーネントの使用や新しいエラーのデバッグが難しくなりますが、長期的にはすべての間違いがあなたの強みになります。OOPとMVCの設計を学ぶ上で最も難しいことは、なぜ「これ」を「そのように」行うべきなのかを理解することです。すでに悪いプログラムを作成した経験がある場合は、パターンの長所を知っており、それらを有利に使用できます。誰かが教えてくれたパターンに従って常に良いプログラムを作ったなら、あなたは(有効なコードの意味で)良いプログラムを作り続け、しかし、パターンを利用する代わりに、有用な修正を行うほど十分に理解していないため、パターンによって制限されます。最終的には、どのようにではなく、練習することが最も重要です。どちらの場合も遅かれ早かれ、非常に似たような経験が得られます。

* ただし、重要なことは1つです!セキュリティの場合は、セキュリティホールがエラーアラートをポップアップしないため、コードが正常に実行されているかどうかを経験豊富な人に尋ねる必要があります。


3

どういうわけかこれは素晴らしい質問です!:-)

私はgamedevアクティビティをそれほど前に始めていませんが、2回目になるので、考えを共有できます。メンターがいるのは良いことだと、あなたは実際に正しいです。このメンターはインターネットになります。したがって、インターネットでより多くの情報が共有されるほど、学習しやすくなります。XNA / C#が最初から優れた選択肢である理由です。記事やWebを共有しているアマチュアとプロのインディーズゲーム開発者の多くがいます。言及すべき他のこと:

  1. オープンソースに行く!Codeplex、GitHub、Google.Code、Bitbucket。貴重なものがたくさんあります。
  2. コミュニティに行く!あなたはここにいます、それは良いことです。しかし、いくつかの優れた公式のものを備えた大規模なMicrosoft XNAコミュニティもあります。Codeprojectも優れたリソースです(ただし、gamedevアクティビティはかなり低いです)。
  3. おそらく/読み込みする必要があります見て多くのことを。すでに述べた。ゲーム開発はコーディングだけではありません。ゲームデザインも重要です。熱意は重要です。
  4. いつものように、一度にたくさん噛まないようにしてください。テトリスやブレイクアウトのコピーを自分で書くことは実際には良い考えです。
  5. 最初は難しいかもしれませんが、ゲーム開発は実際には難しいだけでなく、「エンタープライズ」アプリとは大きく異なります。多くの新しい側面、グラフィック、サウンドなどがあります。あなたが行くほど、それは簡単になります(いつものように)。
  6. ブログを書いてください。開発プロセスを表現し(このプロセスでは、あなた自身の質問に対する答えを見つけます)、貴重な記事へのコメント付きのリンクを保存します。
  7. あなたのコードが今まで見た中で最悪のものだと思わないでください。ゲームのコードは制御が難しく、常に「エンタープライズ」コードよりも少し汚いです。確かに、インディーズゲームで成功したいくつかのひどい作品(ソースコードの品質とゲームの編成)を見てきました。だから、特に自分自身を厳しくしないでください。最初に。

1

これは、クリエイティブ業界に関連するあらゆる分野に適用されます。

最大の危険は、ゲートから「大きすぎる」または「壮大な」何かを構築しようとすることです。

たとえば、音楽を作ることから始める場合、50ピースの2時間シンフォニーを作ろうとすることから始めません。

レベル設計では、これは「史上最大のマップ」を作成しようとしていること、またはゲームシステムを使用してゲームエンジンが処理できる最も複雑なものを構築することとして現れます。プログラミングでは、これはゼロソースコードから始めて「自分でゲーム全体を作成する」ことに該当します。ゼロソースから始めるには本当に多くの経験と規律が必要ですが、それでも信じられないほど難しいことです。最近では、単純なゲームでさえ、最新のOSと言語でかなり大量のプログラミングを必要とします。また、他の誰かのコードから始めると、何がうまくいくか、何がうまくいかないかを学ぶことができるので、できるだけ多くのエンジンで作業することも大きなプラスです。

そのため、まずは次のようなプランをお勧めします。

  • レベル設計:小さな部屋を建てる、建物の半分を建てる、完全な建物を建てるなど
  • アート:骨格メッシュまたはモーフメッシュに入り、zbrushでアニメーションまたはペイントする方法を理解する前に、TF2または類似のシンプルなものの帽子を作成するか、Skyrimまたはその他の噛み付くサイズのタスクのテクスチャ置換を開始します。
  • プログラミング:既存のモダブルまたはオープンソースゲームエンジンを使用し、その一部(武器など)を変更してから、新しい武器を作成します。ゲームプレイコードが気に入らない場合は、グラフィックエンジンのハッキングを開始できます。

最善の方法は、既存の完成したエンジン(変更可能なエンジンまたはオープンソースのエンジン)を使用してハッキングを開始し、必要なエンジンが見つかるまで複数の異なるエンジンに対して数回実行することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.