以前、情報処理技術者試験はゲーム開発の役に立つかというテーマで記事を書きました。
今回は情報処理技術者試験よりも直接的にゲーム開発、特にグラフィックスプログラミングをするなら知っておいて損は無いCGエンジニア検定について紹介します。
DirectX や OpenGL を使用している方はもちろん、 Unity や UnrealEngine を使用している場合でも役に立つ知識を得ることが出来ます。
目次
CGエンジニア検定とは
CG-ARTS協会という団体が実施している画像処理やCG関連の検定群「GC-ARTS検定」の1区分です。
CGエンジニア検定は、その名の通りCG(コンピュータグラフィックス)を開発で使用するエンジニア向けの検定です。
難易度はベーシックとエキスパートの2種類があり、どちらも70点合格です。
7月と11月の年2回実施されています。
応募者数・合格率
元データ:CG-ARTS検定 | 応募者数と合格率(2022年8月更新)
前回(2022年前期)
ベーシック | 応募者数 1324人 / 合格率 60.7% |
---|---|
エキスパート | 応募者数 618人 / 合格率 29.4% |
前々回(2021年後期)
ベーシック | 応募者数 1583人 / 合格率 60.1% |
---|---|
エキスパート | 応募者数 769人 / 合格率 32.6% |
ベーシックは半数超が合格、エキスパートの合格率は低いですが、資格試験としては難関の部類には入らないような合格率です。
僕自身が両方とも受験した体感としても、4択問題がメインなこともあってテキストで知識を身に着けて挑戦すれば難しい試験ではありません。
受験体験記
僕がベーシックに合格したのは高校生の時です。
当時は商業高校で理系というわけでもない状態でしたが、ベーシックに出てくる数学の難易度はそれほど高くないので問題なかったように思います。文系の方でもベーシックまでは大丈夫でしょう。
エキスパートは、専門学校の授業である程度ゲーム開発で頻繁に利用される数学(三角関数・ベクトル・行列など)を学習した後の合格でした。
さすがにこの辺りの数学知識が無いとエキスパートを学習すること自体が大変でしょう。
数学に関しては、抵抗がある人ほど『数学ガールの秘密ノート』というシリーズがとにかく楽しく学習できるように書かれていて超絶オススメです。著者もプログラマーです。
CGエンジニア検定のメリット
ゲーム開発との親和性の高さ
ゲームもCGで作られるので、ゲーム開発の中でも特に3Dグラフィックスに関わる部分はCGエンジニア検定の出題範囲とマッチしています。
CGエンジニア検定の出題範囲を全体的に理解していると、グラフィックス関連の実装をする時に知らない言葉が出てきてつまづくという事はかなり減らせるでしょう。
公式テキストの存在
見落とされがちですが、検定を実施している協会がテキストを出しているというのは結構大きなメリットです。
各社こぞってテキストを出しているような試験だと、どれを買うか悩むところから始まってしまいますからね…。
CG-ARTS協会に関してはCG技術の普及を目的としているので協会自身でテキストを出しているのは当然といえば当然なのですが、このテキストが非常に良いです。
- 情報が精査されている = 不要な情報が無い
- 情報の幅が広い
- 図解が分かりやすい
- 参考画像が多い
日本語でここまでCG技術について情報がまとまっている本はなかなかありません。
エキスパート向けのテキストは『コンピュータグラフィックス』です。こちらはグラフィックス部分に関してはベーシック向けの『ビジュアル情報処理』の上位互換なので、ベーシックから受験する場合でも『コンピュータグラフィックス』だけで特に問題ありません。
僕は検定に合格した後もテキストだけは辞書的に使うために手元に置いていました。
試験勉強をした時の書き込みが多いのが気になっていたのと、この記事を書いていて改訂版が出ていたことを知ったので今回改めて購入し直しました。
自分でもこの本は手元に置いておきたいと感じるくらい、CGエンジニア検定そのもの以上にテキストがオススメなんです笑
しかし、これからCG技術の勉強を始めてベーシックを受験するという人にとっては『コンピュータグラフィックス』の内容は難しく感じると思います。
余裕があれば『ビジュアル情報処理』から勉強を始めるのがスムーズでしょう。
また、実際に手を動かして実装をするプログラマー・エンジニアでない人が知識としてCG技術について知っておきたいということであれば『ビジュアル情報処理』がオススメです。
『ビジュアル情報処理』は別の区分である画像処理エンジニア検定の内容も含まれているため範囲が広いですが、こちらも知っておいて損のない知識が多いです。
CGエンジニア検定のデメリット
問題を解けるだけでは実装レベルに落とし込めない場合も
例えば参考問題としてこんな問題があります。
多面体を滑らかにレンダリングするためには, 多角形内部の輝度補間処理により算出する, そのうち, 頂点の法線ベクトルを線形補間することによって多角形内部の点での法線ベクトルを求め, その点の輝度を計算する方法はどれか. – GCエンジニア検定ベーシック参考問題 – 第3問のb
なんのこっちゃ。で問題ないですよ笑
答えは「フォン(Phong)の方法」。フォンシェーディングと呼ばれる手法です。
このように手法の概要を知っているかどうかを問う問題も多いです。
しかし、この問題文の内容自体が理解できても実装まで出来る人はなかなかいないでしょう。
実際に実装するとしたら、具体的な計算式などを調べる必要が出てきます。
それでも、手法自体を知らなければ作り方を調べることすらできないということを考えると、知っておくだけで十分価値があります。
また、この検定の出題範囲になっているような手法は広く使われているものなので、調べれば実装に落とし込む方法が出てきます(『コンピュータグラフィックス』にもある程度書いてあります)。
受験料が高め
受験料はベーシック5,600円・エキスパート6,700円と、両方ともテキスト・問題集も揃えて受験して…となるとそれなりの金額になります。
一応CG制作会社と並んでゲーム会社も数社、CGエンジニア検定を推奨しています。
とはいえ、国家資格の情報処理技術者試験と比べると企業の採用担当側の認知度は低いでしょう。
合格したことによる評価よりも、CG技術の知識を得ることができるという点に価値のある試験と言えます。
金額面で気になる場合は、先述したテキストのみ購入して学習するだけでも知見が広がるでしょう。
合格を目指すことが学習のモチベーションになる人も多いかと思うので、できれば実際に受験して欲しいところではあります。
ベーシックの問題を見て簡単に感じる方はいきなりエキスパートを目指しても問題ありません。
ちなみに、問題集はベーシックとエキスパートが1冊でセットになっています。
こんな人におすすめ
クライアントエンジニア志望
最近はゲームエンジンが主流になり、CG技術の詳しいことまで知らなくてもゲームを作れるようになってきました。
しかしそれは小規模開発における話で、より品質を追求する大規模な開発においてはまだまだグラフィックスに強いエンジニアは必要とされています。
ゲームのクライアント(サーバ側ではなく、ゲーム画面の動作)を作るエンジニア・ゲームプログラマーになりたい人であれば、CG技術に明るくなっておくことで需要はいくらでもあります。
CG技術を体系的に学べる環境にいない人
ゲームプログラミングの専門学校やCG技術を学べる大学などにいる場合であれば既に知っている内容が多くなるかと思います。
体系的に学ぶような機会が無い人にとっては、一度こういった検定試験でCG技術の全容を掴んでおくメリットは大きいでしょう。
まずは参考問題
CGエンジニア検定ベーシックの参考問題がこちらです。まずはこちらをやってみて下さい。
この参考問題でわからない問題が多かったらグラフィックスプログラミングをするゲームプログラマーとしては危ういです。せめてベーシックの範囲くらいは、押さえておきたいところです。
まとめ
ゲーム開発はCG技術以外にも多種多様な技術が必要とされるので、必ずしもグラフィックスに強い必要があるわけではありません。
特に集中して取り組みたい分野、例えばサウンドやAIなどですが、そういったものが定まっていない方はゲーム開発において幅広く役に立つCG技術を一度学んでみてはどうでしょうか!