高専5年の文化祭がおわったので振り返る

お久しぶりです.nanaminです.高専5年の文化祭(工嶺祭)が終わって一段落したのでいろいろかきます.

TL;DR

今回から試験的導入TL;DRくん.

ゲームサーバーをたてるとたのしい.でもゲーム(クライアント)側との連携でアホみたいに時間かけてしまったのが反省. 展示はうまくいったのでまぁまぁ満足.

展示したもの

去年(高専4年)の文化祭で展示した音ゲー「miditone」に

  • ゲームサーバーを立ててユーザーのスコアを保存できるようにした
  • WiiBalanceBoardでも遊べるようにした

のざっくり2点の機能を追加して新しく 「miditone#」として展示しました.

ユーザーの識別にはQRコードを使い,ユーザー登録のタイミングでQRコード生成&印刷,それをゲーム開始時にカメラで読み取るという方法をとりました.

開発したもの

githubリポジトリ github.com

  • ゲーム本体
    • OpenSiv3D v0.4
  • サーバのAPIクライアント
    • Boost/Asio とか
  • WiiBalanceBoardとの通信
  • ランキング表示アプリ(未完成)
    • OpenSiv3D v0.4
  • ユーザー登録用のAndroidアプリ
  • ゲームサーバ

去年と同様,友人のOpenSiv3Dマンのshirryに描画部分をやってもらい,ゲームサーバの開発と APIクライアント,WiiBalanceBoardとの通信はぼくが担当しました. バイトでRailsAPIをやっているので,その知識が役に立ってよかったです.

ユーザー登録のAndroidアプリはもう1人の友人にやってもらいました.たすかる.

先に反省

ゲーム開発むずいっす

APIクライアントに時間をかけすぎてしまった

冒頭でも書きましたが今回ゲームとサーバの連携,つまりAPIクライアントの部分でアホほど時間をかけてしまいました... サーバはJSON APIとして実装したので,決まったURIに決まったメソッドでHTTPリクエストを投げるとJSONを返すようになっています. ここでそのレスポンスをゲームでいい感じに使えるようにパースする必要があるのですが,きれいなコードを書こうと凝りすぎて無限に時間を消費してしまいました. template多用おじさんで,すいません.

クラスメートを譜面制作にもっとまきこみたかった

ぼくの声かけ&準備不足なのですが,WiiBalanceBoard版の譜面をもう少し増やしたかったです.開発に手一杯でそれどころじゃなかった. 展示当日WiiBalanceBoard版が空気になってたのでちょっとさみしかったです.

ユーザ登録に時間がかかりすぎる

これは完全に想定外で,

  1. AndroidアプリからプリンターにQRコード印刷キューを投げる
  2. プリンターがQRコードを印刷する

この部分で30秒くらいかかるのがとてもつらかった.開発中は「まぁ待ち時間中にやってもらうし大丈夫やろ...」と軽く受け止めていたのですが実際運用してみるとかなりつらい. QRコードの生成と印刷を予めしておけばよかったのかなって今思ったり

ランキング表示アプリ稼働したかった

開発が間に合わなくて稼働できなかったランキング表示アプリくん... 予定ではトータルスコアランキングと人気曲ランキングを表示するはずでした.まぁしょうがない

デスマ開発やめたい

台風19号で工嶺祭が2ヶ月くらいのびてもデスマしちゃう.なんか時間があると追加機能つくりたくなっちゃうよね.しょうがないね. shirryにたくさんissueをふってしまいました.対応してくれてほんとうにありがとうございます.

感想

いろいろ反省点が出てきましたが,とりあえず展示はなんとかなってよかったです. ゲームサーバの開発というなんかかっこいいことができてよかったです.あとDockerもすこし分かってきてよかったです.

ゲームに自分のハイスコアが出てきたり他のプレイヤーのスコアが出てきたりするとテンション上がるよね. ゲームサーバたてるとなんかまじでゲームっぽいことができるのでおすすめです.

RaspberryPiにゲームサーバ立てつつWiFiのAPにしたので,ネットワークの知識がだいぶ役に立ちました. 高専4年のネットワーク基礎はまじで人生の役に立つ.あとマスタリングTCP/IP.shirryがネットワーク強いのでとても助けられた.

今振り返るとと夏休み(9月)くらいからずっとやってきたんだなぁ.ながい.10月に産業フェアにも展示したりして なんかずっとやってる.

謝辞

台風19号が工嶺祭1週間くらい前に直撃して一時は工嶺祭中止になってゲーム開発者として虚無になるところだったけど,こうやって一般公開することができてよかったです. 関係者のみなさん本当にありがとうございます.

また,このゲーム制作にかかわったshirry,クラスメート,先生方にもお礼を言いたいです.

編集あとがき

ふつうに感想を書こうとしたけど,途中で実装面も触れたほうがいいような気がして文章がどっちも寄りになった気がする. 文かくのむずかしいね