2020 ソフトウェア設計及び演習用の班Wiki
20::gr09::鈴木直揮::メモ::最終発表を終えて
最終発表を終えて
中間発表程にはこってりには書かない。感想待ってたのに全然感想書いてくれてないのですが。
中間発表前もなかなかに激動という感じがしましたが、最終発表はより激動的でした。
最終発表の日に締め切りの課題があり、朝の時間はそれに費やしてしまいました。さっさと終わらせてたら良かったのですが・・・。(提出出来たので良かったです。これは。)
そこから他の人の変更を自分の開発ブランチにマージ、マージしておかしくなった所の修正、デザインの調整を10時半ぐらいまでやってました。対戦画面以外は背景画像一色のプロトタイプから一気に当日にまともなデザインに仕上げました。中間発表では中間発表前前日にはプログラムが出来上がっていたのに、今回は当日に盛大に作業してました・・・。
(何故自分の変更をリポジトリに上げなかったかというと、ぶっ壊れていれて上げたくなかったから・・・。)
そこから感想を書いたり、班wikiにドキュメントを書いていたので、発表前ギリギリに発表に必要な物がやっと揃ったという感じです・・・。そのため、発表原稿の準備等の発表に関する準備を全然せずに発表を迎えました。
今考えてみると、発表原稿の準備等を最優先で進めて、班wiki等は別に発表後に整えた方がより良い発表になったと思います。中間発表では班wikiが役立ったのですが、今回はそこまで発表の質向上に役立たなかったので。
ただ、発表の質向上以前に、発表する事がそこまで無くて困りました。中間発表はデモで話す事が無くて微妙だったので、設計などの事を話さなければいけませんでした。中間発表はそれが結果的に良い方向に行ったのですが、今回は見た目的にはそこまで大きな変更が入っておらずデモをしても結局デモについてそこまで話す事が無く、かといって開発などに関してもそこまで中間発表から変わった事が無かったので、マジで話すことがありませんでした。クソ下手なプレイを見せたくない?テトリスにテーマ決めたのにそんな訳ないでしょ・・・。
ただ、原稿考えてくるなど、色々と発表に関してはもっとやりようはあったと思います。(TAの方々アドバイスありがとうございます。)そこら辺はコメ返で話そうかと。
こうやって14週終わってみると、やっぱりテーマ通りにプログラムが出来て凄いなぁって思います(小並感)javascriptのせいで進んでなかったrustの勉強を進めたい。
コメント返し
takaseさん(私達の班のTAの方)
モジュールの説明よりも実際にプレイしながらの説明の方がわかりやすいのでは。 割とAIが強そうだと思いました。選択できるようになればもっと良かったです。
AIの強さは設定画面が無いので、最高速 / 3で固定してました。テトリス出来る人にとってはそこまで強くないと思ってたのですが、結構皆さん強いと言っていたので、デフォルトはもっと弱くするべきでした。
実際にプレイしながら説明するという発想は全然無かったので、これを見た時に驚きました。発表原稿を考える時に考慮しておけば良かったと思いました。何説明すれば良いのか分からないのですが・・・。
akaishiさん
まだコメント無し
takahashiさん
CPUのAIの実装ができて、CPUとの対戦が出来るようになりよりゲーム性が増して◎です。消すとおじゃまブロックが送られる機能も、本家へのリスペクトを感じ、引き込まれました。
お邪魔が送れないとただの一人テトリスなので!(白目)
yamaguchiさん
AI対戦型テトリス、とても高い質にまとまっていたと思います。 他の班もそうですけど、最終発表のページにデモのリンクがあるのはめちゃくちゃ評価が高いです(主にTAの)。 (来年度に投票があれば、是非勧めたい...) コンセプトはありふれたものですが、実装はきっと想像よりも難しかったと思います。おつかれさまでした。 仮担当TAの誼でこれも読んでました。こっちもお疲れさま。
リンクはお手軽に遊んで欲しいのと、ただpublec_htmlフォルダを使いたかっただけです。(再)
評価が高くなるのですね・・・。
私の担当したmainとAIはそんなに難しくないです。(難しくしようとしなかったというのはある。) 表示や操作ミノを中間発表前に無理矢理にでも実装してくれた人は滅茶苦茶大変だったと思います・・・。
クソ駄文を読んで頂きありがとうございます・・・。
teruiさん
テトリスとして完成度の高いものを作れていて良いと思います。 AIはどういう仕組みで動いているのでしょうか。 せっかく実装したので説明があると良かったかもしれません。 やってみたいなと思いました。
AIの実装が気になる人が居たのか・・・というのが正直なお気持ちです。リファクタリングしてないのでクソ読みにくいのですが(特に盤面作成、操作)、来たミノを4方向 * (10 - 横幅) にハードドロップして盤面作成→まともそうな盤面を選ぶ→操作ってしてるだけです。
リンクあるのでやってください。(圧力)
盧先生
このテトリスゲームの中に,一番目立つのは,「AI」というアルゴリズムです.モジュール化に関する文書を読むと,その「AI」モジュールが,置ける場所全探索,盤面評価,操作の決定,操作の順序を作るなどの関数で構成されたが,詳細がわからないので,できるだけフローチャートを用意してほしい.発表中に5分間ぐらいで「AI」の動きを確認したら,ミスはほとんどなかったので,素晴らしかったと思います.
そこまで目立つとは思っていませんでした(泣)
AIのコード自体は8割方中間発表前に完成していたのですが、中間発表に間に合わなかったのは表示処理の実装が遅くて間に合わなかったというのと、デバッグが必要だった(AIモジュールでやりたい事は書けてたけど、操作ミノモジュールの正しい扱い方が分からなく、バグが入り込んでしまった)というのがあったりします。実装が終わるまでに相当な時間がかかっているので、非常にマヌケなミスはしてないと思います。ただ、盤面評価関数はチューニングが必要だけれどチューニングを適当に済ませてしまっているので、微妙な盤面を作成しているかもしれません。
フローチャートが必要だとは全然思いもしませんでした。今後に活かしていこうと思います。(フローチャートを書くのはAIだけで良かった?)
古館さん
今の所コメント無し
最終更新日:2020/08/14 11:56:53