現在、プログラミングは非常に注目を集めています。
プログラミングを実行するには、様々なやり方があります。
その中でも「C++」は、
有名なプログラミング言語の1つで、今もよく使われる、求人も多いプログラミング言語の1つです。
- C++は、汎用性の高いC言語を改良してつくられた
- C言語にクラス、仮想関数、例外処理などを加えて、より便利になった
- フロントエンドでもバックエンドでも使える
といった特徴があり、
「オブジェクト指向」が使え、
多人数での開発も行いやすくなっています。
C++は、3次元データの処理にも向いているので、
最近ではVRなどの処理にも活用されています。
プログラマとしての求人が多いなどのメリットもあり、
C++の人気の秘訣となっています。
といっても、まったくの初心者だったり、
プログラミング未経験の方の場合、
- どうやってC++プログラミングを学んだらいいの?
と思われる方も多いかと思います。
初心者の方は、未経験者向けのC++プログラミングの初学者本を選ぶことがオススメです。
ただし初学者向けの本というのは、
- キーボードを打ち込むことに慣れていない
- コンピュータの環境の設定がよく分からない
- プログラミングそのものの考え方が理解しにくい
といった、初学者がつまずきやすい、これらの意外な盲点まで解説があるような本になります。
逆に言うと、初心者の方は、こういった点もきちんと解説してある本を使うことで、
プログラミングでつまずかずに身につけることができます。
また、プログラミングは、楽しいと感じれると、どんどん身につく性質があります。
- ゲームを作りながらプログラミングを学ぶ
ことで、楽しみながら、やる気を持続させるハードルを下げることができます。
とはいっても、初心者や未経験者の方が、
初心者向けの本を選ぶのはハードルが高いなぁ
と思われる方も多いかと思います。
そこで本記事では、
プログラミングの初心者の方が、
- C++でのゲームプログラミングを学びたい
- 楽しく・継続的にプログラミング学習がはかどる
- ゲーム開発の全体像がつかみたい
といったあなたのために、オススメの本などをご紹介します。
本記事の概要 [表示]
「ゲームプログラミング」に「C++」で、プログラミングの基礎から未経験で入門したいあなたにおすすめの本や参考書はこちらをどうぞ
まったくのプログラミング初心者の方は、
C++を学ぶには、まずは以下の本などで、
基礎の基礎をサクッと頭に入れておくことをおすすめします。
(ゲームとC++をいっぺんに両方学ぶより、
基礎については、別々に学んだ方が、結果的に効率的だと思います)
C++の絵本 第2版 C++が好きになる新しい9つの扉
本書は、
- プログラミングのまったくの初心者の方
- 基礎が身についてないなぁと感じる方
- 他の言語のプログラミングを少しかじったことがある方
などが、C++のエッセンスについて、サクッと学べる1冊です。
イラストや図などをふんだんに使われており、
視覚的にも理解しやすいように作られています。
C++の最初の1冊におすすめです。
ただし、C言語を学んでいるという前提で書くことによって、シンプルな構成になっています。
C言語を理解していない方はいきなり本書だとつまずいてしまう可能性があるかと思います。
まずはC言語をサクッと学ぶことで、
結果的にC++を効率的に学ぶことができます↓
他にC++初心者向けの本には以下のものもございます↓
プログラミング初心者の為のC++超入門編: 知識ゼロ経験ゼロでもすぐ分かる!初心者の為だけの入門書! プログラミング初心者の為のC++
本書は、これまでプログラミングを全然したことがない、といった、ほんとのC++初学者のための入門書と成っています。
- そもそもプログラミングとは?
- プログラミング言語の歴史
- C++の元になったC言語について
など、プログラミング以前に知っておくと良い背景知識も丁寧に解説されています。
- C++と他言語との違い
- C++の長所や短所
- きれいなコードとは?
といったC++を書く上で知っておくとよい知識もまとめられています。
またプログラミングの基本的な考え方がまとめられており、
C++以外の他言語をプログラミングする際も役立つ知識を学べます。
これらの予備知識を身につけた後で、いよいよプログラミングに入っていきます。
環境セットアップではMicrosoftのVisualC++のダウンロードとインストールが丁寧に解説されていて、
初学者の方も迷うことなく環境構築ができます。
その後、プログラミングの解説が始まります。
プログラミングの基本の形
変数とは、変数の型、変数の活用場面
関数とは、関数の種類と利用方法
条件分岐のif と くりかえし処理の for が応用としてまとめられています。
プログラミングのコードだけでなく、1行ずつ解説があり、
- 気をつけることはなにか
- 注意点は何か
- 他にどのようの書き方があるのか
など、単にコードを覚えるのでなく、理解しながら読み進めることができます。
まったくのプログラミング初心者の方が、
C++を勉強されるときに、
まず読むのをオススメしたい1冊となっています↓
このシリーズは、続編がありまして
入門編と続・入門編へと続いていきます。
この3冊を読み終える頃には、
C++がどんなものかイメージできるようになっているかと思います。
これらはKindle Unlimitedの登録で無料で読めます。
Kindle Unlimitedに登録したことないあなたは、
お試し登録をしてみてはいかがでしょうか。
(初回30日間無料で体験できます)
これらに加えて、
「プログラミングの考え方」について学んでおくと、
その後の理解が促進されます。
プログラミングを、はじめよう
プログラミングするには、「プログラミングの背景にある考え方」の理解も重要です。
本書は、そのプログラミングの考え方を理解をさせてくれる1冊です。
プログラミングの考え方を理解していると、
様々なプログラミング言語に共通した根底にある感覚が身につきます。
また、実際のプログラマーが無意識におこなっている頭の中の思考過程を理解することもできます。
本書を読むことで、プログラミング初心者の方が、
- プログラミングってどんなものなのか
- より正確なイメージを持つことができ、
- その後の学習を加速させることができる
1冊となっています。
ここからは、C++によるプログラミングで、ゲームを作りながら学んでいける本をご紹介していきます
ゲームプログラミングをC++で実行しながら学べるおすすめ本はこちらです
1冊目はこちら【南カリフォルニア大学のビデオゲームプログラミングコースの内容を元に書かれた1冊です】
ゲームプログラミングC++
本書は、C++でゲームプログラミングを本気で作りたい方向けの、系統的な基礎力をつけれる教科書です。
現在、様々ゲームは、ゲームエンジンやツールを活用することで、より手軽にプログラミングできるようになってきています。
しかしエンジンやツールのコアの部分は、
性能が高く・使いやすいC++で書かれていることがあり、
C++は本気でゲーム開発をしたいあなたに適した言語といえます。
ゲームに組み込まれた様々なシステムが
どのような仕組みでコードされ、連動しているのかを
しっかり学ぶことができます。具体的には、
- ゲーム数学(ベクトルや基礎物理)
- 人工知能(AI)
- OpenGL
- 3Dグラフィックス
- オーディオ
- 入力システム
- カメラ
- 衝突検出
- ユーザーインターフェイス
- スケルタルアニメーション
などが解説されています。
注意点としては、C++の中級者以上を想定して書かれているので、
C++初学者の方は、まずC++の基礎を固めてから読まれることをおすすめします。
学生さんだけでなく、社会人の方、趣味でゲームを作りたい方も、
確実にゲームプログラミングの知識を広げることができる1冊です。
ゲームプログラマになる前に覚えておきたい技術
本書は、セガの新人教育カリキュラムを元にまとめられた、ゲームプログラマになる方が知っておいてほしい技術についての解説書です。
2Dのパズルゲームから始まり、3Dゲームのプログラミングまで、ステップバイステップで進んでいきます。
単なるコードや技術の開発にとどまらず、なぜこの技術を使うのか?といったところまで学べるのがうれしい1冊です。
入門ゲームプログラミング (Professional Game Developerシリーズ)
本書はゲームプログラミングの現場で求められている、プログラム技術、ゲーミングエンジンへの理解を深めてくれる1冊です。
- 2Dゲームの作り方
- ゲームにおけるC++言語の利用法
- DirectXの使い方
- サウンド
- ネットワークやゲームエンジンの構成と設計
といった、ゲーム制作の講義で行われる内容を網羅した1冊となっています。
ゲームプログラマのためのコーディング技術
本書は、C++のコードを”わかりやすく”、”効率よく機能する”ように書く技術を学べる1冊です。
ゲーム開発では、多くの機能を持たせるとプログラムが巨大になることもしばしばです。
プログラムは、大人数で、何ヶ月もかけて書くこともあります。つまり、
- 他の人が書いたコードが読みやすいこと
- あとで見た時に何の機能かわかりやすいこと
など、職業としてプログラムを書く時に必須のコーディング技術を学ぶことができます。
- 複雑なコードをシンプルに小さくするテクニック
- オブジェクト指向の設計の原則やよく使われるパターン
などを学びながら、より良いシンプルなクラス設計などを理解することができます。
こちらもまったくの初学者というより、ある程度経験を積んだ後で、
仕事としてやってゲームプログラミングをしていきたい方など、
さらにもう一歩レベルアップしたいという中級者以上向けの1冊となっています。
より良いコーディングのテクニックとしては、こちらも人気です↓
ゲームプログラマのためのC++
本書は、ゲーム開発の初級レベルを終えた人が、中級から上を目指していくための1冊になります。
C++をある程度理解している方向けに、
ゲームプログラミングでのC++の活用方法が網羅的に紹介された1冊です。
第1部でC++の要点がまとめられた後で、
第2部では、C++の活用として以下の点が学べます。
- パフォーマンスの最適化(関数のタイプ、インライン、関数オーバーヘッド、コピーの回避、データキャッシュとメモリアライメントなど)、
- メモリ割り当て(スタック、ヒープ、静的メモリ割り当て、動的メモリ割り当て、カスタムメモリマネージャ、メモリプールなど)
- C++のパターン(パターン、シングルトン、ファサード、オブザーバ、ビジターなど)
- 標準テンプレートライブラリ(STL)(コンテナ、アルゴリズムと高度な話題、)
- カスタム構造とアルゴリズム
さらに第3部では、ゲーム開発のテクニックとして、
- 抽象インターフェイス
- プラグイン
- C++とスクリプト言語
といった点が解説されています。
C++でゲームプログラミングする際に、
辞書として弾けるように充実した内容となっています。
その一方で、C++の初学者にはハードルが高いので注意されてください。
原著もございます↓
ゲーム開発のための数学・物理学入門 改訂版 (Professional game programming)
本書はゲームに欠かせないグラフィックスを動かすための例題やサンプルコードに加えて、
数学や物理の知識も学べるお得な1冊です。
三角法、ベクトル・行列、変換、運動量と衝突や運動
など、様々な項目を1つひとつわかりやすく学べます。
数式は苦手意識がある方にもわかりやすく学べるように書かれており、ゲーム開発のスキルアップに繋げれる1冊です。
ちなみに、プログラミング言語はC/C++/Objective-Cで学べます。
サンプルコードを読みながら、2Dゲームプログラミングの定番処理を学んでいける本もございます↓
実例で学ぶゲーム開発に使える数学・物理学入門 (Game Developer’s Resources)
ゲームコーディング・コンプリート 一流になるためのゲームプログラミング (Professional game programming)
本書は、「ウルティマ」ゲーム開発者によるゲームプログラミングの解説書です。
ゲーム開発は、単にプログラミングの内容が違うということにとどまらず、
まず第1部、ゲームプログラミングの基礎として、
ゲーム業界に独特な特徴についても解説されています。
ゲームプログラマだけでなく、ゲーム開発に携わりたい方なら、どなたでも勉強になる内容となっています。
加えて、ゲームの構成要素、スマートなコーディングのためのヒントとスタイル、ゲームプログラムのビルド、などが解説されています。
第2部ではゲームプログラミングの基本的な技術として、ゲームの初期化・終了処理、メインループの制御、ゲームデータのロードとキャッシング、入力デバイスのプログラミング、ユーザーインターフェイスのプログラミング、などの解説がされています。
第3部では、ゲームプログラミングの実践的な技術として、
ゲームのイベント管理、Luaを使ったスクリプティング、ゲームオーディオ、3Dの基本、3Dシーン、衝突と初歩的物理学、ネットワークプログラミング入門、などの解説があります。
第4部では、高度なトピックと技術の統合として、
ゲームAI入門、マルチプログラミング入門、ティーポットウォーズ、C#による簡単なゲームエディタ、ゲームのデバッグ、課題を片付ける、大きなトラブルに対処する、
といったことが解説されています。
ゲーム開発のノウハウが、設計手法からビルドプロセス、グラフィックス、コントローラ、ネットワーク、AI、デバック方法まで網羅的にゲーム開発全般を扱った解説書になります。
洋書ではこちらもございます↓
というわけで、本記事では、
プログラミングの初心者の方が、
- C++でのゲームプログラミングを学びたい
- 楽しく・継続的にプログラミング学習がはかどる
- ゲーム開発の全体像がつかみたい
といったあなたのために、オススメの本などをご紹介します。
こちらもございます↓
こちらもございます↓
『「ベクトル」を学びたい・復習したい方にチェックしてほしい良書、10冊はこちらです』
『「ベクトル」を理解したい!ベクトルがわかりにくい4つの原因とその対策とは?』
『「ゲームプログラミング」に「Unity(ユニティ)」で基礎から入門したいあなたにおすすめの本はこちらです』
『プログラミング超初心者のあなたが、独学で基礎から入門するのに役立つ、プログラミング勉強法、おすすめの本はこちらをどうぞ』
『「ゲームプログラミング」をやりたいプログラミング初心者の方向けのおすすめのプログラミング言語と参考書や本はこちらです』
↓こちら無料で読めます