ゲームノシクミ

21
発表者:CREST

Transcript of ゲームノシクミ

発表者:CREST

自己紹介

仕事とか

阪工大で助手やってます

ネットワークとCGが専門

趣味とか

プログラミングとかデバッグとか逆アセとかモデリングとかデッサンとか写真撮影とか音楽鑑賞とか

クリエイティブなものが好きです

ゲームプログラミングってなんぞ?

ゲーム

このセッションではゲームといえばデジタルゲームのこと

ゲームプログラミング

ゲームロジック+コンテンツ

プロセス(ゲームロジック)とコンテンツを結び付けるのがゲームプログラミング

ゲームプログラミングで扱う技術

非常に多岐にわたる

数学・物理

○ 代数、パーティクル、力学

コンピュータグラフィクス

○ スプライト、アニメーション、RTR、HDR

サウンド

○ 音声合成、SE・BGM再生

人工知能

○ A* 、HMM、ファジー、推論

たくさんありすぎですね!

なので、弾幕STGを題材にゲームの仕組みを見ます

ゲームの処理

ゲームの処理フロー

ほぼすべてのゲームは、入力、更新、描画で成り立つ

更新

入力

描画

ゲームのタスク

タスクとは

「タスク」とは擬似的に並列処理を行うスレッドのような概念

タスクになるもの

更新や描画が必要なプロセス

タイトル画面とかやステージなどのシーン

プレイヤーキャラクター

タスクの管理

じゃぁ、各々のタスクはどうやって管理すんねん?

タスクシステム

FSM、HFSMなどのオートマトン

今回は、リストを使って簡単に作れるタスクシステムについて紹介します

タスクシステム(1)

タスクシステムとは

各タスクをリストでつないだもの

タスクを一つの単位として扱えるので、クラス化しやすく、管理が容易

タスクシステム(2)

タスクシステムに必要な機能

必須

○ タスクの登録・実行・描画・削除

オプション

○ 優先順位の制御

○ タスクのグループ分け

タスクシステム(3)

C++での実装

タスクを一つのクラスとして作り、リスト構造で管理する

フリータスクリスト

アクティブなタスクリスト

タスクの割り当て

タスクシステム(4)

弾幕STGにタスクシステムを

導入してみましょう

弾幕STGにおけるタスク

弾幕STGのゲームロジック

プレイヤーがキャラクターを操作して、迫りくる敵をかわしながら、倒すというもの

タスクになるもの

シーン

プレイヤー

雑魚・ボスなどの敵

実装例

ゲームノデモ

少し、デモンストレーションを行います

最後に、いくつか参考書籍を紹介します

参考書籍

Windows Programming

プログラミング Windows(上・下)

猫でもわかるWindowsプログラミング

Windows ゲームプログラミング

アルゴリズム

アルゴリズムC

アルゴリズムとデータ構造

珠玉のプログラミング

参考書籍

ゲームプログラミング

Game Programming Gems 1~7

ゲームプログラマになる前に覚えておきたい技術

ゲームコーディングコンプリート

3D Programming

実践 DirectX9プログラミング

OpenGLリファレンスブック

DirectX シェーダープログラミング

3Dグラフィクス数学

GPU Gems

AI

エージェントアプローチ 人工知能

ゲーム開発者のためのAI入門

参考書籍

Let’s Enjoy Game Programming!!