• ベストアンサー

WindowsAPIとVC++について

はじめまして。今学生でゲーム系の会社に就職しようと思って、ゲームプログラムを作ろうとWindowsAPIとVC++を勉強中です。 色んな方の質問を見て思ったのですけど、VCでゲームプログラムはあまり書かない。と言うのが気になりました。そこでAPIを勉強しようと思ったのですが、気になることがいくつかあります。 ・APIのコードを書く方々は本を見なくても1からコードを書けるのですか? ・本を見ないとプログラミングできないと言うのは、その言語を使えると言うことになりますか(変な質問ですが、就職するときのネタで) ・簡単にAPIのコードを入力するツールがあるのですか? ・ゲーム系の会社に就職しようと思うならこの先、どんな順番で何をするのがお勧めか教えてください(時間があまりないので)。 聞くことが多いのですが、1つでもいいので知ってる人がいたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

ゲームメーカーに勤めているものです。 >VCでゲームプログラムはあまり書かない。 他の方も指摘されていますが大嘘です。 Windowsのパッケージゲームの場合の9割以上はVisualC++で書かれています。 (というかWindowsの場合、他のコンパイラだとDirectXとの相性やリンカーの相性等に問題が多いのです) VC++が使われていないというのは PlayStation等のコンシュマーゲームにならあてはまるかもしれません。 基本的にコンシュマーゲーム機のコンパイラはメーカーが提供します。 PS2なら、gccをカスタマイズしたものですね。 ただVC++用のプラグイン等もあったりするので VC++が使えないわけではありません。 他の方と回答が被りますがメジャーなのはコードウォーリアーというIDEです。 例外としてMicrosoft系のハード(XBox系)はそのままVC++を使います。 >・APIのコードを書く方々は本を見なくても1からコードを書けるのですか? WinAPIだけでも1000種類以上あるのですよ。 定義された変数名やらを全て覚えてる人なんていません。 (それらを覚えてから使うのではなく何回も使っていると覚えてしまうという感じです) WinAPIの場合、リファレンス「MSDN」を見ます。 DirectXの関数の仕様もバージョン毎に変わりますから 関数名とその引数の順番を覚えても、あまり意味がありません。 必要なのはどういう関数が存在して、 どういう動作をしてているのかを把握する事です。 「MSDN」ですが英語版で見る習慣をつけると良いと思います。(英語でしか載っていない記述も多いので) http://msdn2.microsoft.com/en-us/default.aspx それと1からコードを書くかといえば、どちらのパターンもあります。 メーカーの場合、独自のライブラリを既に持っていたりするのでそれを使う場合もありますし もちろんそれで対応できない場合は1から書く場合もあります。 >・本を見ないとプログラミングできないと言うのは、その言語を使えると言うことになりますか 「できる」か「できない」かではなくて、どれぐらい出来るかを採用担当者は見てきます。 本というか、普通はMSDNやman等のようにオンラインドキュメント化されていますから それを見ながら書きます。ただ基本的なリファレンス:例えば書籍の「独習C」等を見ないと書けないのであれば 「C言語を使える」とは言い難いです。 >・簡単にAPIのコードを入力するツールがあるのですか? 既出ですがVCには自動補完機能があります。 >・ゲーム系の会社に就職しようと思うならこの先、 >どんな順番で何をするのがお勧めか教えてください メーカーの募集要項をみれば必要な知識が書いてあります。 (募集要項はその会社のホームページで確認してください。) 開発職の場合、多くのメーカーは応募作品を期待していると思います。

その他の回答 (3)

  • nebel
  • ベストアンサー率37% (117/308)
回答No.3

