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

21::gr04::伊藤瑠威

第一回

ガイダンス、グループ決め、gitの設定

第二回

テーマ設定

第三回

ものと操作の洗い出し
→次回はマップ考えるかも?部屋数などをある程度決めておきたい
→マップ制作の担当者を分けた、よろしくお願いします(5/14)
→ゲームの流れもある程度決まったので開発環境選定などもするかも

第四回

ものと操作の洗い出しの続き、開発環境選定、一部役割分担
→次回のモジュール化を終えたら多分プログラミングに移る、すぐに移れるようにソースファイルの準備をしておく
→gitlabの詳しい使い方についても次回決めておく

第五回までにやること
  • ソースファイルの準備
    →モジュール毎にソースファイルの分割ができるようにする
    →→モジュール決めてから考える(5/20)
    →gitlab上のリポジトリにコミットしておく
    →→講義ページにあったenchant.jsのデモコードをコミットした(5/20)
その他やったこと(5/20)
  • 開発環境の構築
    →vscode1.56.2、liveserver,debugger for chrome,gitのインストール
    →enchant.jsのデモコードで動作確認済み

第五回

モジュール化、開発環境の構築、enchant.jsデモコードの実行

第六回までにやること
  • gitlab及びgitコマンドの使い方について学ぶ
    →cloneした班員がリモートリポジトリにpushできない事案が発生した、管理者権限が必要らしい
    →管理者がpushされたコードを見てマージするかどうか決めるのが理想的、ブランチ周りの話を調べておく
  • コード少し書いてみる(余裕があれば)

第六回

Gitlabの練習、役割分担

第七回までにやること
  • JavaScript及びenchant.jsの学習
  • 画面遷移等を行うためのコード設計についての学習
    →画面毎にデバッグできるシステムを作っておきたい

第七回

プロトタイプの作成
→画面遷移部を作成した

第八回までにやること
  • gitの使い方についてまとめたページを作成しておく
    →自分を含め班員が忘れた時の手助け用
    gitの使い方メモ
  • その他コーディングに関するメモ書きをまとめたページを作成しておく
    →同じ問題に直面した班員の手助け用
    コーディングメモ
  • 自分のページの整頓
    →そろそろ見づらい
    →少しだけ見やすくなった(6/10)

第八回

プロトタイプの作成(続き)
→game.js以下のモジュールの階層設計をした
→chara.jsより自キャラの動作を適当に追加した

第九回

中間発表、役割分担
→マップ作成、自キャラ動作作成を担当することになった

第十一回までにやること
  • マップの枠組み、オブジェクト、座標系の作成
    →マップの枠組みは適当にマップチップくっつける
    →オブジェクトはモジュール感覚で読み込めるようにしたい
  • 自キャラ移動時の処理の精密化
    →現在は背景が代わりに動くことで自キャラを画面中央にとらえている
     しかしこれだと後に問題になりそう
    →実際は自キャラは動いていてその上をカメラが追従するのが正しい
     カメラを追加したいがどうやって追加するかは考え中

第十回

  • モジュール構造の修正
    →結局カメラ設定の仕方がわからなかったので、map下にモンスターやアイテム、イベント等配置型オブジェクトの位置情報を紐付けることにした
    →あとでモジュール化のwiki更新しておく
  • マップ作成の方法についてまとめた
    →TiledMapEditorでマップチップを組み合わせて作成する予定、オブジェクトは別個作成してプログラムで配置できるようにする
    →素材となるマップチップは これ

第十一回

  • マップ完成
    →TiledMapEditorの出力形式をjsファイル形式にしてプログラムでタイルを読み込む
    このページを参考にする予定
    →レイヤーをうまく読み込めればオブジェクトの当たり判定もマップ生成時につけられるようなので、オブジェクト別個作成の案は撤回
第十二回までにやること
  • マップの表示プログラムの作成及びマップ上でのキャラの移動処理の確認
    →壁やオブジェクトの当たり判定を確認する
    →ここまでやればいよいよモジュールの統合が進みそう

第十二回

  • マップ読み込みプログラムの作成中
    →そろそろ完成させたい

第十三回

  • マップ読み込みが完成した
    →マップ情報はtiledMapEditorでjson形式にエクスポートされる
    →タイルセットのフレーム番号がレイヤー毎に配列で渡される、レイヤー順に読み込んでいく
    →読み込むデータはタイルセットのフレーム番号なので、タイルセットから番号に合ったタイルを検索する
    →タイルの幅は32×32なので位置を調整しながらスプライトを生成していく
来週までにやること
  • マップの当たり判定の作成
  • 各モジュールの統合

最終発表に向けてやったこと

  • マップの当たり判定の作成
    →マップのcollisionレイヤーに属するタイルとキャラの当たり判定スプライトで判定を取った
    →重なってから移動量をマイナスにして押し戻す、という設定の衝突判定なので、壁にめり込んで方向転換することで壁抜けできてしまう
    →開発上便利+意識しないとできないのでひとまずそのままにした、後で修正するかも
    →上手く修正する手立てが思いつかないのでこのままになりそう(8/05)
  • モジュールの統合
    →開発初期の段階でモジュール分けをコーディング済だったのですぐにマージできた

第十四回

最終発表


最終更新日:2021/08/05 02:17:35