プロのゲームプログラマーに必要な基本的なスキルセットは何ですか?[閉まっている]


11

私が気になる非常に一般的な質問がありますが、最初にいくつかの詳細を追加したいと思います。私はコアJavaプログラマーです。楽しみのために、Javaで小さなゲームをいくつか独自に作成しました。今、プロのゲーム開発に目を向けるほど、混乱するようになりました。これは、ゲーム開発のトピックについてGoogleで検索したり、フォーラムなどにアクセスしたりするたびに、さまざまな提案が出てくるためです。

C ++が良いと言う人もいれば、JAVAがより良いかもしれないと言う人もいれば、Python、Lua、UnrealScriptなどの他の言語がウル言語であると言う人もいます。また、 Unreal、Torque、Blender、PandaなどのゲームエンジンとOpenGL、AI、衝突検出の知識が必要です。Android SDKを使用してゲームを作成しました。

私が聞きたいのは:

  • プロのゲームプログラマーに必要な基本的なスキルセットは何ですか?1つのプログラミング言語+ 1つのスクリプト言語+ 1つのゲームエンジンの知識+ OpenGLですか?(ふ!!!!)
  • ゲーム業界にゲームプレイプログラマーまたはAIプログラマーとして参入したい場合は、現在のスキルとポートフォリオ(上記のとおり)を利用できますか?
  • ゲーム開発には1つのプログラミング言語を学ぶだけで十分ですか?

どんなガイドラインも参考になります。

回答:


6
  1. 少なくとも1つのプログラミング言語に習熟している必要があります。そうすることで、他の言語をより簡単に選択できるようになります。応募する職種は、事前に知っておくべき言語によって異なります。PCとコンソールでリリースされるほとんどのトリプルAタイトルは、おそらくC ++で開発されます。一方、モバイルアプリケーションやゲームでは、Java(Google Androidおよびその他の電話)またはObjective-C(iPhone)を使用する可能性が最も高くなります。開発者のWebサイトでソフトウェアエンジニアの求人情報を見てみると、通常、必要な言語経験について言及されています。たとえば、「C ++に習熟していて知識豊富」または「C ++を2年以上使用した経験」などです。スクリプト言語を学んでも害はありません。それはあなただけに利益をもたらすでしょう。学習は常に利益をもたらし、ゲームエンジンに関する実用的な知識は必要ありませんが、その特定のエンジンを使用する会社に応募する場合は、おそらく再開に役立つでしょう。Sourceエンジンの専門家であるが、idソフトウェアに適用し、id techエンジンについて何も知らない場合、それはあまり効果的ではありません(ただし、有益な原因の学習は常に有益です)。

  2. プロジェクトを最初から最後まで完了していて、それが完了していることを示している場合、それが再開を後押しするのに役立つと思います。とはいえ、テクノロジーのデモが多すぎるかどうかはわかりません。多くの人々が技術デモを行っているようで、彼らはゲームのプロジェクトを完了していない。ゲームプレイプログラマーはジュニアになる傾向があります。レベルの位置なので、そうです、あなたの履歴書によっては、どこかで仕事を見つけることができるはずです。

  3. 私は、1つの言語を知っていて、それを熟練して上手に使用できることは、5つの言語を知っていて、その使用方法をほとんど知らないよりも優れていると思います。

免責事項:業界で働いたことはありません。これらは、私が読んだ最も賢明な記事/意見であると私が考えたものに基づいて、ゲームプログラミングジョブに関するいくつかのスレッドと記事を読んだ後に形成された私の意見にすぎません。


7
ポインタを使用する 1つのプログラミング言語に関する知識」で箇条書き1を補強します。ポインターは、言語で何が起こっているのかを理解するための基本的な要件であり、ポインターを使用した経験のない人は、ポインターを必要とする言語に行くときに非常に不利になる場合があります。C ++は非Webゲームで非常に普及しているので、そこから始めるのもよいでしょう。
Tetrad 2010年

@ShrimpCrackers エディタを使用して実際の「弾丸ポイント」を作成できることを知っていますよね?;)
ベン

少なくとも、業界ではあまり使用されていないが興味深い特性があるプログラミング言語を知っていることを示す必要があります。これは、機会に対する関心のために学ぶこと、異なる哲学/アプローチを理解している多言語であり、(できれば) )両方の世界の最高のものをマージします。
FxIII

2

