ここから本文です

プログラマ、SE、ゲームプログラマについて

kaimotomoさん

2010/3/2315:30:10

プログラマ、SE、ゲームプログラマについて

自分は小さいころからコンピュータが好きで、よく触っていました。
中学生のころに、ホームページを作ろうとおもってhtmlというものをはじめて知ったとき、
コンピュータに引き込まれるような衝動を覚え、JavaScriptを結構楽しんでやっていました。

受験と同時にPC禁になってしまったために、プログラミングには触れていたものの、
まだhtmlと出会って数ヶ月の厨房のまま、高校生を迎えました。

高校入学と同時にPCが戻ってきましたので、早速ホームページ(東方)のを作っていたのですが、
そこで、初めてプログラムというものを意識するようになりました。

この東方も、プログラムで動いているんだな・・・・・と感無量な気持ちになり、おれもやりたい!!と、プログラミングの
勉強に取り掛かったのですが・・・・

本当に何も知らなかったのです。無知でした。安易でした。

本屋につくと「Javaからはじめる・・・・」とかいう本があったので、即購入。
このとき自分はJavaというのはJavaScriptの略だと思い込んでいたのです・・・・(笑)

まあ、馬鹿な話はここまでで、きちんと調べてみると、C言語から学ぶのがよい、と知恵袋には書いてありました。
そこで猫プロを購入し、やり始めたのです。

自分は将来、プログラマ、いずれはSEになりたいと考えていましたが、
最近では3Dも学んで、ゲームも作ってみたいと思うようになりました。

長時間労働、低賃金といわれていますが、やってみたいんです。

そこで、本題なんですが、
上記の仕事で働くには、今、どんなことをすればいいんでしょうか。
プログラマとして、働けるのは短いとか、ゲーム業界は就職倍率高いとかは分かっています。

自分がやりたいのは、BGMとかグラフィックではなくて、企画、制作、プログラムという部門です。
多くの質問では、今はともかく旧帝大に入れるように、勉強せよと書いてあります。
学業に関しては、旧帝大狙える程度のものと自負しておりますので一層努力します。

軽音楽部で、勉強もせねば、体力も必要とトレーニング、でも直接プログラミング能力としては
C言語と、Javaをかじった程度です。

でも好きなんです。
考えが甘いのは分かっています。
今、どんなことを勉強すればいいんでしょうか。
ゲームクリエイター、企画制作部門で働きたいことを前提として、ご回答いただきたいです

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
52,756
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

zwigooさん

2010/3/2315:51:24

ゲームクリエーター(プログラマー)の仕事を勘違いしているといけないので、このサイトに目を通しておいて下さい。
http://www.purplemoon.jp/game/

企画制作とゲームプログラマーを兼用しているのは、小規模な作品で、人も少ない小さな会社ぐらいです。今時は珍しい存在だと思います。普通は、完全に分業だと思ってください。
企画制作なら雑学レベルの高い人・人生経験の豊富な人・プレゼン力のある人目指してください。
プログラマならチームワーク力と技術力が必要です。

ここでは、主の技術面で必要な本を紹介します。

1.とりあえずC言語。ポインタや構造体は完璧に理解できないとだめです。
「新版 明解C言語入門編」。
http://www.bohyoh.com/Books/MeikaiC01/index.html
「Cの絵本」http://www.seshop.com/detail.asp?pid=1806

1.5.DXライブラリの学習。ゲームプログラミングの楽しさを味わって下さい。
「DXライブラリ置き場 HOME」http://homepage2.nifty.com/natupaji/DxLib/
「ゲームプログラミングの館」http://dixq.net/g/
「ゲーム作りで学ぶ!実践的C言語プログラミング」http://karetta.jp/book-cover/game-programming

2.基本的なアルゴリズムとデータ構造の学習やデバッグ技法など。DXライブラリと並行で進めて下さい。
「アルゴリズムの絵本」http://www.seshop.com/detail.asp?pid=4179
「新版 C言語によるアルゴリズムとデータ構造」http://www.bohyoh.com/Books/CAlgoData/index.html
「C言語による最新アルゴリズム事典」http://www.amazon.co.jp/dp/4874084141
「C言語 デバッグ完全解説」http://www.amazon.co.jp/dp/4774133620

