Advanced Programing 2012?

index

第5回の趣旨

企業や研究でのプログラム開発では、開発の効率化やバグ等を減らすため
同じような処理は関数等にまとめて、ライブラリ化する事が良く行われます。
そこで今回はゲーム開発を題材にライブラリ開発の意義や方法について学びます。

Open Dynamics Engine とゲームのサンプルプログラム

  1. ODE付属のデモプログラムを動かしてみよう.
  2. サンプルプログラムを動かしてみよう.
  3. サンプルプログラムの構造を理解しよう.
  4. サンプルプログラムを改造してみよう.

サンプルプログラムのダウンロード

  1. ダウンロードしたら適当な場所で解凍しましょう.

ODE付属のデモプログラムを動かしてみよう

$ cd /ode-0.11.1/ode/demo/
$ ./demo_crash

サンプルプログラムを動かしてみよう

$ cd bin
$ ./exec.sh ./shooting_game

サンプルプログラムの構造を理解しよう

application/shooting_game_c-lang

ディレクトリ内にはゲームアプリケーションのソースコードが入っています.
ゲームアプリケーションはライブラリを使用して具体的なゲームを構成します.

src/gamelib

にはライブラリのソースコードが入っています.

アプリケーションとライブラリのディレクトリ内にあるファイルを全てエディタで開いて、
中身を確認してください.

main.c

に、drawstuffによるシミュレーション管理のための構造体や関数が書かれており、

shooting_game.c

に、実際のゲームのロジックが書かれている。

サンプルを改造してみよう

shoogint_game.c

には

start()

という関数があり、ゲーム環境の初期化を行っている。
そこにマップを構成するための関数が書かれているので、
関数を修正してマップを変更してみよう。
最初のマップは3x3だが、ライブラリのソースを変更するともっと大きなマップにする事は可能です。
何を変更すれば良いか、ソースコードを読んで調べてみよう。

基本的な処理を行う関数を作成し、必要に応じて引数や組み合わせを変更して、
様々なアプリケーションを作成する事を可能にするのがライブラリ開発の醍醐味です。
マップの変更はその1つなので、まず始めに挑戦してみてください。

注意事項

5月30日までの課題

内容

提出方法

評価方法

参考になるサイト

質問がある場合


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS