((outline)) !!!進捗チェック !!第2回以前 ~2021/4/30 :班wiki全般 ::いい班を参考にしましたね。([19年度1班|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2019/?p=19%3A%3Agr01]) ::ゲーム関係は[19年度1班|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2019/?p=19%3A%3Agr01]が、データ入力関係は[20年度10班|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2020/?p=20%3A%3Agr10]あたりが参考になりそうです。 ::質の高い班wikiを書いて成績アップ&後輩を助けてあげてください! :簡易企画書 ::コンセプトだけでなく対象者もしっかり定めているのが非常に高印象です。 ::これからどんどんアイディアを出していき、機能やUIを定めていきましょう。 :活動報告(班wiki) ::とても見やすいし詳細ページのリンクがついて使いやすいです。 ::班のトップページから第○回のタグに飛べるのも良いですね。 ::チームでのものづくりは作業工程管理が非常に重要になってきます。 ::現在の活動記録を残すことで「何をいつまで完成させるか」の予定が立てやすくなるのでしっかり書くようにしましょう。 ::班長を筆頭に班員全員が時間意識を持って余裕のある班活動を心掛けてください! :活動記録(個人) ::個人の詳しい活動や班の活動とは別に個人でやったこと(勉強したこと)を記してください。 ::備忘録や手記(日記・ブログ)のように使っても大丈夫です。 ::折角なのでたくさん書いて成績アップを目指しましょう! !!第3回 2021/4/30 :企画書 ::前回の簡易企画書とは別に企画書を作ったようですね。 ::ユーザー視点からの詳しい仕様がイラストつきで書いてあるため、ものと操作の洗い出しが容易になると思います。(UIも凝っていていいですね。) ::また、チームのみんなで完成のイメージを共有することで今後の班活動が円滑になる効果もありそうです。後輩の参考にさせたいレベル。 :ものと操作の洗い出し ::先も述べましたが、今回作った企画書のおかげでよく洗い出せていると思います。 ::来週は細かい部分をしっかり固めましょう。(ものや操作に抜けがないか、「トップ画面」「top画面」「ホーム画面」など似た単語は使い分けられているか、など) ::来週の後半にはモジュール分けに入れそうな勢いでTAは感心しています。 :活動記録(個人) ::成果物の出来映えよりも個人の成長度合いを評価する授業なので、いっぱい記入した方がお得です。 ::やったこと、学んだこと、失敗したこと、成長したこと、考えたこと、なんでもOKです。 !!第4回 2021/5/14 :企画書 ::更新を確認しました。 ::イラストと脚注を上手く使って、明確にUIの機能部分を設定できています。 ::UIのデザインもユーザーへの思いやりが伝わってきます。(異なる画面でもサイドバーの位置と形が同じなど) :ものと操作の洗い出し ::前回よりも更に良くなったと思います。 ::目に見えるものから概念まで、ほぼ全ての「もの」を羅列できている印象を受けました。 :モジュール分け :: モジュール分けの基本は、プログラム全体を'''「依存関係が小さい」''''''「インターフェースが単純」'''な部品に分けることです。 :: 「依存関係が小さい」という観点から言うと、ゲーム画面ごとに分けているのは一つの正解だと思います。関係を持つモジュールが少なく済むでしょう。モジュール関連図の節にも何やら至言が書いてありますね。画面遷移図も上手です(それぞれのモジュール担当の班員は内容が合っているか確認してください)。 :: また、「インターフェースが単純」だと他のモジュールが使いやすくなります。その結果、結合・統合が容易になります。 :: いろいろ書きましたが、モジュール分けは本当に難しい作業です。完璧にできる人なんていないし、絶対な答えもありません。そもそもモジュール分けの目的は「多人数開発を可能にする→時間短縮」「機能ごとに分割する→設計が明確化・仕様変更が容易」にすることです。 つまり、少しくらいいい加減なモジュール分けでも'''作品は完成'''します!初めての作業に怯えずに「グループ開発が楽になればいいな~」くらいの気持ちでやってみましょう! :リモートについて ::大学の警戒レベルが上がり、この授業もリモートでの実施になりました。(現段階では5,6,7回がリモートで実施。それ以降は不明。) ::もともと第7回はリモートの予定でしたが急な決定で困ることもあるかと思います。もしも相談や質問があればなんでも言ってください。(>>{Yamaguchi}{ここ}のメアドに連絡、またはZOOMで呼んでください。) !!第5回 2021/5/21(遠隔) :モジュール分け ::モジュール化の初日とは思えないほど進んでいますし、方針もとても良い感じです!もしこの調子なら企画書通りのすごい作品が完成するのでは?と期待してしまいます。 ::次週はモジュールの中から実装できそうな機能を選び実際にプログラミングしていきましょう。 :リモート作業 ::急なリモート実施にも関わらず、問題なく活動できたようで感心しました。 !!第6回 2021/5/28(遠隔) :モジュール分け ::機能をモジュールごとに分けたことでいよいよプロトタイプの作成に入れますね。 :プロトタイプ作成 ::各々本格的にプログラミングをしはじめたと思います。 ::そこで一つお願いがあります。 ::JavaSciptの仕様やライブラリの仕様を理解したら、出来るだけ早い段階で'''enchant.js'''を導入するか否かを決定してほしいです。 ::授業ではenchant.jsの使用を推奨していましたが、enchant.jsはゲーム制作を助けるライブラリです。 ::皆さんの作品への貢献度と、独特な仕様を理解するまでの労力で天秤にかけてみてください。 :画面遷移について ::ここから先は余裕のある人が読んでください。 ::enchant.jsを導入する一番のメリットはシーンごとに独立していることです。そのため、各々の開発もシーン推移(画面遷移・モジュール結合)も楽にコーディングできます。 ::enchant.jsを導入する場合は引き続き[19年度1班|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2019/?p=19%3A%3Agr01]を参考にしていくといいでしょう。リポジトリに作品がおいてあるのでコードを読めば参考になるかもしれません(HTMLとJavaScript、enchant.jsの深い理解がないと難しいかも...。ローカルだと実行できないし)。[20年度3班|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2020/?p=20%3A%3Agr03]なんかは画面でモジュールを分けつつシンプルで分かりやすいです。[リポジトリ|https://gitlab.cis.iwate-u.ac.jp/2020_g03/proj]に作品が残っていました。 ::enchant.jsを導入しなくても画面遷移はできます。以下に例を示します。 ::「DOMで表示・非表示を切り替えることで画面が遷移するように見せかける」:[20年度1班|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2020/?p=20%3A%3Agr01]がとてもいいモジュール分けをしています。[特にこのモジュール|https://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2020/?p=20%3A%3Agr01%3A%3A%E6%99%82%E9%96%93%E5%89%B2%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB]が素晴らしいです。リポジトリに完成品があるのでコードを見せてもらっちゃいましょう(HTMLとJavaScriptのDOMを理解していれば簡単に読めます)。 ::「ページを遷移する」:ハイパーリンクでhtmlごと変えてしまうというシンプルな方法です。htmlは同じファイルでクエリパラメータのみを変えるという手もあるかもしれません。 ::もちろん他にも沢山あります。皆さんが実装したいアイディアを引っ張り出して採用してください! !!第7回 2021/6/4(遠隔) !!第8回 2021/6/11 !!第9回 2021/6/18(中間発表) //::来週は、「1.ものや操作など機能の抜けがないか」を確認後、「2.各モジュールの関連」「3.モジュール間のインターフェース」を決定するといいと思います。そうすれば、プロトタイプの作成時の単体テストが明確に行えます。難しい作業ですが皆さんの力なら大丈夫です! !!第10回 2021/6/25 !!第11回 2021/7/2 !!第12回 2021/7/9 !!第13回 2021/7/16 !!予備日 2021/7/24 !!第14回 2021/7/30?(最終発表)