Global Game Jam
Sapporo 2016
参加記
情報工学科4年
向平卓矢(mktakuya)
2016.02.04

Josho.LT
今日の目標
ググらせたら勝ち
わからない用語

興味にある技術
どんどんググってください!
向平 卓矢
Takuya Mukohira
情報工学科 4年
ソフテク・情処・美術に所属
→ 何もしないをしている。
株式会社LOUPE エンジニア ’14.05〜
BULB株式会社 エンジニア ’16.01〜
→ Rubyを書いている。
twitter.com/mktakuya
facebook.com/mktakuya
github.com/mktakuya
→ MKとお呼びください!
最近、mktakuya.netをリニューアルしました :)
苫小牧高専ニュースBot
https://twitter.com/TmNCT_News/
ガラナサンクチュアリ
https://guarana-sanctuary.herokuapp.com/
本題
Global Game Jam
Sapporo 2016
参加記
今日の流れ
• GGJとは?
• つくったもの
• Demo
• 当日の様子
• 技術的な話
• 感想・まとめ
GGJとは?
GGJとは?
Global Game Jam
 ゲーム開発ハッカソン
 即席のチームで48時間でゲームを作る
 2015年には、世界78カ国の518会場で開催
札幌会場
Global Game Jam Sapporo
 今年は、池上学院高等学校で開催
 札幌会場独自のルールとして、

 参加登録時のアンケートを元にスキルや意気込みに

 応じてチームが編成される



 僕は、「UNIX☆Webチーム」に配属された
http://ggjsap.juegos/2016/
つくったもの
Roque
ブラウザで動くローグライクゲーム
ロボットのバッテリーが切れる前にゴールを目指す
ランキング機能アリ
矢印キー or hjkl で移動
バッテリーを取ると回復 / 的に当たるとダメージ
Demo
Roque
スマホ/タブレット非対応
Chrome推奨
単純だけどハマるゲーム
ロボットがゾンビ化したり

敵がスタート地点にいたり
するバグも……
https://ggjsap2016-t3.herokuapp.com/
当日の様子
ハッカソン定番

ピザ、Red Bull
技術的な話
技術的な話
ゲーム本体

 enchant.js
ランキングサーバー

 Sinatra

 Sequel + PostgreSQL

 デプロイ先はHeroku
開発体制

 GitHub Flowっぽい開発フロー

 プルリクエストベースの開発体制

 黒板MTG
ゲーム本体
enchant.js

 カンタンにゲームを開発できる

 HTML5 + Javascriptフレームワーク



 ブラウザさえあればゲームが動くので、

 開発者側 / プレイする側双方の環境構築がラク



 PC/スマホ両対応
http://enchantjs.com/
ゲーム本体
プログラミングだけでゲームはできない!

 絵を書きながら、音楽・効果音作りながら、

 プログラミングもしなければいけない

 → 分業必須!
みんなで1ファイルを編集した

 コンフリクトがヤバイ

 後でクラスごとにファイルを分割した
ランキングサーバー
Sinatra - www.sinatrarb.com

 Ruby製のDSL

 素早くWebアプリケーションを作成できる
Sequel - sequel.jeremyevans.net

 Rubyのためのデータベースツールキット

 非Rails Appを作るときなどに便利

 MySQLやPostgreSQL、SQLite3など対応
Heroku - heroku.com

 Webアプリを動作させるためのプラットフォームを提供するPaaS

 Ruby / Python / node.js / PHPなど多数の言語に対応

 自分でサーバーを構築する必要が無く素早くアプリをデプロイ可能
ランキングサーバー
クライアント(ゲーム)からサーバーにゲーム結果をPOST

 クロスドメイン制約で死にかけた……

 ゲーム本体とサーバーのリポジトリを統合することに
Heroku最高

 Sinatraアプリさえちゃんと動くようにしておけば、

 あとはうまくやってくれる
2人で分業

 とっしーがバックエンドを、

 mktakuyaがフロントエンドを担当
開発体制
GitHub Flowっぽい開発フロー

 masterからどんどんブランチ切ってくスタイル

 ブランチがそのままTODOリストに。分業がしやすい。
Pull Requestベースの開発体制

 作業中のブランチは定期的にgithubにpushする

 コードレビューや議論はPull Request上で行う
開発体制
コードベースが小さい物を7人で編集

 コンフリクトしまくった

 mktakuyaがGitHubの人と化して

 ひたすらrebase & merge
黒板MTG!

 込み入った話はface to faceで

 教室にあった黒板便利
※48時間の出来事です
感想
初めてのゲーム開発で楽しかった
得意分野も活かせてよかった
美しい設計・綺麗なコード VS 48時間という制約
もっとgit / GitHub使いこなせるようになりたい
Global Game Jam
Sapporo 2016
参加記
情報工学科4年
向平卓矢(mktakuya)
2016.02.04

Josho.LT
∼END∼

Global Game Jam Sapporo 2016 参加記 - Josho.LT