2016 ソフトウェア設計及び演習用の班Wiki

16::gr03::発表

次元の狭間を行き来する探索ゲーム〜教授からの脱出〜

プロジェクト説明

2つの視点を行ったり来たりしながら、教授の罠から脱出することを目指す探索ゲームです。
ひとつ目の視点は上から主人公を見下し、主人公がマップの中を移動するいわゆるRPGの視点(三人称視点)
もうひとつは、主人公の視点から部屋を見渡す、ノベルゲームによくある視点(一人称視点)
主人公は、午後五時以降のレポート提出を絶対に許さない神経質な教授の罠から逃れるために、2つの視点を行ったり来たりして、脱出の鍵を探します


モジュール分け

誰がどこを書いたかわかるように

  • 3人称
    • キャラクターモジュール
      担当:溝江・佐藤
      画面にキャラクターを表示させ、キャラクターの歩く速度の設定、歩くアニメーション(方向キーの入力の判定、入力によってキャラチップの切り替え)
    • マップモジュール
      担当:佐野・河原木
      マップチップを画面に表示させる。方向キーの入力に応じてマップを移動させる。※画面内に収まらない大きさのマップで主人公の移動時、マップは主人公を中心にしてマップが動くようにする。
    • イベントモジュール
      アイテム、テキスト、画面遷移などのイベントをフラグ管理するモジュール。
      • 扉の行き来
        担当:佐藤
        3人称、1人称、タイトルの画面遷移。画面遷移のためWidget、time_outの削除を行う。
      • アイテム
        担当:佐野
        アイテムの仕様・獲得・表示を行う。アイテム欄も表示する。
      • イベント
        担当:河原木・佐野
        マップの座標やイベントフラグに応じて、アイテム表示・テキスト表示を管理する。
    • テキストモジュール
      担当:溝江・奈良田
      テキストがないときは非表示。テキストは順次表示型。文が出るごとにクリックで次のテキストに進むように管理する。
  • 1人称
    • ボタンモジュール
      担当:花坂
      左右の視点に移る(画像変換)、きになるところを調べる、画像の上に透明なボタン置くなどボタンを管理するモジュール。
    • 画像モジュール
      担当:花坂・河原木
      背景やアイテム画像を表示するモジュール。またその写真をとったり編集する。
    • テキストモジュール
      担当:花坂
      アイテム入手時やイベント時にテキストを表示させるモジュール
    • イベントモジュール
      担当:花坂・河原木
      イベントフラグを管理し、イベントフラグによってテキスト表示やアイテム入手、イベントを行う。
  • BGMモジュール
    担当:奈良田
    イベントフラッグに応じて効果音を演出するモジュール。
  • セーブ・ロードモジュール
    担当:奈良田
    セーブは自動セーブ方法をとり、特定のイベントまでいくと自動セーブする。ロードはロードされたときに前回終了時の一つ前の自動セーブの場面を画面表示させる。
  • メニューモジュール
    担当:佐藤
    メニューバー(ロード・タイトルに戻る・終了)を実装するモジュール。それぞれの操作を行う前に、「本当に?」を実装する。

ヘッダファイル

動作スクリーンショット

Screenshot1.png

Screenshot2.png

Screenshot3.png Screenshot4.png Screenshot5.png

