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

23::gr11::斎藤大晴

個人活動記録

第1回(4月21日)

活動内容
  • 班の結成
  • プロジェクトの概要と指針の議論
  • 班wikiの作成

コメント
かなり抽象的ではあるが、操作などを2人で協力してプレイするゲーム(参考例として「くまのプーさんのホームランダービー」)を開発するという指針に決定した。しかし、既存のゲームを模倣するだけでは、オリジナリティに欠けるのではという意見もあった。今後の会議でゲーム内容などを決定すると同時に、具体性及びオリジナリティを高め、「面白い」と思えるゲームにしていきたい。

講義外(4月23日)

活動内容
  • ゲームのテーマ及び内容の企画
  • 班wikiの編集

コメント
ターン制コマンドバトルをベースに、ミニゲームを組み合わせたゲーム(狛犬とわんこそばをコンセプトにタイトル「阿吽の呼吸」とする)を企画した。既存のゲームを模倣するのではなく、組み合わせて新たなゲームに昇華することで、オリジナリティを出していきたいと思う。

第2回(4月28日)

活動内容
  • HTML基礎の学習
  • GitLabの作成
  • 制作するゲームの議論
  • 準備した企画の発表
  • 簡易企画書の下書きの作成
  • 班wikiの編集

image02.jpg

コメント
前回の会議で決定した指針をもとに、ゲームの内容について各自で考案した企画を発表した。また、前回の課題として挙げられた「オリジナリティの有無」に焦点を当て、制作するゲームについて議論した。最終的にゲームのテーマ及び内容は決定したが、決定に至るまでかなりの時間を要してしまった。進行役として、次回以降の会議では円滑に進行できるよう努めたい。また、グループでゲームのイメージを共有できるよう自身の案をもう1度整理しようと思う。

講義外(4月30日)

活動内容
  • 簡易企画書の作成
  • 全体像と遷移図の作成
  • 班wikiの編集

image04.jpg image06.jpg

コメント
講義内で下書きした簡易企画書を清書した。また、グループでイメージを共有するために全体像と遷移図を作成した。次回以降の講義でより具体的なものにしていきたい。

第3回(5月2日)

活動内容
  • JavaScript基礎の学習
  • ゲームの詳細部分(遷移及び仕様)の確認
  • ミニゲームの企画
  • モノと操作の洗い出し
  • モジュール分けの準備
  • 班wikiの編集

image08.jpg

コメント
前回の会議で議論したゲームの詳細部分について再度確認し、曖昧になっている箇所を明確なものにした。また、簡易企画書からモノと操作について洗い出しを行い、作成する変数や関数の構想を考えた。他にもミニゲームの企画やモジュール分けの準備を行い、実装に向けて準備を進めた。メンバー間でのイメージ共有ができていない部分がいくつかあったため、次回以降はイメージ共有をしっかりしていきたいと思う。

講義外(5月3日)

活動内容
  • 画面遷移図の作成
  • プレイヤーキャラのデザイン
  • キャラクターデータの制作

komainu01.png komainu01_base02.gif

コメント
前回の講義で共有できなかった画面の遷移をまとめた遷移図を作成した。また、簡易企画書で描いたプレイヤーキャラをデザインし、画像データを作成した。イラストレーション及びアニメーションの知識がないため、これから学習していこうと思う。

講義外(5月5日)

活動内容
  • プレイヤーキャラのデザイン
  • キャラクターデータの制作

komainu01_base02.gif komainu01_base06.gif komainu01_base04.gif

コメント
アニメーションを構成する画像を増やした。2枚から3枚に増やすだけでも表現の幅がかなり広がることがわかった。

講義外(5月6日)

活動内容
  • プレイヤーキャラのデザイン
  • キャラクターデータの制作

komainu01_base08.gif komainu01_base10.gif komainu01_base12.gif

コメント
フレームレートを変更した。同じ画像でも印象がかなり変わることがわかった。

講義外(5月6日)

活動内容
  • プレイヤーキャラのデザイン
  • キャラクターデータの制作

komainu01_02.png komainu01_base02_02.gif komainu01_base02_04.gif komainu02_02.png komainu02_base02_02.gif komainu02_base02_04.gif

コメント
陰影を付けたほか、パーツ単位でアニメーションを変更した。

第4回(5月12日)

活動内容
  • JavaScript応用の学習
  • ミニゲームの仕様決定
  • モノと操作の洗い出し
  • モジュール分けの準備
  • 班wikiの編集

コメント
前回の講義内で洗い出したモノと操作を結び付け、より具体的なものにした。また、前回企画したミニゲームの詳細な仕様を考え、決定した。次回のモジュール分けに向けて必要な関数や変数を洗い出しておこうと思う。

