From 2010/09/03

ゲームプログラミングのページ

ゲームプログラミングのページへようこそ。


あなたは、30169(旧ページ)+ 人目の訪問者です。


旧・ゲームプログラミングのページ(http://hikari-hinomoto.hp.infoseek.co.jp/)は、
iswebのサービス終了に伴い、閉鎖されてしまいました。

このページは、XNA, Windows, DirectX, Android, Star, DoJa, BREW, GBA, NDSで
ゲームを作成したい人向けに、PDF資料を公開しています。

古い資料が多いですが、なんらかの役に立つことを祈っています。
(一太郎で作っていますので、申し訳ないのですが、すべてPDFとなっています)

XNA    Andorid   GBA    NDS

ES Game Libraryでゲームプログラミング超入門

オブジェクト指向でつくるゲームコンポーネント
C++     Windows    DirectX
DirectX Graphics   DirectInput   DirectX Audio   API(GDI)

Star    DoJa    BREW   Java   

Windows&C言語基礎     DirectX7ゲームプログラミング入門(C言語)
C++   Java


・総集編
シューティングゲーム?の作成(ES Game Library)
シューティングゲーム?の作成(Star)
シューティングゲーム?の作成(DoJa)
シューティングゲーム?の作成(BREW)

3Dプログラミング超入門 ※要ES Game Libraryライブラリ
3DCGプログラミング超入門(DirectX Graphics9)


XNA(GS 3.1/2.0)

・基本編
第01回 XNAの概要
第02回 開発環境の構築
第03回 アプリケーションモデル

・2D編
第01回 スプライト
第02回 スプライトの描画
第03回 文字の描画
第04回 全角文字の描画
−付録−
全半角1600字[半角カタカナ, 全角基本文字, 高頻度漢字1000字, 小学校漢字, 人名人気100字]
全半角3400字

・3D編
第01回 プリミティブ
第02回 テクスチャ
第03回 ワールド変換行列
第04回 カメラ
第05回 モデルの表示
第06回 マテリアル・ライト・フォグ
第07回 レンダリングステート

・共通編
第01回 キーボード・マウス
第02回 ゲームパッド
第03回 サウンド (3.1)

・ゲーム制作超入門編
第01回 プロジェクトの作成
第02回 プレイヤーの表示
第03回 プレイヤーの移動
第04回 隕石の表示・移動
第05回 衝突検出


Android
第01回 Androidの概要
第02回 開発環境の構築
第03回 プロジェクトの作成
第04回 メインループ
第04回-2 ScheduledExecutorServiceによるメインループ
  ・AndroidGame1Activity.java
  ・AndroidGame1SurfaceView.java (Thread + Sleep)
  ・AndroidGame1SurfaceView.java (ScheduledExecutorService)
第05回 画像の表示
第06回 タッチイベント
第07回 マルチタッチ・ダブルタップ
第08回 センサ
第09回 サウンド


ES Game Libraryでゲームプログラミング超入門
ES Game Libraryとは、
下記「オブジェクト指向でつくるゲームコンポーネント」をもとに作成した
DirectX9.0c、マルチスレッド、ネットワーク、ストレージの
基本的な機能をサポートするゲーム用ライブラリです。
わりと簡単なつくりでソースコードも付いています。
自由に改変・改良、配布しまくってください。

・ライブラリダウンロード
ES Game Library (March 2014 for VC++2010/2008)
ES Game Library (December 2011++ for VC++2010/2008/2005)

・導入編
第01回 ライブラリの概要
第02回 ライブラリの簡易仕様
第03回 ライブラリの詳細仕様
第04回 プログラムの記述と実行

第xx回 VisualC++の使い方(2005)
第xx回 DirectX

・2D編
第01回 スプライトで画像の描画
第02回 スプライトの重ね合わせ
第03回 文字列の描画
第04回 キャラクターの移動
第05回 キーボードでキャラクター移動
第06回 サウンドの再生
第07回 基本図形でレトロゲームグラフィクス
第08回 ゲームパッドとマウス

・倉庫番風パズルゲーム制作編
第01回 倉庫番風パズルゲーム「荷物勇者」の制作に挑戦
第02回 プレイヤーの表示
第03回 プレイヤーの移動
第04回 壁の描画
第05回 地形データで壁を描画
第06回 地形データで壁を描画2
第07回 地形データで壁を描画3
第08回 フィールドの表示
第09回 プレイヤーの初期座標
第10回 地形データで移動制限
第11回 目標地点の設置
第12回 アイテムの設置
第13回 アイテムの移動
第14回 アイテムの移動2
第15回 クリア判定
第16回 ファイルの読み込み

・シューティング風ゲーム制作超入門編
総集編 シューティング風ゲーム制作超入門編

・3D編
第01回 シンプルシェイプ
第02回 ワールド変換行列
第03回 カメラ
第04回 マテリアル
第05回 ライト
第06回 カメラワーク
第07回 レンダリングステート
第08回 フォグ
第09回 カリング
第10回 影
第11回 アルファブレンド
第12回 プリミティブ
第13回 テクスチャ
第14回 衝突判定の基本
第15回 パフォーマンスの最適化
第16回 モデルデータの読み込み

・3Dゲーム制作超入門編
第01回 プロジェクトの作成
第02回 プレイヤーの表示
第03回 プレイヤーの移動
第04回 隕石の表示・移動
第05回 衝突検出
第06回 定数・関数・構造体
第07回 Meteor3Dの作成
第08回 コクピット視点

・シェーダー編
第01回 プログラマブルシェーダー
第02回 HLSLの書き方

・ピクセルシェーダー編
第01回 ピクセルシェーダー
第02回 フェードイン・アウト
第03回 ラスターエフェクト
第04回 モザイク
第05回 HDRとトーンマッピング
第06回 ぼかし
第07回 フィルター

・バーテックスシェーダー編
第01回 バーテックスシェーダー
第02回 エミッシブ
第03回 アンビエント
第04回 ディフューズ
第05回 ランバート照明モデル
第06回 スペキュラー
第07回 リムライティング
第08回 半球ライティング
第09回 バーテックスフォグ

・数学基礎入門編
第01回 数
第02回 端数処理


オブジェクト指向でつくるゲームコンポーネント

C++
第01回 オブジェクト指向プログラミング
第02回 クラス
第03回 コンストラクタとデストラクタ
第04回 オブジェクトの生成と破棄
第05回 参照型, this, 静的メンバ
第06回 継承
第07回 ポリモーフィズム
第08回 多重継承
第09回 演算子のオーバーロード
第10回 関数テンプレート
第11回 クラステンプレート
第12回 例外処理
第13回 名前空間

Windows
第00回 Windowsプログラミング
第01回 フレームワーク
第02回 アプリケーションクラスの作成
第03回 ウィンドウクラスの作成
第04回 ウィンドウプロシージャ
第05回 メッセージの処理
第06回 ウィンドウとフルスクリーンの切り替え
第07回 リソースの作成
第08回 シングルトン
第09回 多重起動の防止
第10回 メッセージループ
第11回 ゲーム処理クラスの作成
第12回 アクティブ状態と非アクティブ状態
第13回 シーンの作成
第14回 フレームレートの制御
第15回 フレームスキップ

DirectX 基本
第01回 DirectX
第02回 COM

DirectX Graphics

・2D/3D共通
第01回 DirectX Graphics
第02回 Direct3Dオブジェクトの生成
第03回 デバイスオブジェクト
第04回 ウィンドウモードとフルスクリーンモード
第05回 WM_PAINTと再描画
第06回 描画のしくみ

・2D
第01回 スプライト
第02回 スプライトの生成
第03回 スプライトの描画
第04回 スプライトの変形
第05回 サーフェス
第06回 テクスチャとサーフェス
第07回 デバイスコンテキストの取得と解放
第08回 ピクセルフォーマット

・3D
第01回 プリミティブと頂点バッファ
第02回 頂点バッファへの書き込み
第03回 シンプルシェイプ
第04回 ワールド変換
第05回 カメラ
第06回 マテリアル
第07回 ライト
第08回 テクスチャ
第09回 マルチテクスチャ
第10回 レンダリングステート
第11回 フォグ
第12回 xファイルの読み込み

DirectInput
第01回 DirectInput
第02回 DirectInputオブジェクト
第03回 デバイスオブジェクトの生成
第04回 デバイスの状態取得
第05回 デバイスバッファ
第06回 ゲームパッドの初期化
第07回 ゲームパッドのデータ取得
第08回 アクセス権
第09回 フォースフィードバックと振動

DirectX Audio
第01回 DirectX Audio
第02回 DirectMusicオブジェクトの生成
第03回 オーディオファイルの読み込み
第04回 セグメントの再生と停止
第05回 DirectSound
第06回 サウンドバッファ
第07回 Waveファイルの読み込み
第08回 Waveファイルの読み込み(ACM)
第09回 サウンドバッファの再生と停止
第10回 ボリューム, パン, 再生周波数の設定
第11回 エフェクト
第12回 DirectSound3Dと3Dバッファの生成
第13回 3Dバッファの設定
第14回 リスナ

API
第01回 ビットマップファイル
第02回 DDB
第03回 DIB
第04回 ビットマップクラスの作成
第05回 GDI
第06回 リージョン
第07回 パス
第08回 入力デバイス(キーボード、マウス、ジョイスティック)
第09回 MCIウィンドウ


・Star / DoJa編

Java入門
第01回 Java
第02回 開発環境の構築
第03回 プログラムの作成
第04回 コメント, 変数, 演算子
第05回 分岐, 繰り返し
第06回 配列
第07回 文字列

・Java基礎編
第01回 オブジェクト指向プログラミング
第02回 クラス
第03回 コンストラクタ
第04回 オブジェクトの生成
第05回 this, 静的メンバ
第06回 継承
第07回 ポリモーフィズム
第08回 パッケージ

Star
第01回 開発環境の構築
第02回 プロジェクトの作成
第03回 クラスの作成
第04回 メソッドの作成
第05回 メインループ
第06回 グラフィックの描画
第07回 画像の読み込み
第08回 キャラクターの移動
第09回 キーパッド状態の取得
第10回 音楽の再生
第11回 衝突検出
第12回 iアプリのダウンロード
総集編 シューティングゲームの作成

DoJa
第01回 開発環境の構築
第02回 プロジェクトの作成
第03回 クラスの作成
第04回 メソッドの作成
第05回 メインループ
第06回 グラフィックの描画
第07回 画像の読み込み
第08回 キャラクターの移動
第09回 キーパッド状態の取得
第10回 衝突検出
第11回 iアプリのダウンロード
総集編 シューティングゲームの作成


BREW
第01回 BREW
第02回 BREWモジュール
第03回 BREWプロジェクト
第04回 メインループ
第05回 グラフィックの描画
第06回 文字の描画
第07回 イベントの処理
第08回 画像の読み込み
第09回 キャラクターの移動
第10回 キー入力の処理
総集編 シューティングゲームの作成


ゲームボーイアドバンス(GBA)編
第01回 ゲームボーイアドバンスの概要
第02回 開発環境の構築
第03回 プロジェクトの作成
第04回 メインループ
第05回 グラフィック機能の概要

Nintendo DS(NDS)編
第01回 Nintendo DSの概要
第02回 開発環境の構築
第03回 プロジェクトの作成
第04回 メインループ
第05回 グラフィック機能の概要


ネットワークプログラミング 超入門編
第01回 WinSock
第02回 ソケット


アルゴリズム
第01回 乱数
第02回 衝突検出
第03回 移動を考慮した衝突検出
第04回 プレイヤーを狙う弾
第05回 仮想画面による通路移動
第06回 タイルグラフィックス


Windows&C言語 基礎編
第01回 VisualC++超入門
第02回 デバッグ
第03回 C言語超入門
第04回 変数と演算子
第05回 型変換、分岐
第06回 多分岐
第07回 構造化プログラミング
第08回 配列
第09回 ウィンドウ
第10回 Windowsプログラミングの基礎
第11回 メッセージ
第12回 文字列
第13回 文字列2
第14回 ファイルの操作
第15回 ファイルの操作2
第16回 暗号
第17回 コマンドライン引数
第18回 GUI
第19回 ダイアログプロシージャ
第20回 ファイルを開く
第21回 MFC
第22回 アイコンの作成
第23回 ファイルの操作3
第24回 ファイルの操作4


DirectX7ゲームプログラミング入門編(C言語)

・Windowsプログラミング入門編
第01回 Windowsプログラミングの基礎
第02回 ウィンドウ
第03回 メッセージ
第04回 ウィンドウの作成
第05回 アイコン
第06回 文字描画
第07回 ビットマップの描画
第08回 MIDI演奏
第09回 MCIWndムービー
第10回 メニュー

・基礎プログラム編
第01回 VisualC++マニュアル
第02回 デバッグ
第03回 DirectX
第04回 プロジェクトの構成
第05回 WinMainの作成
第06回 二重起動の防止
第07回 GameFuncの作成
第08回 メッセージループ
第09回 ゲーム関数の呼び出し
第10回 非アクティブ時の処理
第11回 フレームレートの制御

・DirectDraw編
第01回 DirectDraw
第02回 初期化と解放
第03回 協調レベルとディスプレイモード
第04回 サーフェイス
第05回 ピクセルフォーマット
第06回 ビットマップの読み込み
第07回 サーフェイスの転送
第08回 フリップ
第09回 カラーキー
第10回 クリッパー
第11回 リージョン
第12回 ガンマコントロール
第13回 スプライトの初期化
第14回 スプライトの生成
第15回 スプライトの描画
第16回 サーフェイスのロストと復元
第17回 ビットマップの復元
第18回 画像ファイルの読み込み

・DirectInput編
第01回 DirectInput
第02回 初期化と解放
第03回 デバイスオブジェクトの生成
第04回 デバイス状態の取得
第05回 デバイスバッファ
第06回 ゲームパッドの初期化
第07回 ゲームパッドのデータ取得
第08回 アクセス権の取得と解放
第09回 ゲームパッドの振動

・DirectX Audio編
第01回 DirectX Audio
第02回 DirectX Audioオブジェクト
第03回 オーディオファイルの読み込み
第04回 セグメントの再生と停止
第05回 DirectSound
第06回 サウンドバッファ
第07回 Waveファイルの読み込み
第08回 Waveファイルの読み込み(ACM)
第09回 サウンドバッファの再生と停止
第10回 ボリューム・パン・周波数の設定
第11回 エフェクト
第12回 DirectSound3Dと3Dバッファの生成
第13回 3Dバッファの設定
第14回 リスナー

・DirectShow編
第01回 DirectShow
第02回 マルチメディアファイルの読み込み
第03回 マルチメディアファイルの再生と停止

・アルゴリズム編
第01回 スカッシュゲーム
第02回 衝突検出
第03回 衝突検出2
第04回 プレイヤーを狙う弾
第05回 仮想画面によるキャラクターの通路移動


本ウェブサイトを利用される前に以下の注意点をお読みいただき、ご了解いただいたうえでご利用ください。

・本ウェブサイトに掲載されている内容の著作権は、原則として放棄していません。
・本ウェブサイトに掲載された情報(リンク先の内容も含む)
 または、本ウェブサイトを利用することで生じたいかなるトラブルおよび損失、損害に対して、
 制作者は一切責任を負いません。
 情報の正確性および完全性を保証または約束するものではなく、
 情報の欠落・誤謬等につきましてはその責を負いかねます。
 また、予告なしにウェブサイト運営の中断、中止や情報の変更を行うことがありますが、
 これらによって生じたいかなるトラブルおよび損失、損害に対しても責任を負うものではありません。
・PDF資料は、作成してからかなりの年月が経過しています。
 よって、現在ではそぐわない内容があるかもしれません。
・PDF資料内に、どこかで見たような感じのする表現があるかもしれませんが、
 それは、おそらくきっと、たぶん気のせいです。


Q&A

Q.XNAで画面に線を引いたり、スクリーン座標でポリゴン描画できますか?
A.Matrix.CreateOrthographicOffCenter(0,
                    (float)GraphicsDevice.Viewport.Width,
                    (float)GraphicsDevice.Viewport.Height,
                    0, 0.0f, 1.0f)
  という正射影行列を設定すれば、スクリーン座標でDraw(User)Primitivesができます。

Q.なんでPDFなの?
A.授業の資料として、一太郎で作っていますので…
  (凝ったHTMLは無理です。。。)

Q.Star編の内容が…
A.DoJa編の一部を書き換えただけですよね…
  しょうもない加筆箇所もあります


Powered by NINJA TOOLS