こんにちは。プログラマーのIです。トイロジックに新人として入社してかれこれ6年が経過しました。C++は学生のころから書いていましたが、ゲームプログラム特有の書き方やノウハウなどを学んだのは会社に入ってから。新人の頃は実際のコード見て、わからないところがあれば先輩方に聞いて教えてもらっていました。そんな新人も、6年もたてば今度は教える立場になります。実際に教えてみるとうまく伝えられなかったり、知らないこともまだ多く、先輩方に頼ることもしばしば。
そんな頼りになる先輩方も最初はみんな新人で、一生懸命勉強して技術を身につけてきたからこそ頼られるようになったはずです。自分も頼られる先輩になりたい!
そこで、トイロジックのプログラマーがC++やゲームプログラムを学ぶのにどんな書籍を読んだのかを聞いてみましたので紹介したいと思います!
C++を学ぶのに読んだ書籍
トイロジックはコンシューマーゲームを開発する機会が多い会社です。
コンシューマーゲームの開発では今もC++が主流だと思います。C++は必須のスキルです。
- 一番多くのプログラマーが読んだ。独習C++ 第4版 (最新版は独習C++ 新版)
最も多くのプログラマーに読まれていたのが独習C++でした。プログラマーにとって定番の書籍といってもいいかもしれません。
トイロジックでは新人研修の一環としてこの本を新人の皆さんに読んでもらっています。
とあるプログラマーによれば「C/C++をとりあえず一通り学んだあとに読むととても読みやすいし、C++への理解も深まるよ!」だそうです。
- C++のステップアップにオススメ。Effective C++ 第3版
こちらもほとんどのプログラマーに読まれていました。
より良いプログラムを書くにはどういう書き方がいいか、といったことが書かれています。
C++がある程度書けるようになってきたところで、ステップアップとして読んだプログラマーが多いようです。
- 読みやすいプログラムを書くために。リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
チーム開発では、他人のコードを読んだり、自分のコードを見せたりする必要があります。
そんなときに、読みやすいコードとはどういうものなのか、なにを意識するべきかといったことが書かれています。
この書籍を読んだ多くのプログラマーが是非読んでほしいと言っていました。
ゲームプログラムについて学んだ書籍
ゲームプログラムではリアルタイムなインタラクションが求められます。リアルタイムでかつリッチでしかもインタラクティブであるために必要な技術やノウハウはたくさんあります。
- ゲームプログラムが一通りわかる。ゲームプログラマになる前に覚えておきたい技術
ゲームプログラムの基本的なところがほとんど網羅されています。
とりあえずゲームプログラムの全体像を掴むのにとても良かったそうです。
- どんな技術が使わているのかを知れる。ゲームエンジン・アーキテクチャ 第2版
今のゲームはいちから全てを書いているわけではなく、ゲームエンジンと言われるゲームを動かす仕組みがあり、その上で実際のゲーム部分を書いていることがほとんどです。
そんなゲームを動かす仕組みの部分にどんな技術が使われているのかの説明がされています。
プログラム以外で読んだ書籍
ゲームプログラマーに求められるのはプログラミングスキルだけではありません。
数学・物理やゲームデザインも一通り知っておかなければ面白いゲームを作るのは難しいかもしれません。
- ゲームデザインのセンスを身につけるために。3Dゲームをおもしろくする技術 実例から解き明かすゲームメカニクス・レベルデザイン・カメラのノウハウ
今のゲームはいちから全てを書いているわけではなく、ゲームエンジンと言われるゲームを動かす仕組みがあり、その上で実際のゲーム部分を書いていることがほとんどです。
そんなゲームを動かす仕組みの部分にどんな技術が使われているのかの説明がされています。
ためになる書籍はたくさんある
上記で上げた書籍は、技術や環境が少し古くなってしまっているものもありますが、どれもいい書籍ばかりなので興味があったら読んでみてください。
今回取り上げた書籍はあくまでも「今トイロジックで働いているプログラマーはどんな書籍を読んで学んできたのか」を聞いたうちの一部です。プログラミングに関する書籍、ゲームに関する書籍はまだまだたくさんあります。
面白いゲームを作り続けるために
入社したから、ゲームを作れるようになったから、で学習は終わりません。面白いゲームを作り続けるには、それに見合う技術力が必要です。時代が変われば必要とされる技術が変わります。ゲーム機が変われば使えるノウハウが変わります。技術力を保ち続けるには、古くからある技術を知り、常に新しい技術を追い求めることが大切だと思います。特にC++やゲームに関係する技術はここ数年間でかなり変化しています。
新しい技術がどんどん取り入れられている一方で、その裏では古くからある技術が基礎となっているものも少なくありません。今、どんな技術がトレンドなのかアンテナを張り続け、技術を学び続けられる人がゲームプログラマーに向いているのかもしれません。
最後に
トイロジックのプログラマーは「プログラマ定期勉強会」などの様々な勉強会を開催し、技術の共有を行うなどして熱心に技術を学んでいます。それもこれも面白いゲームを作り続けるため!
興味があれば、新しい技術や面白い技術にどんどん挑戦できます。
そんな環境に興味がある方は、ぜひエントリーしてみてください!