講義外(5月12日)

活動内容
  • プレイヤーキャラのデザイン
  • キャラクターデータの制作
  • エフェクトの制作

komainu01_base04_02.gif komainu02_base04_02.gif attack_okawari_04.gif

コメント
データサイズを適切なものにした。

講義外(5月13日)

活動内容
  • エフェクトの制作

komainu01_shinsoku01_02.gif
attack_shinsoku01_02.gif
komainu01_shinsoku02_02.gif
komainu02_shinsoku01_02.gif
attack_shinsoku02_02.gif
komainu02_shinsoku02_02.gif

コメント
エフェクトを新たに作成した。

講義外(5月14日)

活動内容
  • javascriptの学習
  • javascriptのプログラミング
  • エネミーキャラのデザイン
  • キャラクターデータの制作

nekomata_02.png nekomata_base01_02.gif

コメント
javascriptについて学習し、アニメーションを作成した。また、エネミーキャラをデザインし、画像データを作成した。まだ試作段階なので、これから仕上げていきたいと思う。

講義外(5月18日)

活動内容
  • javascriptのプログラミング
  • エネミーキャラのデザイン
  • キャラクターデータの制作
  • 班wikiの編集

nekomata_03.png nekomata_base03_02.gif

コメント
javascriptでアニメーションを作成した。また、エネミーキャラをデザインし、画像データを作成した。

第5回(5月19日)

活動内容
  • HTML応用の学習
  • モノと操作の洗い出し
  • モジュール分け
  • プロトタイプ作成
  • 班wikiの編集

コメント
前回の講義内で洗い出したモノと操作でモジュール化を行い、モジュール毎に作成する人を割り当てた。割り当てまで時間がかかってしまったので、次回以降のミーティングでは円滑に進行できるよう努めたい。また、講義外で作成していたアニメーションを基に、プロトタイプの作成を進めた。次回もプロトタイプ作成を頑張りたい。

講義外(5月20日)

活動内容
  • cssの学習
  • javascriptのプログラミング
  • エネミーキャラのデザイン
  • キャラクターデータの制作
  • エフェクトの制作
  • 班wikiの編集

attack_eyebeam_04.gif
attack_scratch_02.gif nekomata_eyebeam_02.gif

コメント
htmlで使用するcssを学習し、javascriptで作成したアニメーションに適用した。また、キャラクターとエフェクトを制作した。

講義外(5月21日)

活動内容
  • javascriptのプログラミング
  • エネミーキャラのデザイン
  • キャラクターデータの制作
  • アニメーションのプロトタイプ作成
  • ミニゲームのプロトタイプ作成

komainu01_wankosoba01_04.gif komainu01_wankosoba02_04.gif komainu01_wankosoba03_04.gif komainu02_wankosoba01_04.gif komainu02_wankosoba02_04.gif komainu02_wankosoba03_04.gif

コメント
アニメーションとミニゲームのプロトタイプを作成した。

講義外(5月21日)

活動内容
  • javascriptのプログラミング
  • UIの作成
  • アニメーションのプロトタイプ作成
  • ミニゲームのプロトタイプ作成

guide_keydown01_02.gif guide_mousedown01_02.gif

コメント
UI及びアニメーションとミニゲームのプロトタイプを作成した。

第6回(5月26日)

活動内容
  • enchant.jsの学習
  • モジュール関係の確認
  • プロトタイプ作成

コメント
前回の講義で分割したモジュールの作用関係を確認し、図にまとめた。プロトタイプの作成では、講義外で進めていたこともあり、一部モジュールはほぼ完成させることができた。次回も引き続きプロトタイプ作成を頑張りたい。

講義外(5月28日)

活動内容
  • javascriptのプログラミング
  • キャラクターデータの作成
  • アニメーションのプロトタイプ作成
  • 開始画面のプロトタイプ作成

komainu01_timber01_02.gif komainu01_timber02_02.gif
komainu02_timber01_02.gif komainu02_timber02_02.gif
komainu01_damage_02.gif komainu02_damage_02.gif nekomata_damage_02.gif

コメント
ミニゲームで使用するキャラクターデータを作成した。また、アニメーションと開始画面のプロトタイプを作成した。

第7回(5月30日)

活動内容
  • jsデバッグの学習
  • 進捗の確認
  • スケジューリング
  • プロトタイプ作成
  • メンバー担当分の補助

コメント
今回の講義では、最初にグループのメンバー全員の進捗を確認し、中間発表までの活動スケジュールを検討した。その結果、次回の講義終了までに統合はできないと判断し、休講日に集まって統合することに決定した。その後はプロトタイプの作成を進めると同時に、他のメンバーのサポートをした。次回も引き続きプロトタイプ作成を頑張りたい。

講義外(6月1日)

活動内容
  • javascriptのプログラミング
  • キャラクターデータの作成
  • アニメーションのプロトタイプ作成
  • 終了画面のプロトタイプ作成

komainu01_dance01_02.gif komainu02_dance01_02.gif nekomata_down01_04.gif komainu01_walking01_02.gif komainu01_jumping01_02.gif

コメント
ミニゲームで使用するキャラクターデータを作成した。また、アニメーションと終了画面のプロトタイプを作成した。

第7回(6月2日)

活動内容
  • 進捗の確認
  • プロトタイプ作成
  • 中間発表の準備
  • 統合の準備

コメント
今回の講義でも最初にメンバーの進捗し、モジュールの統合が可能か検討した。その結果、1部のメンバーで来週行う統合に向けて準備をすることになった。準備の結果、正常に動作することを確認できたので、来週は全体で統合を行いたい。また、中間発表の準備も進めていきたい。

講義外(6月8日)

活動内容
  • javascriptのプログラミング
  • キャラクターデータの作成
  • 中間発表の準備
  • 班wikiの編集

guide_keydown02_02.gif guide_keydown03_02.gif guide_keydown04_02.gif guide_mousedrag01_02.gif effect_flash01_02.gif komainu01_shooting01_02.gif

コメント
ミニゲームで使用するキャラクターデータを作成した。また、中間発表のページを編集した。

講義外(6月9日)

活動内容
  • プロトタイプの統合
  • 中間発表の準備
  • 班wikiの編集
コメント

中間発表に向けてwikiを編集した他、プロトタイプの統合を行った。

第9回(6月16日)

活動内容
  • 中間発表
  • 問題点の洗い出し
  • 改善案の企画
コメント

今回の講義では副班長と共に前に出て中間発表及びゲームの実演を行った他、現在の問題点を洗い出し、改善に向けてミーティングを行った。ミーティングの結果、音楽の自動再生を実装するためには、ソフトウェアの設計を大きく変える必要があることがわかった。今回のミーティングでは方針の決定を見送ることになったため、次回の講義で決定できるよう頑張りたい。

第10回(6月23日)

活動内容
  • 設計変更
  • プログラム書き換え
  • コメント確認
  • 遷移図作成
  • 班wiki編集

image18.jpg image20.jpg

コメント

今回の講義では設計変更について方針決定を行い、それに伴いプログラムの書き換え、遷移図の作成、班wikiの共有事項・設計図の更新を行った。また、中間発表に対する先生・TAのコメントを確認し、改善点について話し合った。enchant.jsを使用することにしたため、新たに学ぶことが多く、プログラムの書き換えに苦戦しているが、次回の講義までに完了させられるよう頑張りたい。

第11回(6月30日)

活動内容
  • スケジュール設定
  • スプライトシート作成
  • プログラム作成
  • 戦闘システム改良
  • 班wiki編集
コメント

今回の講義では進捗を基に最終発表までのスケジュールを設定し、次回の統合に向けてプログラムの作成を進めた。また、これまで作成したgifがenchant.jsで使用できないことが判明したため、gifをスプライトシートに作り直した。加えて、改善点である戦闘システムについて考察・改良を試みた。とにかく時間がないので講義外で開発を進めていきたい。

講義外(7月1日)

活動内容
  • スプライトシート作成
  • プログラム作成
コメント

次回で統合が可能になる段階までプログラムを作成した。これからは詳細な部分について検討・実装をしていきたい。

講義外(7月6日)

活動内容
  • スプライトシート作成
  • プログラム作成
  • 戦闘システム改良
コメント

ダメージ計算式の定義・アニメーションの作成を行った。

第12回(7月7日)

活動内容
  • 統合
  • テストプレイ
  • 課題確認
  • 戦闘システム改良
  • 班wiki編集
コメント

今回の講義では試験的に統合を行い、各モジュールが正常に動作するかテストを行った。その結果、モジュールの遷移で問題があり、ディレクトリの構造や変数名などの情報共有の不備が原因であることがわかった。統合の結果を踏まえて、メンバー間の情報共有を徹底したいと思う。また、統合と同時にテストプレイを行い、戦闘システムのバランスを確認した。ダメージの計算式を見直し、さらに改良を重ねていきたいと思う。

講義外(7月13日)

活動内容
  • スプライトシート作成
  • プログラム作成
  • 戦闘システム改良
コメント

アニメーション作成の他、テストプレイを通して戦闘システムについて検討・改良を行った。

第13回(7月14日)