このトピックを研究し、プロのゲーム開発者と話をすればするほど、それは本当にいくつかのことに帰着すると思います。順不同:

  • チームの雰囲気の中で一緒に仕事をする能力。ゲームの構築には非常に多くの人がかかり、最近のAAAゲームの一部でクレジットを読むだけで10分以上かかります。他の人とうまく連携できず、他の人と協力して素晴らしいゲームを作ることが目標である場合は、これが適切な業界ではないことを恐れてください。これは、他の人とプロジェクトに取り組んでから時間をかけて開発されたソフトスキルの1つです。
  • あなたがやりたいことを見つけてください。これはオープンエンドの一種ですが、ゲーム開発の好きなところと、これを達成するために必要なスキルを見つけてください。私はこれがあなたが探している答えの一種であることを知っていますが、エンジン開発者、グラフィック開発者、またはゲームプレイ開発者になるために必要なすべてのスキルを打ち消すことができますが、その情報の多くはオンラインでかなり簡単に見つけることができます。あなたのスキルは、あなたが興味を持っているものと非常に密接に結びつく必要があります。例:サーバー側の開発に本当に興味があるなら、OpenGLとDirectXのインとアウトを知っていることを心配しないでください。
  • 低水準言語に堪能であること上記のことを言っても、低水準言語は学ぶのに良い考えであるという他のポスターにも同意します。C#からC ++に移行したときに、C#の魔法のしくみについて多くのことを学びました。これは、言語に関係なくコンピューターと効果的に通信する方法をよく理解できる知識です。
  • コンピュータアーキテクチャを理解する -これによって、コンピュータアーキテクチャのすべての部分を実際に理解するためにCEまたはEEの学位が必要なわけではありませんが、メモリ、CPU、およびGPUの動作の基本を理解しています。ゲーム開発の領域に関係なく、それに取り組むことは、少なくともこれらがどのように機能するかを理解することには有益です。グラフィックプログラミングまたはエンジンプログラミングに飛び込みたい場合は、この分野についてさらに理解する必要があります。

5
C ++を低レベル言語と呼んでいるとき、あなたは本当に古く感じます
dreta

@dreta私はそれほど年をとっていないので、それを低レベル言語としても見ていません。おそらく、C ++が私が最初に使用した言語と関係があります。
ポールマンタ

2

多くはあなたのキャリアの目標に依存します。必要なのが必要な5.5年を実行して燃え尽きる前に「仕事を作るゲーム」だけである場合、私はあなたがエントリーレベルの求人を見て、彼らが望むものを探し、それを学び、そして適用するだけだと思います。シンプル。(しかし、もしあなたの質問が本当に「仕事を得るために入れなければならない最低限の努力は何ですか?」ということになったら、答えは「最低限の努力をすれば最低限の仕事を得られるでしょう! ")

しかし、長期的には、いくつかの言語を知ったり、特定の言語を学ぶことについてはそれほど重要ではないと思います。言語は変わります。10年前は、Objective-C、XNA、C#、AS3を誰も使用していませんでした。10年後は、今日学ぶ言語はいずれにせよ時代遅れになることを確信しています。

したがって、将来を保証するための1つのことは、「言語を学ぶ」だけでなく、新しい言語を学ぶ方法を学ぶことです。3言語程度に習熟したら、新しい言語を習得するのはそれほど悪くありません。とにかく、コアコンポーネントのほとんどは同じです。すべての言語には変数、配列、ループ、条件などがあり、構文を学習するだけです。

この残りの半分は、プログラミングとコンピュータサイエンスのコアコンセプトを理解することです。メモリ管理、ポインタ、再帰などについて理解します。概念を理解していれば、ほとんどすべての言語でそれらを適用できます。

あなた自身をより市場性のあるものにしたいなら、興味のあることなら何でも、ゲームに関連するプログラミング専門を学びましょう... AI、データベース、ネットワーク、ツールなど。


1

もう少し見過ごされているように思われる必要な別の非常に重要なスキルがあります。他のゲーム開発者からデザイナー、プロジェクトマネージャーなどに至るまで、人々のチームに適合して作業する方法を知る必要があります。それは技術的なスキルではありませんが、あなたが家の中で最高の開発者になることができるので、それでも非常に重要です、そしてあなたが人とうまくいかない場合、大きなゲームを作ることは問題になるでしょう!

また、ShrimpCrackersは1つの言語を正しく理解する方が5つの言語を大まかに知るよりも優れており、その1つの言語の裏で何が起こっているのかを理解することはさらに優れています。ゲームの場合、最高のパフォーマンスを得る方法を知る必要があります。言語の外。

最後に大事なことを言いますが、ハードウェアについて少し知っていれば、特にGPUは害にはなりません!


0

ソーシャルゲームのプログラミングには、必要な唯一のスキルである主なスキルがあります。

  1. プログラムアクションスクリプト(elipse環境とsvnを使用できます)、これはゲームのフロントエンド(ウェブページ)に使用されます

  2. プログラムjava(これはEclipseのuse svnでも実行できます)。これは、サーバー側のアクションがWebページの要求から実行するために使用されます。

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