!!!プロジェクト名 岩のがんちゃん !!!プロジェクト説明 !!概要 がんちゃんが主人公の横スクロールアクションゲーム
理工学部の各学科にちなんだ力を使って、ステージに散りばめられた単位を拾いながらゴールを目指す
!!ステージ構成 易しいコースと難しいコースの2つ
大きさはそれぞれ高さ480*幅3600(px)
!!がんちゃんの特殊能力 *電電
電撃を放つ。
*機械
歯車を投げて攻撃する。
*環境
足場のオブジェクトを作る。
!!操作方法
キーボードに対応
|| ジャンプ | Aキー || 特殊能力1(電電) | Sキー || 特殊能力2(機械) | Dキー || 特殊能力3(建設) | Fキー || 移動 | 矢印キー || タイトルへ | ESCキー || !!がんちゃんの操作関連 *移動に慣性が適用される
*一撃でも敵の攻撃を食らうとゲームオーバー(留年)
*自機の攻撃は、電撃のほうが威力が高く、敵を一撃で倒せる(歯車は2撃必要)。
!!!ものと操作の洗い出し !!!モジュール分け [[役割分担|gr07::役割分担]]
[[モジュール内部説明書|gr07::モジュール内部説明書]]
!!!ヘッダーファイル [[ヘッダーファイル|gr07::メイン・敵側ヘッダーファイル]]
!!!プログラムの流れ <<{program.png}
!!!プロトタイププログラム !!タイトル画面 <<{title.jpg}
GAMEを選択すると、ゲームモード(Easy、Hard、通信((fn 通信モードのみ複数人プレイを想定)))を選択できる
Windowを選択すると、WindowモードかFull Screernモードかを選択できる
各種ボタンを選択後、Back SpaceキーでMENU画面に戻る
セレクトのアイコンをがんちゃんにしました
!担当
[[近藤 一晟|gr07::近藤 一晟]]
!!メイン画面 <<{メイン画面.png}
!現在実装している操作
・がんちゃんの移動(それに伴う画面スクロール) ・がんちゃんの特殊能力使用
→各特殊能力に当たり判定を実装。
 →各特殊能力の発生方向は、自機の向いている方向に依存。
・地面、敵、単位それぞれに当たり判定を実装
※背景、自機、敵、単位の画像は後日差し替え予定

<電気攻撃時>
<<{eatk.png}
<歯車で攻撃時>
<<{matk.png}
<ブロック設置時>
<<{block.png} !担当
[[日山 拓海|gr07::日山 拓海]]
[[槇 翔史|gr07::槇 翔史]] !!リザルト画面 <<{result_clear.jpg}
<<{result_r.jpg}
ゲームをクリアしたかどうかでresult画面を切り替え
結果(留年or進級)・スコア・取得単位数を表示
クリアできなかった場合は結果のみを表示
 スコア=1000-(カウント)+(単位)*100
ハイスコアが出た場合は「Newrecord」と表示
!担当
[[近藤 一晟|gr07::近藤 一晟]]
!!敵側制御プログラム 通信モードを選択したプレイヤーのゲーム画面に出現する敵の動きを制御
通信にはソケット通信を利用し、プレイヤー側と相互にデータの送受信を行う
<<{enemy_controler.png}
!担当
[[菊田 真基|gr07::菊田 真基]]
!!ソケット通信 winsock2によるソケット通信モジュール
プレイヤー側(サーバ)と敵側(クライアント)間での通信ができるようになった
!担当
[[渡部 雅博|gr07::渡部 雅博]]
!!グラフィック関連 *がんちゃんイメージ図
<<{runR.gif} <<{runL.gif} <<{jumpR.gif} <<{jumpL.gif} <<{magicR.gif} <<{magicL.gif} <<{bwalk.gif} <<{credit.gif}
*ステージ構成
Easy
<<{map_e small.png}
Hard
<<{map_h small.png}
!担当
[[佐々木 誠|gr07::佐々木 誠]]
!!!個々人の感想 !!日山 拓海(班長)
今回の演習では班長という立場だったため、指示を出しつつ、メインプログラマとして多くのモジュールを開発しなければならず大変でした。しかし、班員がみな優秀だったため、すべてのモジュールを完成させることができました。
今回はGLibではなくDxlibraryを用いたため、多少慣れた環境での開発をさせていただきました。しかし、統合時に変数のキャストが異なっていたり、二重インクルードなどの問題が発生したりと思うような進捗が得られないことが多々あり、グループ開発の難しさを感じました。
ともあれ、無事プログラムを完成させることができてよかったです。 !!佐々木 誠
今回の演習ではステージ構成をメインにがんちゃんや敵のグラフィックの作成,BGMの作成などを担当させていただきました。
メインのステージ構成は480×3600のサイズのマップをCSVファイルにより0を空間,1を敵(5×5),2を地面,3を単位(5×5)として,EasyとHardの2種類の面を作成しました。
ステージHardの難易度をいい感じに難しく設定することが出来ました。
後半はがんちゃんの被弾エフェクトプログラム作りをさせてもらいました。
被弾したとき爆発を一瞬表示させることは出来ましたが爆発のエフェクトを徐々に拡大させたり凝ったエフェクトにできなかったことが心残りです。
ともあれ、無事ステージ構成を完成させることができてよかったです。
!!槇 翔史
今回の演習ではGlibではなくDXlibraryを使用して行いました。
懇切丁寧に説明して頂いたGLibを一切使わず申し訳ないです。
このようなゲームを作ったのは初めての経験ではなかったのですが、やはり個人での作業と違い、グループプログラミングは統合での問題など、苦労する点も多いと感じました。
班Wikiの編集についても、自分たちのプログラムをわかりやすく簡潔に説明するのは難しいと感じました。 ともあれ、無事プログラムを完成させることができてよかったです。
!!菊田 真基
今回の演習ではあまり経験することのなかったグループプログラミングの大変さを感じることができました。
通信が必要となるため通信モジュールの完成を待ち、そのモジュールを使用してプレイヤー側と試行錯誤を繰り返した経験は今後の役に立つものだと思いました。
担当した敵側のプログラムでは、実装が必要な機能の検討や操作・表示がわかりやすいように工夫する作業に多くの時間を割きました。
通信モジュールの実装やプログラムの統合の際に生じたエラーは1人で解決することができず、とても苦労したという印象が強いです。
ともあれ、無事プログラムを完成させることができてよかったです。
!!近藤 一晟
今回の演習ではタイトル画面とリザルト画面の作成・プログラミングを担当しました。
ゲームを実際に作成するのは初めてだったので、画面の作成、プログラミングともに苦
労しました。
プログラミングに関しては実力が足りていないこともあり、教わりながらの演習になった
のですがプログラミングの知識も身につけることができました。メニュー画面のセレクトア
イコンのがんちゃんは、かいいくていいアイデアだったと思います。また統合など、グループ
プログラミングの難しさも学ぶことができました。
ともあれ、無事プログラムを完成させることができてよかったです。
!!渡部 雅博
今回の演習では通信プログラムを担当しました。
ソケット通信に関しては全く知識の無い状態からのスタートで、大変苦労しました。
しかし、そのおかげで新しいスキルを身につけることができ、とても良い経験ができたと思います。
また、グループプログラミングの難しさも感じることができました。
特に、プログラムの統合では予期せぬエラーが多発し、うまくいかないことの方が多かったように思います。
ともあれ、無事プログラムを完成させることができてよかったです。