>VCでゲームプログラムはあまり書かない これは嘘。 MFCを使わないとか、.NetFrameworkを使わないという意味なら本当。 いわゆるネイティブコードでなら、普通にVCを使います。 VCではなくて、BCCだったり、Borlandだったり、別のIDEを使っていることもあります。 コンシューマ機の場合、XBOXを除けば、一般的には、そのハード専用のCodeWarriorを使用することが多いです。 >APIのコードを書く方々は本を見なくても1からコードを書けるのですか? リファレンスを確認することは普通にあります。 経験を積めば必然的に覚えていくので、頻度は減るでしょうけど。 ツール開発のためにWindowsアプリを作ることもあれば、コンシューマ機の専用のアプリを作ることもあります。 APIはその使用するライブラリにより異なるので、全部が全部覚えていられませんから。 >本を見ないとプログラミングできないと言うのは、その言語を使えると言うことになりますか リファレンスをひくとか、未経験の分野のために専門知識を手に入れるためとかなら普通に本を見ます。 プログラムするのに、ベースとなるコードがないとできないとかそういう意味ならプログラムをかじっているとか、やったことがあるレベルでしょう。 >簡単にAPIのコードを入力するツールがあるのですか? 入力補完してくれるものなら、IDEにあります。 >ゲーム系の会社に就職しようと思うならこの先、どんな順番で何をするのがお勧めか教えてください 数学と英語はしっかりやること。 可能であれば、物理もやること。 プログラムは、幅広くできなくてもいいので、基礎からみっちりやればよいでしょう。 後は、ゲーム会社の開発に入って何したいのか、どうしたいのか自分の中ではっきりさせておきましょう。 大手の場合は、育成をかなり丁寧にやりますから、逆に基礎(数学、英語、物理)をしっかりやっておく方がよいでしょう。 大手以外だと、ある程度すでにプログラムができる者しかとらない(とれない)ことのほうが多いので、プログラムをできるようになれとしかいえないかも

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.2

> VCでゲームプログラムはあまり書かない。 VC(コンパイラとIDE)で書いてる人は本職でもいると思いますよ。 ただ、MFCでは書かない。<これがゲームに向いてない。 で、質問の方ですが。 > ・APIのコードを書く方々は本を見なくても1からコードを書けるのですか? とりあえず、簡単なもの/使うものは大体覚えてるのでかけると思います。 但し、それでも尚、MSDN(仕様書)を確認しながらコードを書くのが、 職業プログラマ(本職)だと思ってますが。(思い込みが一番危険… > ・本を見ないとプログラミングできないと言うのは、 > その言語を使えると言うことになりますか 見る本と、その内容による、としか。 もし「関数仕様書を確認すればばっちり書ける」なら使えてると思いますし、 「Hello Worldの表示に本が必要」なのでは使えるとはいいがたいかと。 # 新卒ならそこまでは大きく期待されないと思いますけど。 # 「準備」とかはできないと思いますが構えずに挑み、 # 「筋がいい!」と思われれば決まります。勿論使える方が有利ではある。 # 中途だと即戦力前提なので使えない人は厳しいでしょう…。 ・簡単にAPIのコードを入力するツールがあるのですか? VCのIDEを使っているなら、インテリセンス(関数名の自動補完)が利きます。 こういうことではなくてですか? 基本的には、熟練のプログラマは主要なAPIくらい「何があるか、 何ができるか」を覚えているので、それでMSDN検索すれば、ものは作れます。 簡単に作成するためには、「ライブラリ」を作っておくなどが有効です。 > ・ゲーム系の会社に就職しようと思うならこの先、 > どんな順番で何をするのがお勧めか教えてください(時間があまりないので)。 ・学校の勉強をきちんとやっておく。(特に英語と数学と国語)   ドキュメントが英語とかよくある話、数学はゲームなら有効。   国語は、文学とかどうでもいいので、実用文の勉強をする。   結局、コード以外のものはだいたい日本語で書くんです。 ・C++の基礎をつかんでおく。(純粋な標準C++が基本) ・何かの仕様書(例えばMSDNでもIA32でもいい)を読んでみる。 ・下積みとしての苦労、理想とのギャップに備えておく。   いきなりヒーローなんて現実にはまぁありえませんので。

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

本格的なゲームであれば、そもそもWindowsの世界とは別の世界の話ですから、「VCでゲームプログラムはあまり書かない」となります。 (XBOXは、ちょっと例外になるのかな) 専用ハードに専用OSで、専用のミドルや開発環境になります。 じゃぁ、WindowsAPIとVC++での訓練は無駄か? とは言い切れません。ロジックの組み方とかデバックのコツ、またツール類の使いこなし方は、後々の助けになります。 1.頻繁に使うコードでも無い限り、そらではなかなかかけませんし、あやふやな記憶に頼ったコードより、実績のあるコードの方がデバック工数が節約できるので、「出来る人」はコードを暗記する人でなく、実績のあるコードの使い回しの出来る人です。 2.程度にもよります。1から10まで本の通りにしか出来ないのは、論外ですけど。(今どきは、本でなくネットやサイトやイントラですが) 3.そうです。少ない手間で完成度の高いコードを生成できるような開発環境を利用するのが、現実的です。 4.学業に専念し、余力を持ってWindowsAPIとVC++を勉強し、後は就職活動。かな?

関連するQ&A