- ベストアンサー
ゲームプログラマーは優秀なの?
プロのゲームプログラマーってプログラマーの方の中でも優秀なほうなのでしょうか? 米国のゲームプログラマーはたいてい博士号を持っているそうですが、日本ではどうですか? 次世代機と言われる最近のゲーム機は制作するのが非常に難しいといいます。私の友人で企業で営業のシステムプログラムをやっている人が、「ゲームプログラミングなんて敷居が高すぎる。」って言ってましたが。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
>具体的に処理を各コアに分散する技術っ マルチコア、CPUが複数ある場合ですね(最近の言葉なので記憶が曖昧)。 複数のタスクがまったく独立して動いているのであれば大きな問題には発生しません。 AとBという二つのタスクがあって、 Aから値が送られてきたことをBが知ること、 なんて、結構面倒くさいです。共通のメモリーが必要です。通常複数のCPUがある場合には、お互いに変なところをいじらない様にひとつの主記憶装置であっても領域を分割します。分割してお互いに関係しないことがマルチタスクで「障害なく動くこと」に必要な条件です。 共通なメモリーを主記憶装置に置くか、I/Oポートに置くか、ハードウェア割り込みに置くか、の選択があります。 専用のハードを作ると価格が上がりますので、低価格品では主記憶装置に置きます。 すると、 割り込みを禁止してメモリーのC1に「使用中」のフラグを立てて、送信データC2読みとって、次にC1に「使用中」のフラグを落とす という処理になります。 ところが、インテル系CPUでは、メモリー保護機構がありません。全領域が参照できます。つまり、フラグの処理中にプログラムの間違いがあると、いつまでたっても「使用中」で、タスクBはいつまでたっても動かない。 2つ、1箇所の令ですけれども、実際には30-50のタスクが同時にうこいているはずで、これらの取り扱いが極めて面倒です。 というのは、最も優先性があるタスクは、ハードウエア割り込みのタスクで、「電源断」や「メモリー障害」のような異常自体の処理を担当します。このときには、「割り込み禁止」であっても、勝手に処理してしまいます。 次に、「割り込み禁止」することが出きるハードウェア割り込みがあります。これは、たとえば、時計とか、サウンドとか、通信ポートとかの対応です。 この下の優先度で、先に示したA, bの二つのタスクがあります。 C1フラグが立っているときに、時計処理が発生して(ハードウェア割り込み禁止をしなかった)、メモリー障害が発生して、自動復旧機能に障害があったらば、、なんてやったらば、動かないのです。 時計処理の関係で、たとえば、1秒間に30回画面を書きかえるという処理をすることが許可される割り込みが入って、これが、たのタスクに影響しない様に処理が終了しなければならない(遅いと処理の途中で再度書き換え処理が始まってしまう)ので、面倒なのです。 たくさんのタスクが動いていますので、CPUの処理がかなり遊んでいるような状態にしないと、必ずおかしくなります。 ところが、ゲームデザイナーや市場調査結果等はかなりめちゃくちゃな要求を出してきますので、cpuの処理限界ギリギリを常に要求されます。 だから大変です。
その他の回答 (7)
- sha-girl
- ベストアンサー率52% (430/816)
>日本ではどうですか? >すみません、それでした。学士号だったのですね。 学士号だと日本のプログラマもおおよそ、50%ぐらいだと思います。要は大卒の割合ですから。 院卒は10%ぐらいですかね。 博士号を持ってる人は私の周りにはいません。 (この辺の統計はメーカーによって偏りがあると思います。)
- yphkz4063
- ベストアンサー率23% (34/144)
こっそりお教えしますが、現場はそのような感覚ありませんね。 そもそも、本当に優秀な人は、ハードやソフトの垣根がありません。 プログラマなんて肩書きはもう存在しません。 どのような無理難題でも実現する人たちです。 そのような人たちは、ゲーム会社に在籍していても、日頃ゲームは書きませんね。 でも、いざとなったときはゲームの開発にも参加することもあります。 そうするとどうなるか、書かなくても想像できると思います。 このようにして出来上がったゲームのタイトルをここへ書けば、ああなるほどと思われることでしょう。 でも書けません。
- sha-girl
- ベストアンサー率52% (430/816)
ゲームメーカーに勤めているものです。 >米国のゲームプログラマーはたいてい博士号を持っているそうですが このソースはなんでしょうか? http://www.inside-games.jp/news/284/28453.html この記事によると半数が学士号となっています。大学院が26%となっているので 博士号を持っているのはそれ以下だと思います。 ちなみに言語自体はC/C++、たまにアセンブラ、後はシェーダー言語(HLSL等)ぐらいで 独自の言語を使っているわけではありません。 ただプログラミング言語だけ覚えればいいというものではありません。 3Dゲームを作るなら数学や物理の知識も必要ですし、 ゲーム機なら、そのゲーム機の特性を理解しておく必要があります。 >ゲームプログラマーってプログラマーの方の中でも優秀なほうなのでしょうか? 基本的にこの業界は能力/結果主義ですが、一部を除けば普通だと思います。 天才的なプログラマーは存在します。しかしそれはリーナスもそうですし ゲーム業界に限った事ではありません。 ところでアメリカのゲームプログラマは 日本のプログラマより平均レベルが高いという点は私も感じています。 いわゆる洋ゲーの3D技術は相当進んでいますし、ゲーム性も日本のものに ひけをとっていません。日本製以外のプラットフォームもでてきましたし 私を含め日本のメーカーは危機感を感じていると思います。
お礼
業界人の方からのご回答に感謝します。 >このソースはなんでしょうか? すみません、それでした。学士号だったのですね。 >独自の言語を使っているわけではありません。 そうなのですか。一般的な言語ですね。 >3Dゲームを作るなら数学や物理の知識も必要ですし、ゲーム機なら、そのゲーム機の特性を理解しておく必要があります。 この部分が敷居が高そうですね。ゲームの表示をリアルタイムに制御する(しかも絶妙なタイミングで)のがなんとも難しい感じがします。 >ところでアメリカのゲームプログラマは日本のプログラマより平均レベルが高いという点は私も感じています。 アメリカの技術は本当にすごいですね。日本のゲームはかなり出遅れていると思います。ぜひがんばってください!
- yambejp
- ベストアンサー率51% (3827/7415)
>ゲームプログラミングなんて敷居が高すぎる というのは「自分の得意分野ではない」という表現です。 短距離が得意の陸上選手に、「マラソン走ってみろ」といっても 同じ答えが返ってきます。(まれにオールラウンダーはいますが) 私の知る範囲では天才プログラマーという人は極端にすくなく 優秀といえるプログラマーも必ずしも多くありません。 また優秀であるプログラマーがバグを出さないかというと そうでもなく、優秀でなくともバグのないプログラマーの方が 会社としては評価が高かったりする場合もあります。
お礼
>というのは「自分の得意分野ではない」という表現です。 これは逆に言うとゲームプログラマーは事務系ソフトやシステムのプログラムは難しく感じるということでしょうか? ゲームプログラムと事務系プログラムの難易度は同等だが、分野が違うために得意でないという意味ですか?
- usokoku
- ベストアンサー率29% (744/2559)
ゲーム機のプログラミングは、色々な問題があります。 ひとつは、言語系が独自です。つまり、5年ぐらいで仕様が変わってしまいます。したがって、外部の人間がちょっとおぼえた、頃には仕様変更で使えなくなってしまいます(ライブラリーの入れ替え)。 事務処理系プログラム(企業内で使用するソフト)との違いは、処理時間の制限が激しいのです。スイッチに対する応答時間があります。 マルチタスクプログラムが要求されます。背景画像・バックグラウントに流す音・ヒット等の効果音・ユーザー操作による主キャラクターの移動・乱数制御による敵キャラクターの移動・画面の書き換え(裏で書き換えておいて、書き換えが終了したら画面全体の表示を切り替える)が最初に容器有されます。 だから、事務処理系ソフトの作り方とまったく作り方が異なるので、事務処理系ソフトを作りなれた方ですとできないでしょう。 なお、ある事務処理ソフトをマイナー機から当時主流であったPC-9821に移植を個人的にあるゲームソフトプログラマーに依頼したことがあります。外部配列の使い方がまったくわからなくしてできないということでした。 いくら処理が遅くても困らないが巨大なデータを使う場合の処理方法が理解できなかったのです。 処理の目的が異なるから、ゲーム分野は特化した分野になります。 逆にいえば、言語仕様の変更によってプロク゜ラマーが捨てられて行く(新仕様を覚えられないと「無能だから」という理由ですぐに解雇される)企業群です。 言語仕様の変更によって、プロクラマーが離れて行くことはフリーソフト著者の公開内容を見ていればわかるでしょう。マイクロソフトで言語仕様を変更するたびに、更新ができなくなってしまうフリーソフトが多いです。25ぐらいまでに覚えることは限界で以後はその応用です。しかし、ソフト業界は応用するプログラマーを要求していません。年功序列で金がかかるからということ(表面は、新仕様が理解できないから無能だという理由)で解雇しているのが現状です。
お礼
>つまり、5年ぐらいで仕様が変わってしまいます。 これは大変そうですね。常に新しい技術も取り入れないといけないようですし。日本人は後手になっている感じがします。 >マルチタスクプログラムが要求されます。 マルチコアでプログラムを組むのは難易度が上がると聞きますが、具体的に処理を各コアに分散する技術ってそんなに難しいのでしょうか? >逆にいえば、言語仕様の変更によってプログラマーが捨てられて行く これは問題ですね。技術者が育たないですし。日本のゲームプログラマーはこのままでは世界からおいていかれてしまうと思います。というかもう追いつけない所にいるのでは・・・。
- tsuka2tsuka
- ベストアンサー率57% (55/95)
ANo.1の方がおっしゃる事は事実でしょうから反論するつもりは全く無いですが、一概に「ゲームプログラマ全員が」とは、勿論言えないと思います。 先日PSP用に発売された名作ゲームの移植版が、あまりにも酷くてかなり批判を受けています。 乱数を発生させるプログラムさえ作れず、サイコロが同じ目を出したり、ある規則で同じ目が繰り返し出たりしていました。また、物理法則をプログラム化できておらず、あり得ない動きをしていたりしていました。製品として現在発売されています。移植であり、移植元のソースが渡されているにもかかわらず、でした。 こんなのはごく一部のことでしょうが、「ゲームプログラマはみんな優秀です」というのはちょっと早計かなと。 いや、もちろん、優秀な方が多いとは思っていますけどね。
お礼
>一概に「ゲームプログラマ全員が」とは、勿論言えないと思います。 そうですね。全員とは思いませんが、メインプログラマーは日本人でも優秀なのでしょうか?やはり世界からみたらヒヨッコレベルなのでしょうか? ロストプラネットやGT5Pを見るとこういう表現ができるのはけっこう優秀だと思うのですが。 しかしたいていは北米の技術をマネしているだけかもしれませんね。日本発の技術ではないですし。
- snowplus
- ベストアンサー率22% (354/1606)
優秀です ソニーはプレイステーションのソフトを自社で作る事ができません 日本最高峰はスクウエアエニックスですがここも世界最高ではありません 中印のレベルが高く 確か世界一はインドのメーカーだった気がします ちなみにMIT(マサチューセッツ工科大)の成績上位者はほとんどインド人です
お礼
>ソニーはプレイステーションのソフトを自社で作る事ができません これはどういうことですか?ソニーは自社でソフトを出していますよ? >日本最高峰はスクウエアエニックスですがここも世界最高ではありません どういう意味で世界最高でないのか不明ですが、日本のゲームプログラマーは総じて優秀ではないということでしょうか?
お礼
>そのような人たちは、ゲーム会社に在籍していても、日頃ゲームは書きませんね。 >でも、いざとなったときはゲームの開発にも参加することもあります。 >そうするとどうなるか、書かなくても想像できると思います。 ??どういうことでしょうか? 普段はエクセルのVBAで事務仕事かサーバーの管理をしていて、いざとなれば本業に参加するということでしょうか? 何か、日本のゲーム会社では不効率な問題でも起こっているのでしょうか?