ゲーム作りの仕事 - プログラマー

こんにちは、新人プログラマーのシモンです。

ゲームを作ることに多くの人が参加します。デザイナー、プランナー、プログラマー、サウンド等々です。大まかに言うと、デザイナーはキャラのモデルやアニメーションを、プランナーはゲームの構造やゲームの物語を、プログラマーはゲームを実行するソフトを、サウンドはゲームの音楽や音響を作ります。

私はプログラマーだから以上の大まかな説明だけでははいやなので、プログラマーは何するかをもっと説明したいと思います。私はまだ新人なのでプログラマーの仕事について全部分かるわけではないが、今まで学んだことを説明したいです。


プログラマーの仕事はソフトウェアを作ることです。ソフトというものは何か皆さんは分かりますか?ソフトというものはパソコン上でデータを処理するプログラムですね。そして、プログラムというものは、コンピュータが分かる言語で書いてる命令です。

例えば、パソコンのOSはソフトです。読者さんが使っているブラウザはソフトです。パソコンで音楽を流すアプリケーションはソフトです。ゲームもソフトです。

ゲームはソフトだから、普通のソフトのようにデータの処理します。もちろん、ゲームに関わるデータです。例えば、「コイン100個をとったら、ライフアップ」というゲームのルールがあるとします。そのルールを扱う関数を見せましょう。その関数はコイン1個をとったときに動きます。簡単に書くと以下のようなコードになります。

int coins = 0;
int lifes = 3;

void takeCoin(){
    coins++;
    if( coins == 100 ){
        coins = 0;
        lifes++;
    }
}

以上のコードはcoins・lifesという変数を整数として定義します。coinsの初期値は0で、lifesは3です。その次、 takeCoin() という関数を定義します。takeCoin() の中身の意味は:

  coinsの値を1で増やす。
  もし、coinsの値が100と同じであれば、coinsの値を0にして、lifesの値を1で増やす。

ということです。変数、整数、関数、イコール・・・プログラムは数学ばかりですよ。数学が好きでなはい人にプログラマーの仕事はどうかなと思います。

私にとってプログラマーの仕事は満足を感じる仕事です。自分が作ったコードはゲームを動かしたり、ゲームの開発を支援したりします。自分の仕事は世界に広がってユーザに届きます。世界各地でプレイヤーさんは自分が作ったソフトによってゲームで楽しめます。

ゲームの業界に入りたい、プログラマーになりたい方のために、アドバイスしたいな~と思います。でも、私はまだ新人ですので、先輩に聞いたほうがいいと思いました。

プログラマーになりたい方は、専門学校や大学で何を勉強すればいい?という質問に対して、5人の先輩は以下の答えをくれました。
 ・線形代数と英語。
 ・色々:数学、物理学、などなど。
 ・CかC++で作品が作れれば良い。作品の内容は問わない。授業でも独学でも可。
 ・ゲームプログラマーになりたければ、ゲームを作ってみるのが一番。ゲームを製作する過程で勉強することは、書籍を読むよりも役に立つはず。その中で必要になった事をピックアップして勉強すればよい。あとは、自分が得意なところは、分野関係なく勉強してもいいと思う。思わぬところで役に立つかもしれないから。
 ・学校で教えてる基本的な技術はまず習得するのは前提で、とにかく自身が体験していない事を体験する。それは、遊びでもなんでもそう。人生経験。とにかく遊びまくるのも大事。ゲームのアイデアを出す際に、経験が多ければ多いほど、幅が広がると思うから、旅でもなんでもしてない事をする!

そして、いいゲームのプログラマーになるため、どのようなスキルを育てたらいい?という質問に対して、以下の答えをいただきました。
 ・どこか飛びぬけている。人間性がある。
 ・いいゲームプログラマーというものが、何なのかを考えられるスキル。あと遊び心。
 ・「分からない」「知らない」ことに対して積極的にチャレンジする能力。常に成長しようとする姿勢。具体的なスキルというよりは、心構えや行動の方が大切です。
 ・コミュニケーションスキル。いくらプログラムの事を知っていても話が通じなければだめ。話す・聞く。その中から相手が何を伝えたいのかを理解する能力。さらにそこから話を広げる能力が大事だと思う。
 ・スキルというか、多くの優秀なプログラマーと接する環境に身を置くべき。どんなに才能のある人でも限られた環境では限られた成長しかしない。今の時代、インターネットを通じて世界中のプログラマーと交流できるので優秀なプログラマーがどんどん出てくると思う。

ということです。

プログラマーという仕事の魅力を私は上手く伝えなかったかなと思いますが、プログラマーの仕事についてあまり知らなかった人には、上の説明が役立ったら嬉しいです。そして、プログラミングに興味ある方に上のアドバイスが役立ったら嬉しいです。