個個人の感想

  • 河原木
    • 主にグラフィックとストーリー周りを担当した。画像を探したり自分で作ったりというのに時間がかかり、システムに関わるプログラムの多くを他の班員に任せてしまったのが反省点である。3人称のイベントの実装の時は、ストーリーを考えた際にフラグとして渡す値の設定を行ったこともあり、他の班員が作ってくれたプログラムを利用して実装にとりかかったが、難しいところに関しては元のプロクラムを書いた班員に丸投げしてしまう形になることが多く、自分のプログラムの能力が低いことやあまり向上出来なかったことを感じる結果となった。次回このような機会がある時は、もっとプログラムの方にも関われるようにしたい
  • 佐野
    • 主に三人称側のマップを動かす関数、アイテム欄、イベント関数を担当しつつ、ちょっとだけストーリーに関わった(導入部)。最後にはアイテムの説明書きも担当した。一番手間取ったのはマップを動かす部分で、GTKに慣れていないこともあって大半はここに時間を費やしたように思う。反面、イベントは形を作るだけだったので楽だった。アイテム欄も手間取ったが、なんとか形になったと思う。アニメーションを作るのは初めてだったので、難しかったが面白くもあったと思う。ちょっとしたところを手伝うような役割が多く、最終的にイベントを実装する中でマップ側の操作が必要なイベントは自分の担当となった。いろいろとこれまでのプログラミングではできなかったことができたので、これからの糧としたい。
  • 溝江
    • 今回は主に三人称側のキャラクター、テキストの表示について担当した。キャラクターに関しては、佐藤と相談しながら二人で効率よく進められた。また、先生方が作成したプログラムを自分で噛み砕きながら理解することができたので以前よりプログラムの力がついたと思う。アニメーションで学んだことを応用してテキストを当初の予定どおりに表示できたのが個人的に大きな成果であった。まわりでプログラムができる人にもっと聞いたりして、自分の力を今以上に伸ばしていきたいと思った。
  • 奈良田
    • 主にテキスト、BGM、SAVE機能、またその他細かな機能の関数(没になったものが多いが・・・)の制作を担当した。他の担当のプログラムと合わせる際に規格が違ったりとプログラムの書き直しをする場面があり共同作業でのコミュニケーションの大切さを痛感した。また一番始めに考えたモジュールも実際にはそれだけではプログラムが成り立たなかったりと見通しの甘さを感じた。班員のみんなでそれぞれのプログラムについてのアドバイスを出しあうことで問題が解決できたのでそういった面のチームワークは良かったと思う。やったことのないことやわからないことを自分で調べ、考えるという自身で問題を解決するといういい体験ができたと思う。
  • 佐藤
    • 今回、前半は溝江とキャラクターの表示と方向キーの入力を担当した。GTKを始めて使ったため、GTKでプログラムを書くのがなれずプログラムを書き始めるのに時間がかかった。キー入力やキャラ表示は講義の内容がとても役に立った。前半は溝江にいろいろ教えてもらいながらやったため基礎力が少しついたと思った。しかし、自分だけでプログラムがあまり書けなかった。また後半はメニューバーの取り付けやタイトル⇔1人称⇔三人称の画面遷移、みんなが作ったプログラムの統合を担当した。後半は自分で一からプログラムを組むと言うことはあまりなかった。他の人が書いたプログラムを読み書き換えたりし、統合させた。今まで自分一人でプログラムを組んでいたときはコメントなどを書かなかったが、今回統合作業を通して、コメントやヘッダファイルやグループ内のコミュニケーションの必要性がとても分かった。またグループにおいてのプログラミング作業の大変さをしった。今回この講義を通して、統合の大変さや競合の重要性がとても身に染みて分かった。最初は全然プログラムがかけなかったけど、時間が経つ度にかけるようになっていきとてもうれしかった。今は一人ではすごいプログラムはかけないけど、勉強などしもっとよいプログラムをかけるようになりたいと思った。
  • 中村
  • 花坂
    • 今回、1人称を担当した。1人称ではアニメーションは使わなかったので、画像を重ねて表示する場合などに、それを実現できる関数を見つけるのに最初は苦労した。また、アイテム欄を固定ではなくxボタンで表示/非表示を自由に変更できるようにしたため、作成の過程で思い通りに動かず、大変だった。今回の演習で、理解しきれていない関数があっても、トライアンドエラーを繰り返し、理解、修正し、プログラムを書いていくことを覚えた。また、グループでプログラムを書く場合、ソースを見やすく、わかりやすくすることが重要だということがわかった。今回これができなかったので、今後プログラムを書くときは、ソースのわかりやすさを重視して書こうと思う。

余談

結合がうまく行かずに突然落ちてしまったり画像がおかしく表示されてしまうことがありますが、テキストの表示や中身、文章量はこだわれた部分があると思います。BGMや写真で手作りした研究室など、うまく紹介出来ませんでしたが、面白いところはあると思うので、今回のバージョンは、絶対にクリアできない脱出ゲームとしてテキストを楽しみながらどこまで行けるかチャレンジしてもらえればと思います。スクリーンでの発表版は
g03/proj/proto_ver3.0/game
にありますので、班員のリポジトリから飛んで、遊んでみてください。


最終更新日:2016/08/10 16:20:28