an odd fellow

読書と写真と情報工学

water-workというカードゲームをフルjavascriptで実装しました。

研究室の新4年課題としてゲームを1ヶ月で作れという課題をいただき、なんとか形にして終了しました。最大5人参加できる多人数参加型のカードゲームです。nodejsのsocket.ioを使って画面がリアルタイムに更新します。10年前、小学生だった頃、perlで書かれた10秒おきに更新されるチャットで散々おしゃべりしていた時代に比べてWeb周りの技術とても進歩したなぁと身を持って体感しました。リアルタイム双方向通信がこんなに簡単に書けるなんて!

f:id:roronya:20140518000318p:plain

はーしかし、一生懸命つくったけれど、発表前にカードを置く処理のところでバグを見つけたのが辛かった。暇があったらデバッグしてきちんと動くものにしたいなぁと思います。

1ヶ月ちょっとで作ったのだけど、

  • ユースケース図・クラス図・アクティビティ図を用いた設計(1.5週間)
  • フルjavascriptで実装をすることを決めて、必要技術の習得(1週間)
  • バックエンドの実装(1週間)
  • フロントエンドの実装(1.5週間)

という感じだった。設計が甘いと本当に苦労する。もっと時間をかけてもよかったかも。身にしみた。しかしながら、設計は難しい!

で、アーキテクチャやプラットフォームは書ききれたのに、結局判定アルゴリズムが書けなかったというね、情けない。もったいない。

フロントエンドの実装は締め切りの直前は2日くらい寝れない日がありました。

あ、あとi7のT410で動かしたらサクサク動いたのにcore2dioなX200sだと激重だったので、とても悲しくなりました。レガシーな端末でモダンWebはやはり苦しいなと再確認しました。

水道管ゲーム(WATER・WORKS)

水道管ゲーム(WATER・WORKS)