Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

744 views

Published on

苫小牧高専 情報処理同好会 Josho.LT( 2016/02/04 )
Global Game Jam Sapporo 2016( http://ggjsap.juegos/2016/ )に参加した話をした。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Global Game Jam Sapporo 2016 参加記 情報工学科4年 向平卓矢(mktakuya) 2016.02.04
 Josho.LT
  2. 2. 今日の目標
  3. 3. ググらせたら勝ち
  4. 4. わからない用語
 興味にある技術 どんどんググってください!
  5. 5. 向平 卓矢 Takuya Mukohira 情報工学科 4年 ソフテク・情処・美術に所属 → 何もしないをしている。 株式会社LOUPE エンジニア ’14.05〜 BULB株式会社 エンジニア ’16.01〜 → Rubyを書いている。 twitter.com/mktakuya facebook.com/mktakuya github.com/mktakuya → MKとお呼びください!
  6. 6. 最近、mktakuya.netをリニューアルしました :)
  7. 7. 苫小牧高専ニュースBot https://twitter.com/TmNCT_News/
  8. 8. ガラナサンクチュアリ https://guarana-sanctuary.herokuapp.com/
  9. 9. 本題
  10. 10. Global Game Jam Sapporo 2016 参加記
  11. 11. 今日の流れ • GGJとは? • つくったもの • Demo • 当日の様子 • 技術的な話 • 感想・まとめ
  12. 12. GGJとは?
  13. 13. GGJとは? Global Game Jam  ゲーム開発ハッカソン  即席のチームで48時間でゲームを作る  2015年には、世界78カ国の518会場で開催
  14. 14. 札幌会場 Global Game Jam Sapporo  今年は、池上学院高等学校で開催  札幌会場独自のルールとして、
  参加登録時のアンケートを元にスキルや意気込みに
  応じてチームが編成される
 
  僕は、「UNIX☆Webチーム」に配属された http://ggjsap.juegos/2016/
  15. 15. つくったもの
  16. 16. Roque ブラウザで動くローグライクゲーム ロボットのバッテリーが切れる前にゴールを目指す ランキング機能アリ 矢印キー or hjkl で移動 バッテリーを取ると回復 / 的に当たるとダメージ
  17. 17. Demo
  18. 18. Roque スマホ/タブレット非対応 Chrome推奨 単純だけどハマるゲーム ロボットがゾンビ化したり
 敵がスタート地点にいたり するバグも…… https://ggjsap2016-t3.herokuapp.com/
  19. 19. 当日の様子
  20. 20. ハッカソン定番
 ピザ、Red Bull
  21. 21. 技術的な話
  22. 22. 技術的な話 ゲーム本体
  enchant.js ランキングサーバー
  Sinatra
  Sequel + PostgreSQL
  デプロイ先はHeroku 開発体制
  GitHub Flowっぽい開発フロー
  プルリクエストベースの開発体制
  黒板MTG
  23. 23. ゲーム本体 enchant.js
  カンタンにゲームを開発できる
  HTML5 + Javascriptフレームワーク
 
  ブラウザさえあればゲームが動くので、
  開発者側 / プレイする側双方の環境構築がラク
 
  PC/スマホ両対応 http://enchantjs.com/
  24. 24. ゲーム本体 プログラミングだけでゲームはできない!
  絵を書きながら、音楽・効果音作りながら、
  プログラミングもしなければいけない
  → 分業必須! みんなで1ファイルを編集した
  コンフリクトがヤバイ
  後でクラスごとにファイルを分割した
  25. 25. ランキングサーバー 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など多数の言語に対応
  自分でサーバーを構築する必要が無く素早くアプリをデプロイ可能
  26. 26. ランキングサーバー クライアント(ゲーム)からサーバーにゲーム結果をPOST
  クロスドメイン制約で死にかけた……
  ゲーム本体とサーバーのリポジトリを統合することに Heroku最高
  Sinatraアプリさえちゃんと動くようにしておけば、
  あとはうまくやってくれる 2人で分業
  とっしーがバックエンドを、
  mktakuyaがフロントエンドを担当
  27. 27. 開発体制 GitHub Flowっぽい開発フロー
  masterからどんどんブランチ切ってくスタイル
  ブランチがそのままTODOリストに。分業がしやすい。 Pull Requestベースの開発体制
  作業中のブランチは定期的にgithubにpushする
  コードレビューや議論はPull Request上で行う
  28. 28. 開発体制 コードベースが小さい物を7人で編集
  コンフリクトしまくった
  mktakuyaがGitHubの人と化して
  ひたすらrebase & merge 黒板MTG!
  込み入った話はface to faceで
  教室にあった黒板便利
  29. 29. ※48時間の出来事です
  30. 30. 感想 初めてのゲーム開発で楽しかった 得意分野も活かせてよかった 美しい設計・綺麗なコード VS 48時間という制約 もっとgit / GitHub使いこなせるようになりたい
  31. 31. Global Game Jam Sapporo 2016 参加記 情報工学科4年 向平卓矢(mktakuya) 2016.02.04
 Josho.LT
  32. 32. ∼END∼

×