2018 ソフトウェア設計及び演習用の班Wiki
18::gr03::戸来 圭佑
担当モジュール
- すごろく画面モジュール
- 通信化
第6回 5/25
-
プロトタイプ作成
メインのすごろくモジュールを担当することになった。動作も多く他のすべてのモジュールと関係してくるため、早急に完成させたい。-
進歩
- マップ画像とキャラ画像の現状での縮尺決定。
- キャラのキーボードでの移動の実装。
- キャラ移動時の画像切り替えの実装。
→上記2つをキャラの移動からマップのスライドに変更。
- 今後
- さいころの出目によるキャラ移動の実装。
- その他表示しなければいけない情報の表示。
-
進歩
第7回 6/1
-
プロトタイプ作成
-
進歩
- マップ画像のサンプルの作成。
- 画像を差し替えマス間のピクセル数を計測。
- 移動を1入力で1マス移動するように変更。
- テスト用のさいころを制作(ボタンクリックで乱数を生成し、ボタンの表示を出目に切り替え、その出目を移動関数に返す)。
- コインの所持数を表示。
- 全体マップを作成。
- 今後
- 全体マップ表示の実装。
- 移動をワープするような感じから歩いているように変更する。
-
進歩
第8回 6/8
-
プロトタイプ作成
-
進歩
- BGMの実装。
- 移動時のボタンクリック時にさいころを動作させない機能の実装。
- 移動時にスムーズに移動を行えるように変更。
- 全体マップ表示機能とボタンの実装。
- 全体マップから通常マップに戻る機能とボタンを実装。
- 全体マップ上で現在位置を反映する機能を実装した。
- 今後
- 他のモジュールとの連携を開始。
- 通信モジュールの作成。
- 正式画像の作成。
- 複数人プレイ用の調整開始。
-
進歩
第9回 6/15
-
中間発表
-
進歩
- 中間発表を行った。
- 「統合をしては?」という意見があったため、現段階でできているモジュールの統合を開始。
- 今後
- 統合作業を進めるとともに、通信関連の部分も作成していく。
-
進歩
第11回 6/29
-
統合作業
-
進歩
- 前回分に追加してパチンコモジュール統合(エラーにより未完成)、ルーレットモジュールの統合開始。
- 今後
- 大体のモジュールが出揃ってきて、そろそろ統合も終わらせられそう。
- 見ている限り通信も担当することになりそうなので、そろそろ勉強を始めていきたい。
-
進歩
第12回 7/6
-
統合作業
-
進歩
- 本体に、パチンコモジュール、ルーレットモジュールを統合完了、鉄骨モジュール統合に着手(未完)。
- 鉄骨モジュールは画面サイズが違ったため座標などのズレが生じてしまった。制作者に手直しを依頼し、後日統合を完了させたい。
- 今後
- 鉄骨モジュール、サイコロモジュールなどの統合行う。
- 来週で統合を一区切りさせたい。
-
進歩
第13回 7/13
-
統合作業
-
進歩
- 統合(一人プレイver)がとりあえずの形で完成(サイコロやエンドロール、マスイベントなどはまだ)。
- 通信の勉強を本格化。
- 今後
- 通信部分に着手する。みている限りサーバーと各クライアントが相互通信する形になるので、各クライアント間のラグによるエラー対策なども考える必要がありそう。
-
進歩
第14回 7/20
-
通信部分作成
-
進歩
- タイトル画面での相互通信を実現した。
- 入力プラットフォームを実装し、ゲームエントリー時に名前を入力できるようにした。
- エントリー後、4プレイヤー揃うまでのwait画面を作成した。4人揃うと自動ですごろく画面に遷移するようにした。
- 今後
- 時間が足りないので時間外で作業を進めたい。
- 次回までに殆どの通信部分を終了させておきたい。
- 次回はデバックとバグ修正を行う(予定)。
-
進歩
第14.5回 7/20〜7/27
-
通信部分作成
-
進捗
- ターンプレイヤーがダイスボタンを押したらサーバーから各クライアントにダイスの値が送られるようにした。
- ダイスの値を受信するとターンプレイヤーのキャラが移動するようにした。
- これらを4プレイヤー分行ったら、全員が自動でルーレット画面に遷移するようにした。
- 全員がミニゲーム開始ボタンを押すと、ゲームが開始されるようにした。
- 各種ゲームでの通信の実装
-
じゃんけん
→プレイヤーがカードを選んだらその種類をサーバーに送信。サーバーはクライアントから手が送られてきたらそれをブロードキャストする。その後4人分の手が出揃ったら王様の手を乱数で決定し、ブロードキャストする。クライアントはそれらの結果から各プレイヤーの勝敗を決定し、リザルト画面に遷移する。 - パチンコ
→各プレイヤーがクリックをするたびに、サーバー側に現在のクリックカウントを送信。サーバー側ではこのクリックカウントを保持し、クライアントからのデータ受信が2回あるたびに、全員分の勝敗判定を行う。また、データを受信するたびにブロードキャストし、クライアント側は、逐次画面の%を更新する。勝利判定が出たプレイヤーがいたらその時点での勝ったプレイヤーをブロードキャストする。送信するデータは、上位桁から1P,2P,3P,4Pと割り振った2進数を10進数に変換したものを送っている。勝利で1が立つようになっている(例:1P,4P勝利の場合1001なので9が送信される)。クライアント側はこれを2進数に戻し、各プレイヤーの勝敗を決定し、リザルト画面に遷移する。 - 鉄骨渡り
→サーバー側では各プレイヤーが落ちたか残っているかを管理している。落ちたらクライアントから通信が来るため、それを受信した時そのプレイヤーが落ちたとし、その変化をブロードキャストしている。ゴールした時も通信が来るので、その結果をブロードキャストしている。クライアント側では右下に各プレイヤーの生存表示があり、落ちた旨を知らせる通信が来るたびに、その部分を変化させている。最終的に全プレイヤーが落下した、またはゴール者が出た段階でゲームが終了し、その結果から勝敗を決定、リザルト画面に遷移する。
-
じゃんけん
- ミニゲームリザルト画面で全員がクリックしたらすごろく画面に戻る。
- 誰かが規定値の小飲料に到達した段階で全員の画面がエンディングに遷移する。
- 今後
- とりあえずの通信部分の作成は終了した。開発中は一人でサーバー&クライアント×4を操作していたためラグによるバグ等は発見できなかったため、次回にそのあたりのデバッグを行っていく。
-
進捗
第15回 7/27
-
通信実装済みプログラムのデバッグ
-
進歩
- デバッグを行い、バグをある程度取り除けた。
- 現状残っているバグの原因を究明した。
- 今後
- 原因まではわかったが修正できなかったバグが残っている。これを修正し、再度デバッグを行っていきたい。
-
進歩
第15.5回 8/2,8/3
-
デバッグと修正、加筆
-
進捗
- 前回直せなかったバグはイベントの多重定義が起こってしまっていたことが原因だったので、そこを修正した。
- すごろく画面でのUIを修正した(文字の色や各プレイヤーの名前の表示など)
- ルーレットなどの画像やBGMを正式版に差し替えた。
- 自機キャラを変更した。それに伴いパターンを8つ用意し、ランダムでどれかのキャラになるように変更した。
- 鉄骨などでも自機キャラが変わるように変更した。マップのアイコンも作成し、マップアイコンの位置調整なども行い、自機に合わせて全員分表示されるようにした。
- エンディング後の最終ランキング画面を実装。上位からエントリー名が表示されるようにした。また、同率時に同じ順位が複数人発生し、それ以降の順位も変化するようにした。
- 時間が少し余ったので、特殊マスを3種類ほど追加した。
- 上記の変更に伴い、マップの素材を変更し、マスでのコイン増減の関数も追加した。マスでのイベントテキストは他メンバーにお願いした。
- 総評 最終的に自分たちの目指していたものは完成出来たと思う。しかし、やはり心残りも少しあり、悔しい部分もあった。何よりもUIを凝ることができなかったのがとても残念だ。本来の自分の予定としてはUIやキャラクターなどの素材を自作し、デザイン面でも見劣りしないようなものを作成するつもりだった。しかし、目指していた目標に対し、マンパワーが足りなすぎたため、その部分を断念せざる負えなかった。だが、中身のゲーム性については十分な完成度のものに仕上がっていると思う。まだまだ作り足りないところもあるが、与えられた期限内でできる最高のものを作れたと思う。 もし今後こういう機会があれば、ゲーム性もそうだがUIなどのデザインデ性の追求も視野に入れて計画を立て、バランスの取れた完成度のものを作ってみたいと思う。 今回はとても楽しく開発を行えた。お世話になったTAや先生方、何より一緒に努力した仲間に感謝したい。半年間ありがとうございました。
-
進捗
最終更新日:2018/08/10 21:58:37