No.5ベストアンサー
- 回答日時:
>ゲームを作りたいと思っています。
>実際にプロが使っている方法を教えて
本職のゲームクリエイターは、言語を選びません。
まず「こういう表現を、この機械で実現するには、何が必要か?」を考え、それを実現するに一番合った開発環境を考えます。
必要な開発環境を想定したら、その開発環境を用意します。「開発環境」とは「ゲームを仕上げるのに必要なハードやソフト」の事です。
そして「これを使えば出来る」と判ったら、それ用の言語を使えるメンバーを集め、集めたメンバーに書かせます。
もちろん、プログラムを自分で書いたりもしますが、プログラミングする暇があったらゲームのアイデアを搾り出すのが、ゲームクリエイターの本業です。キーボード叩いてるのがディレクターに見付かったら怒られます(笑)
もちろん、本人も「それ用の言語」を熟知してないといけないです。じゃないと「最適メンバー」を集める事は出来ませんから。
なので、クリエイターに最低限必要なのは「すべての言語が自在に扱える事」です。
例えば「これを実現するには、カリカリにチューンナップして高速化したプログラムが要る。人間がアセンブラで書かないと無理だろう」って事があったとしたら、クリエイターには、アセンブラを駆使できる能力が要求されます。
クリエイターは、アセンブラはもちろん、そのマシンで使ってるCPUについて、熟知していないとならないでしょう。
このように、クリエイターには「すべての言語が使えて、しかも、ゲームを面白くするアイデアがポンポン湧いて出る」と言う才能が要求されます。
>本職のゲームプログラマーになりたい
「ゲームプログラマー」と「ゲームクリエイター」は「まったく別の職業」です。
「ゲームプログラマー」とは、前述の「それ用の言語を使えるメンバー」の事です。なので「クリエイターに言われた通りに、プログラムを書くだけ」の仕事です。
「ゲームプログラマーに必要な才能」とは「こうこうこういう事をやってくれと頼まれたら、与えられた環境の中で、最短で最適なプログラムを書ける才能」です。創造的な作業はカケラもありません。
一方「ゲームクリエイター」とは、前述の通りかなり創造的な職業で、ゲームを面白くするアイデアがポンポン湧いて来ないと、仕事になりません。
質問者さんがなりたいのは「ゲームプログラマー」でしょうか?それとも「ゲームクリエイター」でしょうか?
この回答への補足
>なりたいのは~
欲を言えば、会社ではプログラマーをやって、副業として自分で企画・プログラム・サウンド・絵をやってしまうような同人ゲーム作成をやりたいと思っています。(ご存じかは知りませんがZUNさんのようになりたいです。)
会社ではプログラマーはプログラミングしかすることはできないのであれば決めあぐねますがどちらか1つといわれたらプログラマーです。
No.6
- 回答日時:
zun氏が「ゲームを作るにはどうしたらいいですか?」という質問を受けた時、No5氏と同じような事を言ってました。
言語は関係ないと。専門出身は使えねー、普通の大学いって見識を深めろ(勿論こんな言い方ではありませんが)とも。
これはNo1~No4氏が仰った内容と無関係ではありません。
ゲームが作りたいだけなら、RPGツクールでもNスクリプトでも豆乳でも何でもいいんじゃないですか?
あとプログラマーって、コミュニケーションが一番重要だと聞いた事があります。
貴方もプロを目指すのなら、自分の求める事と違う回答でも、ちゃんとコメントを返した方がいいんじゃないですかねー。
回答ありがとうございます。
おっしゃる通り、コメントを返すというのは常識だと思います。申し訳ありませんでした。コミュニケ―ションも普段の生活の中で身につけようと思います。
No.4
- 回答日時:
「どんな」ゲームを「どの媒体」で作成するかにかかっていると思います。
一昔前のコンシューマーゲーム機(PS初代やサターン)はC++コンパイラがそもそも存在しませんでしたから、C++はいらなかったかもしれません。
その代わりアセンブラは必須でしたでしょう。
逆にXBox360などでゲームを製作する場合は開発環境がそもそもXNAなので、CやC++は利用できず、C#などの習熟が必要になってきます。
ソートを始めとするアルゴリズム系は当然として、透明を表現するための演算方法やら、入力デバイスのチェックの仕方やFPSを一定に保つためのテクニックなどこまごまとしたテクニックも知っていなければいけません。
このあたりは既存のゲームフレームワークを利用すればそれでいいかもしれませんが、最近のゲームは3Dグラフィックが必須となっていますから、行列演算やクォータニオンなどの3D技術についても学ばなければいけません。
ネットゲームでしたら、当然ですがソケットやTCPについても知らなければ作成できないでしょう。
とりあえず、参考図書として以下のものをお勧めします。
http://www.amazon.co.jp/exec/obidos/ASIN/4798021 …
参考URL:http://www.amazon.co.jp/exec/obidos/ASIN/4798021 …
No.3
- 回答日時:
実際にプロが使っている方法といいますと、いわゆるコンシューマーゲーム機のゲームプログラマであれば、会社あるいはプロジェクトごとの独自ライブラリやサードパーティーが開発販売しているクロスプラットフォームライブラリの上でゲームを実装していたり、独自のスクリプトコンパイラ/インタプリタのような仕組みを用いていたりと、実際に現場に出てみないと分からないような環境で開発しています。
いずれにしても、使える言語が C だけで C++ は分かりません、と言っていては、(ゲーム業界に限らず一般的に)いっぱしのプログラマとしては通用しないと思ったほうがいいです。最低限、必要があれば C++ でも組めます、というレベルには達してください。
また、C/C++ はあくまでプログラミング言語ですので、標準規格で定められている標準ライブラリだけでは画像一枚の表示すらできません。プログラミング言語、OS、OS が提供するグラフィックスフレームワーク、開発環境(VC++ など)付属あるいは一般に公開されているグラフィックス/ゲームのフレームワークなどの区別を付けた上で、これらを使いこなせる力を付けてください。
まずは、比較的詳細な C++ の入門書(少なくとも STL まで解説しているもの)と DirectX の入門書を自分で探してみるとよいでしょう。とりあえず Windows 上で簡単なゲームが作れるようになってからコンシューマーゲーム機のことを心配してもまったく遅くありません。
以上は、あくまでスタートラインです。他の方もおっしゃっているとおり、同僚に差を付けられるゲームプログラマになるには多少の英語や数学の知識もほぼ必須と言えます。
No.2
- 回答日時:
>Cを勉強しているのですがC++も覚えた方が良いのでしょうか?
C++の方がSTLなどのライブラリが充実しているので、短いコードで保守のしやすいコードを書くことができます。
またオブジェクト指向でプログラムを作成することができるので(しないこともできる)、コードの再利用もしやすいです。
>また、(CとC++を覚えたとして)CとC++「だけ」でゲームを作ることはできるでしょうか?
コマンドラインインターフェースを使ったゲームならできますが、一般的にゲームと呼ばれるものを作成するには、Win32APIやDirectX、MFCが.Net Frameworkなどの知識が必要です。
これらは、ゲームを作成するための本などに書いてあると思いますが自分で調べることも多いです。
かなりの資料は英語なので、英語が読めることも必須でしょう。
No.1
- 回答日時:
>Cを勉強しているのですがC++も覚えた方が良いのでしょうか?
引き出しの数は多いに越したことはないと思います。
>CとC++「だけ」でゲームを作ることはできるでしょうか?
Windows上で動かすゲームなら、Windows APIに関する知識が必要でしょう。
物体の動きを表現する必要があるゲームなら、数学や物理学に関する知識が必要であるかもしれません。
いずれにしても、いくつかのプログラミング言語「だけ」を覚えても、
ゲーム業界に限らず、IT関連の職に就くには足りないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ニンテンドーDSのソフト作成に...
-
Javascriptでpk戦のゲームを...
-
ゲームの開発言語(1980~2010年)
-
ゲームプログラミングは難しい...
-
フリーゲームを解析したい
-
Now Loadingについて
-
Win32APIのゲームやアニメーシ...
-
C#で音楽の2曲同時再生の仕方
-
C言語で簡単なゲームを作る方法
-
ゲームを日本語化しようとする...
-
C言語、C+、C++、C#の違い
-
「MovableType」って何?
-
「やさしいC」の次に読む本を探...
-
今からWin32を勉強する意義
-
C言語とhtmlの違いを どな...
-
Visual Studio Codeについて
-
UNITY Float型の接尾辞fって
-
C++における継続行
-
windows , mac プログラミング...
-
曲を作るのにプログラミングっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ニンテンドーDSのソフト作成に...
-
フリーゲームを解析したい
-
ゲームプログラマーとシステム...
-
ゲームの開発言語(1980~2010年)
-
プログラマーは誘惑にさらされ...
-
次のプログラミングを教えてく...
-
ゲーム開発の入門書を探しています
-
C#で音楽の2曲同時再生の仕方
-
Now Loadingについて
-
Javascriptでpk戦のゲームを...
-
C言語で簡単なゲームを作る方法
-
ゲームを日本語化しようとする...
-
物理エンジンの自作はできるの...
-
C、C++でもぐらたたき
-
恋愛シミュレーション制作にゲ...
-
FLASHとデータのセーブについて
-
FLASHでゲームを作っていた人は...
-
ゲームのソースコードを解析し...
-
Unityでブラックジャックゲーム
-
ゲームプログラマーになるには...
おすすめ情報