活動内容
  • 統合
  • テストプレイ
  • 課題確認
  • 戦闘システム改良
  • 班wiki編集
コメント

今回の講義では最終発表に向けて本格的に統合を行うと同時に、システムの不具合や難易度を確認するためにテストプレイを行った。大きな問題は発見されなかったが、戦闘バランスについて再調整を行う必要があることがわかった。来週行う最終調整までの時間を有効に活用し、更なる改良を加えていきたいと思う。

講義外(7月21日)

活動内容
  • 統合
  • テストプレイ
  • 最終調整
  • 最終発表ページ編集
コメント

最終発表に向けてソフトウェアの最終調整を行った。また、最終発表ページの編集を行った。

講義外(7月26日)

活動内容
  • 統合
  • テストプレイ
  • 最終調整
  • 最終発表ページ編集
コメント

最終発表に向けてソフトウェアの最終調整を行った。また、最終発表ページの編集を行った。

講義外(7月27日)

活動内容
  • 統合
  • テストプレイ
  • 最終調整
  • 最終発表ページ編集
コメント

最終発表に向けてソフトウェアの最終調整を行った。また、最終発表ページの編集を行った。

第14回(7月28日)

活動内容
  • 最終発表
コメント

今回の講義では、中間発表のときと同様に、副班長と共に前に出て最終発表を行った。自身の班はゲームを製作したため、ゲームのデモンストレーションに比重を置き、ゲームの面白さや独自性が伝わるように発表を行った。1番伝えたかった個性豊かなミニゲームの数々、オリジナリティ溢れるキャラクター、戦略的な戦闘システムをアピールできたと感じる一方、2週間かけて調整を重ねたゲームバランスや、ハードモードについて伝えきれなかったのが心残りである。

講義のまとめ

自身の役割・担当箇所
  • プロジェクトリーダー
    • 毎回の活動でミーティングを行い、進捗・課題の確認を行った。
    • 進捗に応じてスケジュールを設定し、プロジェクトの進行を務めた。
    • 開発に苦戦するメンバーのフォローを行い、プロジェクトの成功に務めた。
    • 班wikiの活動記録ページや発表ページを主体的に作成し、プロジェクトの成功に務めた。
  • 戦闘システム開発
    • 担当モジュール:プレイヤーアタック(1, 2, 3)画面、エネミーアタック(1, 2)画面
    • ゲームフロー(コマンド→ミニゲーム→ダメージステップ)の設計・実装を行った。
    • ミニゲームのスコアをダメージ計算に使用するシステムの設計・実装を行った。
    • コマンドの種類・ダメージの計算式の設計・実装を行った。
    • ゲームバランスについて調整を重ね、試行錯誤を行った。
  • ミニゲーム開発
    • 担当モジュール:ミニゲーム(2, 3)画面(わんこそば、こけし)
    • ミニゲームの設計・実装を行った。
    • 「2人プレイ必須」実現のためにペナルティの追加など試行錯誤を行った。
  • デザイン開発
    • 担当モジュール:モード画面、コマンド画面、プレイヤーアタック(1, 2, 3)画面、エネミーアタック(1, 2)画面、etc...
    • キャラクターのデザイン・実装を行った。
    • ペイントソフトを使用してキャラクターを描き、画像ファイルとして作成した。
    • UIのデザイン・実装を行った。
  • アニメーション開発
    • 担当モジュール:モード画面、コマンド画面、プレイヤーアタック(1, 2, 3)画面、エネミーアタック(1, 2)画面、etc...
    • キャラクター動作・攻撃エフェクトのデザイン・実装を行った。
    • 自身が作成した画像ファイルを使用してスプライトシートを作成し、アニメーションとして実装した。
    • 各ミニゲームで使用するアニメーションも作成した。
  • その他開発
    • 担当モジュール:タイトル画面、ガイド画面、オープニング画面、etc...
    • 戦闘システム以外の部分の設計・実装を行った。

最終発表にも自身が担当した部分について記述してあるので、評価をよろしくお願いいたします。

感想

この講義で私は、グループで物事を計画的に進める能力、課題を解決する能力、わからないことを調べる能力を身に付けることができたと思う。これまで私は、グループで共通目標を持って活動することはもちろん、リーダーとして統率した経験がなかったため、プロジェクト成功に必要な具体的な行動がわからなかった。しかし、講義の中で自身がとるべき行動や必要な能力について少しずつわかるようになり、最終的には最初に設定したスケジュールの通りにプロジェクトを進行し、成功させることができた。この講義で身に付けた能力を、これからの講義や課外活動でも発揮できるように頑張りたい。

追記

半年間ありがとうございました。とても面白い講義でした。


最終更新日:2023/07/30 23:07:05