ここまでが2D編です。プロを目指す人は下に続きます。

3.C++言語。最低限クラスは理解を。
「明解C++」http://www.bohyoh.com/Books/MeikaiCPP/index.html
「独習C++」http://www.amazon.co.jp/gp/product/4798103187/
「ロベールのC++入門」http://www.amazon.co.jp/dp/4839926050/

4.WindowsAPI(OSの仕組み)の学習。途中までで良いですがWindowsのメモリ、プロセス/スレッドは理解してください。
「APIで学ぶWindows徹底理解」http://software.nikkeibp.co.jp/software/backno/04apimook2.html
「Windowsゲームプログラミング」http://wisdom.sakura.ne.jp/system/winapi/index.html

5.DirectXの学習。色々ありますので必要そうなのを。
「ゲームプログラミング入門」http://www.amazon.co.jp/dp/499050061X
「ゲームプログラマになる前に覚えておきたい技術」http://www.amazon.co.jp/dp/4798021180
「DirectX ゲームグラフィックス プログラミング Ver. 2.1」http://www.amazon.co.jp/dp/4797341874
「DirectX9必携」http://www.amazon.co.jp/dp/4990500601
「逆引きゲームプログラミングfor Windows DirectX」http://www.amazon.co.jp/dp/479801169X

6.ゲームアルゴリズム、数学、AIの学習。必要なものを自分でチョイスしてください。
「ゲーム開発のための数学・物理学入門」http://www.amazon.co.jp/dp/4797329076
「ゲームエンジンプログラミング」http://www.amazon.co.jp/dp/4797331976
「実例で学ぶゲーム3D数学」http://www.amazon.co.jp/dp/4873113776
「実例で学ぶゲームAIプログラミング」http://www.amazon.co.jp/dp/4873113393/
「ゲームプログラミングのためのリアルタイム衝突判定 」http://www.amazon.co.jp/dp/493900791X
「3D格闘ゲームプログラミング」http://www.amazon.co.jp/dp/4797341807
「3DRPGプログラミング」http://www.amazon.co.jp/dp/4797330465
「アクションゲームプログラミング」http://www.amazon.co.jp/dp/4797335971
「アクションゲームアルゴリズムマニアックス」http://www.amazon.co.jp/dp/4797338954
「パズルゲームアルゴリズムマニアックス」http://www.amazon.co.jp/dp/4797347090
「シューティングゲーム プログラミング http://www.amazon.co.jp/dp/4797337214/
「シューティングゲームアルゴリズムマニアックス」http://www.amazon.co.jp/dp/4797327316
「弾幕 最強のシューティングゲームを作る!」http://www.amazon.co.jp/dp/4797352299

7.リアリティのための3Dシェーダの学習。必要に応じて。最初はいらないです。
「DirectX 9 シェーダプログラミングブック」http://www.amazon.co.jp/dp/4839912475
「DirectXシェーダプログラミング 仕組みからわかるゲームエフェクトテクニック 」http://www.amazon.co.jp/dp/4797344962

オリジナルゲームの開発。会社によっては提出が必須です。

それとこちらのコラムもチェックしておくこと。
「3Dゲームファンのためのグラフィックス講座」
http://game.watch.impress.co.jp/docs/series/3dcg/
「3Dグラフィックス・マニアックス」
http://journal.mycom.co.jp/column/graphics/index.html

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

hirasho0さん

2010/3/3022:18:26

「ゲームプログラマになる前に覚えておきたい技術」
http://d.hatena.ne.jp/asin/4798021180
を書いた者です。評判を検索していたところたまたま見つけたので、これも縁かと思い
書き込ませていただきます。これは私の主観ですので、「そういう意見もあるか」
程度に思ってください。

私はまずはC++を道具としてゲームを作ってみることが第一だと思います。
C++はCを含んでいますから、文法要素が多すぎて大変なら最初はCの範囲だけでもかまいません。
私が最初に参加したゲームはPS2のゲームでしたが、Cでした。
言語なんて道具なのでJAVAの方が良ければそれでもかまいませんが、
Cの方が「コンピュータってつまり何をする機械なの?」ということを体で理解しやすいと思います。

また、たくさんのことを覚えるよりも、やり方を自分で考える経験をたくさん積む方が大切です。
DirectXやOpenGLなどは所詮誰かが作ったプログラムにすぎません。
本質はそれによってどんな計算をどのような方法で行うかにあります。
Windowsだって誰かが作ったプログラムにすぎず、Windows上で動くプログラムを作るためには
「やむを得ず」覚えないといけないことがいろいろありますが、やはりそれは本質ではありません。
VisualStudioの使い方だって同じです。極端に言えばC言語の文法すらそうです。
本質は自分が作りたいゲームをどうコンピュータで動く形で表現するか、にあります。

だから、私はたくさんの本を読んで、たくさんのことを勉強することにあまり意味を感じていませんし、
そうした人ができる人だという印象も持っていません(物知りは所詮物知りです)。
「これが必要だからこれをまず勉強しないと」という考え方は、挫折を招きやすく、もともとの目標を忘れさせます。
人間は必要性が納得できないと本当の意味で勉強することはできません。
むしろ「どこまで勉強せずにゲームを作れるか」と逆に考えた方がいいと思います。
DirectXを勉強しないと3Dゲームは作れない、と言う人を私は疑います。
WiiやPS3はDirectXでは動いていません。あれは手段のひとつに過ぎず、
そもそもそんなものがなくても3Dのゲームは作れるのです。
その過程で「ああ、数学ってこういうふうに使うのか」とか、
「アルゴリズムってだから大切なんだ」ということが身に染みて理解できるはずです。
数学やアルゴリズムやDirectXの面白くない本を苦労して読むのはその後でも間に合いますし、
その時ならきっと楽しく読めると思います。
また、本の良し悪しもよくわかるようになって、ハズレな本に高い金を払わずに済むでしょう。
クイックソートで感動するには、クイックソートが必要な状況に出会った経験が必要なのです。
その順序が逆だから挫折する人が多いのだと思います(高校の勉強もそうですよね)。

あとは本の宣伝になってしまいますが、許してください。
私の本はそういった思いを本にしたものです。
DirectXもWindowsプログラミングも一切なしで、
可能な限り最短距離でゲームを作るための「計算の本体」を学べるようにしたつもりです。
中身はDirectXで動いているので、付録のソースコードを見ればDirectXの実際の使い方も
勉強できるかと思います。

以上です。がんばってください。

distrofreakさん

2010/3/2400:29:40

旧帝大に入れるように〜というのは選択肢の幅を広げるという意味であって、多くの場合学力の話ではありません。

ゲームプログラマになるならば、いくつかオリジナルの作品を作る必要があるでしょう。
ほとんどのゲーム会社ではプログラマの採用に際して作品の提出を求めていますので、熱意だけじゃどうにもならないです。(とういうか、本当に熱意があれば、作品のひとつやふたつ、作っているでしょうから。)

SEになりたいならば、大学を出た後、その業界の採用試験を受け、受かればいいだけです。
あなたが優れた能力を持っていれば、採用してもらえるでしょう。
その業界に属する企業などは、パソコンを使っていれば10社以上名前を聞いたことがあると思いますし、小さいところも山のようにあります。(この辺は就職に際して業界研究などをしていくとわかってくるでしょう)

いずれも一番重要なのはプレゼン能力と一般常識です。
プログラミング能力は、入社後に趣味とは比べ物にならないほどキツい現場でコーディングすることで後からついてきます。
しかし、入社段階で自分をプレゼンすることができないのでは、入社することすらかないません。
またゲーム業界でも、いまや一般常識の無い人は雇ってもらえません。(一般企業のSEなどは言うまでもありません。)
(常識のない人が業界で有名人な場合がありますが、そういう人はゲーム業界が常識のある人材を求める以前からその業界に居る人である事が多く、新卒者には当てはまらない、いわば例外的存在です。)

ですから、自分を売り込む能力を磨き、多くの人の価値観を理解するというのが非常に重要です。
そのために、本をたくさん読むべきです。
技術書ばかりでなく、小説や伝記、哲学書などなど、幅広異分野の本を読んで知見を広げることも重要でしょう。

プログラマやSE,ゲーム開発者は別に特殊な職業ではありません。
他の職業と同じように、必死に勉強して、アンテナをはって情報を集めて、先手先手で行動していけばなれないものではないです。
それらが特殊なものだとは考えずに、自分なりにチャレンジしていくといいと思います。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。