【インターンシップ発動編1期生】プログラマーのお仕事

こんにちは。プログラマー志望の深見尚平です。

前回の伊藤さんに代わりまして、今回は私がインターンシップの紹介をしていきたいと思います。

私は主にゲームプログラムのシステム面を担当しています。
今回は、ゲーム制作の中でもプログラマーの仕事に焦点を当てて、
皆さんの役に立つ情報をこのブログを通して発信できたらと思っています。
よろしくお願いします!

プログラマーって何する人?

ゲームを動かすのがプログラマーの仕事です。
アーティストの方が描いた絵を表示したり、キャラクターを動かしたり、
スタート画面からキャラクターセレクト画面への切り替えを行ったり…、
ゲームの中で動くものは全てプログラマーが作成します。

つまり、ゲームをどれだけ活き活きとしたものにできるかは、プログラマーにかかっています。
ゲームに命を吹き込む熱い仕事なのです。

作業の分担について

しかしながら、全てを一人で担当するのはなかなか難しいことなので、
ある程度の分野毎で分業し、複数人で制作するのがいまどきのゲーム制作の体制です。

現在進行中のインターンシップ~発動編~も例外ではなく、
3人のプログラマーが作業を分割して制作しています。

大まかに分けると、

■システム
ゲームにとって必要な土台を用意してあげて、スムーズに開発できるようにします。

■キャラクター
キャラクターの動きを調整したり、ゲームのバランスをとってより面白いものにします。

■シェーダ
物の見た目を綺麗にしたり、派手なエフェクトをかけたりして、見栄えをよくします。

となっています。

もちろん他にも細かい作業がたくさんありますが、3人のプログラマーで協力して制作に取り組んでいます。
▲作業の様子

読者の皆さんには、プログラミングは個人で黙々とやっているイメージがあるかもしれません。

しかし、現実はそうではなく、複数人で協力して行うのが普通です。
各々のスケジュールを確認しながら、ときには他のメンバーの手伝いをします。

インターンシップ~発動編~を通して、
プログラミングはチームプレイであることを改めて学ぶことができました。

システムって何?

私が担当する部分はゲームのシステム面になります。

例を挙げると、キャラクターが地面の上を歩いていくとしましょう。

その「歩く」という動きをさせる裏では、地面の高さを調べる、障害物の有無を確認する、
移動のための手順を作成する…など様々な処理を行っています。

どれもキャラクターが自由に動き回るには必要なことです。

ゲームに必要な「~を動かしたい!」などの要求を十分に満たす土台を作るのが、
システムプログラマーの仕事です。
物を動かすのではなく、物を動かす仕組みを作る
と言ったところでしょうか。

システムははっきり言って、地味な裏方の仕事です。
ですが、私は非常に重要な仕事であると思っています。

システムが使いやすければ、プログラムのバグを減らすことができ、
効率よくゲームを制作することができます。
制作のスピードが上がれば、その分ゲームのクオリティを上げる部分に注力できるのです。

私はこれまでの作業で、キャラクターの動きや画面の切り替えを簡単に追加できる仕組みを作りました。
現在は、そのプログラムを増田さんが作成したゲーム本体のプログラムに組み込む作業を行っています。

この作業が終われば、キャラクターを動かす処理を好きなだけ追加でき、
追加した処理を自動的に実行することができるようになります。

いよいよ本格的にゲームの中身を作っていく作業が始まるのです。

他職種との関わり

プログラムだけではゲームをつくることはできません。
キャラクターや背景の画像、3Dモデルとモーション、効果音とBGMが合わさることで一本のゲームになります。

サイバーコネクトツーでは、グラフィック全般を担当する職種をアーティストと呼んでいます。

アーティストが作成するデータは、プログラマーがプログラムで読み込み、ゲームに反映します。

そのため、データの形式や容量はプログラマーが指定することになります。
画像であれば、どれくらいの解像度まで使えるのか、ゲームを動かすハードウェアの性能や
プログラムの処理速度と相談しながら決定します。
▲アーティストと随時話し合いをしながら制作を進めます。

プログラムで何ができて、何ができないのか、
納得できる理由をもってアーティストに指示を出さなければなりません。

また、ゲームをできるだけ早くプレイできるようにするため、
アーティストに仮の画像や3Dモデルの作成をお願いすることもあります。

他職種の方に緊急の作業が行ってもらう場合は、お互いのスケジュールをすり合わせ、
制作の進行になるべく影響が出ないように気を遣います。

このようにゲーム制作では、他職種と連携する機会が多くあります。

プログラマーはプログラミングだけでなく、
コミュニケーションも非常に大切な技術であると痛感しています。

技術指導担当の方々

ゲーム制作をしていると、分からないところがたくさん出てきます。
そういった場合でも安心です。
インターンシップ~発動編~ではサイバーコネクトツーの社員の方々より、
本格的な指導をして頂けます。
▲指導の様子

実際にプロの現場で活躍されている方々です!

普段なかなか答えが見つからない技術的な疑問に対し、実践的な答えをいただくことができます。

また、スケジュールの立て方やメールの書き方など、
社会人として必要な知識も教えていただけます。

実際発売されているゲームの、「あそこどうなってるんだろう?」なんて話も聞くことができます。
もちろんゲーム以外の話でもOK。
プライベートに踏み込んだ、あんなことやこんなことを聞くこともできたりします。

社員の方々は皆、忙しい中でも明るくフレンドリーで、楽しくかつ熱心に指導してくださり、
私たちはいつもやる気をいただいています。

おわり

今回はプログラマーについてお話しました。
ゲーム制作におけるプログラマーの仕事やインターンシップ~発動編~がどのようなものなのか、
以前より知ることができたと思います。

また、このブログがきっかけとなり、ゲーム制作に対して興味を持っていただけると幸いです。

それではまた次回お会いしましょう!