| 授業計画 | 
		
			| 回数 | 学習目標 | 学習項目 | 
		
			| 1 | アンドロイド開発を始めることが出来る。作成したアンドロイドプログラムを実機で動作させることが出来る。 | 実習環境の準備。アンドロイドスタジオの使い方と実機(Huawei P30Lite)の使い方。動作確認。 | 
		
			| 【理解度確認】動作チェック。 | 
		
			| 2 | アンドロイドプログラミングの開発環境の仕組みを知り、XMLのパレットに置かれたコンポーネントを使用出来る。 | クロスプラットフォーム環境でのデバッグ方法。XMLデザイン画面の用法。XMLとコードの連携。idリソースの仕組み。スケルトンコードの説明。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 3 | デザインツールを活用したプログラミングが出来る。 | パレットにあるコンテナとコンポーネントの組み合わせ。イベント処理。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 4 | カスタムビューを作成し、使うことが出来る。 | Viewクラスを継承したクラスの作成とオーバーライドメソッドの実装。簡単な描画処理とタッチイベントの実装。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 5 | カスタムビューとXMLとの連携が出来る。 | カスタムビューをパレットのviewから選択し、マウス操作でXMLへ張り付ける。パレットにあるコンポーネント(ボタンなど)とカスタムビューとを関連づけ、例えばボタンを押すと描画内容が変わるようにする。課題提出の準備。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 6 | アンドロイドのアプリケーション作成が出来る。 | 画像・音声などのリソースの扱い。課題制作演習 | 
		
			| 【理解度確認】課題提出。 | 
		
			| 7 | 外部ライブラリやフレームワークを知り、使用出来る。 | NIANTIC社のIngressというゲームの制作で使用されたLibGDXを導入。基本コードの理解。HieroやTexturePacker, Particle Editorなどの各種ツールの使い方。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 8 | libGDXを使って文字表示ができる。 | ビットマップフォントの用法。Hieroを使ったカスタムフォントの作成と描画。FreetypeFontGeneratorを使ったベクターフォントの活用。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 9 | libGDXでの自在な描画操作が出来る。パーティクルエフェクトが使えるようになる。 | スプライトクラスの用法。拡大縮小、平行移動、回転などのスプライトメソッドの活用。Pixmap。Particleエディタの用法と活用。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 10 | libGDXでのキーフレームアニメーションが出来る。 | TexturePackerと作成されたAtlasファイルの読み込むと表示。他のゲームライブラリとの共通性・互換性の理解。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 11 | libGDXでの状態遷移、コンテナとコンポーネントの組み合わせを的確に行うことが出来る。 | Splash Screenによる状態遷移。Scene(コンテナ)とGroup、Actor(コンポーネント)の使用法。Actionによる動作手法。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 12 | Box2Dを使った物理演算を活用出来る。 | Box2Dの導入と使用例の理解。重力落下。衝突。初速度設定によるジャンプ。加速度設定による動き制御。形状の反映。摩擦・弾性定数・密度の設定。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 13 | シェーダープログラミングが出来る。 | GLSLを使ったシェーダープログラミング。サンドボックスの活用。メインプログラムからシェーダープログラムへの値の引き渡し。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 14 | libGDXをつかった3Dプログラミングが出来る。 | PerspectiveCameraの導入。プリミティブの表示。ライトの導入。OBJデータの読み込みと表示。ボーンアニメーションを含むFBXコンバートデータによる表示。 | 
		
			| 【理解度確認】各自の実習報告。 | 
		
			| 15 | マルチプラットフォーム環境でゲーム制作が出来る。 | 課題制作演習。 | 
		
			| 【理解度確認】課題提出。 |