ゲームプログラミング演習Ⅱ
科目コード | 24S021570 |
---|---|
科目名 | ゲームプログラミング演習Ⅱ※ |
担当者名 | 秋山 康平 |
授業の概要 | SDL(Simple DirectMedia Layer)は、グラフィック描画機能、オーディオ、キーボード、マウス、ジョイスティックなどへの低レベルアクセスを提供するライブラリである。 本授業では、まずC++言語の基礎を学ぶ。そして、SDLライブラリを使ったゲームのプログラミングを通して、オブジェクト指向のゲームアプリケーションの開発の基礎を学ぶ。 |
実務経験内容 | ゲーム制作会社にて8年間勤務。ゲーム開発に関わる業務を行ってきた。 |
事前・事後学習の内容 | C++言語はC言語を基礎とした言語であるため、C言語と共通する基礎文法については本授業では詳しい説明を行わない。そのため、C言語については事前に復習しておくことが望ましい。また、SDLに関しては前期の「ゲームプログラミング演習Ⅰ」の内容を復習しておくと理解がしやすい。 授業で扱ったプログラムは、各自変更を加えて動作を確認すると更に理解が深まる。(所要時間1時間) |
到達目標 | C++言語の基礎を理解し、オブジェクト指向プログラミングによって実際に動くプログラムとして完成させられることを目標とする。 それと同時に、SDLを利用したゲームプログラムの作成を通して、統合開発環境の各種機能や外部ライブラリの利用方法を理解してもらい、他のアプリケーション開発にも共通する開発方法を習得する。 |
授業の進め方 | 演習形式 C++の基礎部分に関しては、Web上の資料を基に完成したデモプログラムの中身を見ながら、ポイントをピックアップして解説する。 SDLを使用したゲームプログラムは、テキストに沿って動作確認しながら進めていく。 演習時間中は随時、理解しにくい部分に関しての質問の受付や個別の解説を行う。 |
授業計画 | 【第1回】C++の概要 【第2回】コンソール入出力 【第3回】文字列を扱うstring型 【第4回】参照 【第5回】C++の関数 デフォルト引数、インライン関数 【第6回】C++の関数 関数の多重定義 【第7回】名前空間とusing宣言 【第8回】クラスの概要 【第9回】アクセス指定子によるアクセス方法の違い 【第10回】コンストラクタとデストラクタ 【第11回】暗黙の型変換と変換コンストラクタ 【第12回】new/delete演算子 【第13回】フレンド関数とフレンドクラス 【第14回】演算子の多重定義 【第15回】継承 【第16回】多重継承と菱形継承問題 【第17回】純粋仮想関数と抽象クラス 【第18回】関数テンプレートとクラステンプレート 【第19回】STLの概要(コンテナ、イテレータ、アルゴリズム) 【第20回】SDLの2Dゲームプログラム 【第21回】ベクトルと基礎の物理 【第22回】ゲーム木(ミニマックス法、αβ法) 【第23回】タイルマップ表示の実装 【第24回】幅優先探索とGBFS 【第25回】A*経路探索アルゴリズム 【第26回】OpenGLとシェーダープログラム 【第27回】座標変換の基礎(オブジェクト空間とワールド空間) 【第28回】行列と変換(変換行列との乗算による変換) 【第29回】テクスチャマッピング 【第30回】シェーダープログラムの演習問題 |
成績評価方法 | 平常点評価100%:講義項目の区切りごとに行う演習問題への取り組み状況を、チェックし評価する。 |
テキスト | Sanjay Madhav,ゲームプログラミング C++,翔泳社,ISBN978-4-7981-5761-0 |
参考文献 |