ゲーム開発 駄文

【ゲーム制作】プログラミング初心者は最初にC言語を勉強するのがオススメ

 


 

ゲーム制作をする上で勉強をおすすめするのはC言語

ゲーム制作をする上で勉強をおすすめするのは C言語
※本当はゲーム制作をしない人にも C言語はおすすめしたいんだけど,今回は対象外.

C# とか C++ でもいいっちゃ良いんだけど,一番は C言語なんだ.
初心者相手に謎に Javascript ,ruby ,PHP あたりを推してくる人が一定層いて,Web界隈のステマだと思っているんだけど(嘘),絶対に C言語から始めたほうが良いと思っている

俺も最初に勉強したのは C言語だし(半分嘘.本当は HSP),後述するけどそれ以外の言語はほとんど勉強らしい勉強をしてなくても大丈夫なのが C言語の魅力なんだ.

今からプログラミングを勉強したいっていう人にもオススメできるので,その理由を書いていきたい.

C言語をおすすめする理由

C言語は,主流のゲームエンジンで使われている言語(C++,C#)の派生元で,C言語さえ理解しておけば他のたいていの言語の勉強は不要なくらい汎用的な知識が身につく言語なんだ.
C#や C++ はプロの現場でも使われているプログラミング言語で,プロになっても通用する知識という意味でも,まずは C言語をおすすめしたい.

JavaScript,PHP などの Web 系の言語は作りたいものが Webなら良いんだけど,決まっていないなら汎用的なPythonとかC言語を選ぶべきだと思う.

よく C言語は

  • 黒いコンソール画面に結果が表示されるだけだからつまらない
  • 初心者向けじゃない

とか言われて勉強するのにオススメされていなかったりするんだけど,
これはそう書いた人の知識・勉強不足でそう誤解しているだけ.

初心者にもオススメできるし,ゲームを作りながら勉強できるので個人的にはおすすめしたい言語第一位.

Python とか C# じゃない理由はよりハードウェアに近い部分(低レベルと言ったりもする)を直接触れるから.
そこがちょっと難しかったりもするんだけど,知識としてあったほうが絶対に良いんだ.

主なゲームエンジンと対応するプログラミング言語

(自明なんだけど)主なゲームエンジンと,対応するプログラミング言語をまとめてみる.

Unity

Unity は使用する言語をいくつかから選択することができるんだけど,一番主流なのは C#.
これは C言語から派生した言語で,構文もほとんど C言語と同じ.
なので C言語を勉強しておけばOK.

UE4

UE4は C++ を使用する.
C++ も C言語から派生した言語で,構文もほとんどというかほぼ全く C言語と同じ.
なので C言語を勉強しておけばOK.

DXライブラリ

DXライブラリ自体は C++ で書かれていると思うんだけど, API は C言語なんだ.
なので, C言語を勉強しておけばゲームが作れるし,C++ を使っても良い.
なので C言語を勉強しておけばOK.

プロの現場で使われている言語

上にも書いたけど,プロのゲーム開発の現場で使われているのは何かというと,Unity を使っている場合は C#,その他の場合はたいていC++

これは速度を重視するという意味もあるんだけど,主に開発対象のプラットフォーム(ゲーム機)が C++ でしか開発できないから.

最初にC言語を勉強しさえすれば,派生先の C++ や C# を取得するのはそれほど難しくないってわけ.
プロの現場まで通用する知識をつけられるっていう意味でも C言語の勉強はオススメ.

※ちょっとムズカシイ話をすると,Unity は 内部で C# のコードを C++ に変換するみたいなことをしているので,C# でも動くってわけ.

C言語を最初に勉強するのがオススメ

まとめると,C言語を最初に勉強するのは個人的にはオススメ.
なぜなら比較的ハードウェアに近い部分を直接触れる言語で,プログラミング全般に汎用的に使える知識が身につくから.

特に DXライブラリを使って,本当に生のC言語から触ってもらうのが一番だと思うんだけど,その過程をすっ飛ばしてUnity で C# から触るのもアリっちゃアリ.

ただC# は利用者に非常に簡単に作られている言語で,プログラミングの面白い部分や知識として知っておいてほしい部分が隠されているから,
やはりC言語も勉強しておくのが一番良いと思う.

「C言語 入門 」とかでググって上位にヒットしたページを丸2日やり込めば十分ゲームを作れるだけの知識は揃う.

ぜひ頑張って挑戦してみてほしい.

  • この記事を書いた人

GOTH

鹿児島県出身,吉祥寺在住の27歳.職業はゲーム会社でプログラマー.趣味はバイク,車,キャンプ,ガジェット,読書,そしてゲーム開発. サイトのテーマはプログラミングとガジェットでライフハック.たまに趣味に関する雑感や記録を残していく備忘録.ツイッターもやってます.
自己紹介
お問い合わせ

-ゲーム開発, 駄文