SlideShare a Scribd company logo
node.jsで通信対戦
ゲーム作ってみた
竹内佑介
kaidoujo85@gmail.com
@pegass85
http://blog.livedoor.jp/kaidouji85/
こんなん作りました
http://gbraver-beta.herokuapp.com
コードはここにあるよ
https://github.com/kaidouji85/gbraver
express
socket.io
passport-
google-
oauth
ゲーム画面
enchant.js
google
アカウント
ゲーム
ロジック
node.js(ゲームサーバ)
mongo
db
mongodb
静的コンテンツ配信

(Webサーバ)
DBアクセス
OAuth
ログイン
ゲーム

コマンド送信
ゲーム判定結果送信
• ゲームサーバ部分で困ったことは、ありませんでした
• socket.io 1.0移行 

http://blog.livedoor.jp/kaidouji85/archives/
4798877.html
• express3 -> 4移行

http://blog.livedoor.jp/kaidouji85/archives/
4868749.html
• 全部1日で終わった

->JavaとかC++だったら、こんなの絶対ありえない
• ゲームサーバのコードは、socket.emit、socket.on
がほとんど
• ミドルウェアのバージョンアップに簡単に対応でき
た
まったくnode.jsとsocket.io
は最高だぜ
ご清聴ありがとう
ございました

More Related Content

What's hot

これから始める人のためのjQuery入門 先生:大竹 孔明
これから始める人のためのjQuery入門 先生:大竹 孔明これから始める人のためのjQuery入門 先生:大竹 孔明
これから始める人のためのjQuery入門 先生:大竹 孔明
schoowebcampus
 
春のJs祭2015 lt
春のJs祭2015 lt春のJs祭2015 lt
春のJs祭2015 lt
Yuusuke Takeuchi
 
Azure Media servicesで初めて power appsつかってみた
Azure Media servicesで初めて power appsつかってみたAzure Media servicesで初めて power appsつかってみた
Azure Media servicesで初めて power appsつかってみた
Takanori Tsuruta
 
初めてのPower apps with azure media services
初めてのPower apps with azure media services初めてのPower apps with azure media services
初めてのPower apps with azure media services
Takanori Tsuruta
 
Azure media services はいいぞ!
Azure media services はいいぞ!Azure media services はいいぞ!
Azure media services はいいぞ!
Takanori Tsuruta
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!leverages_event
 
120225 bootstrap
120225 bootstrap120225 bootstrap
120225 bootstrap
TechGardenSchool
 
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネスWeb ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
t-kihira
 
WebMatrix3でwebプログラミング入門 (2013/08/03)
WebMatrix3でwebプログラミング入門 (2013/08/03)WebMatrix3でwebプログラミング入門 (2013/08/03)
WebMatrix3でwebプログラミング入門 (2013/08/03)
T. Kodaka
 
素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~
ngi group.
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
Horiguchi Seito
 
素人ハニーポッターがCowrie構築したってよ
素人ハニーポッターがCowrie構築したってよ素人ハニーポッターがCowrie構築したってよ
素人ハニーポッターがCowrie構築したってよ
Masanobu Miyagi
 
Bootstrapを使ってみよう
Bootstrapを使ってみようBootstrapを使ってみよう
Bootstrapを使ってみよう
Kawaji Masaki
 
アレと Perl で AWS を - JAWS-UG Aomori #2
アレと Perl で AWS を - JAWS-UG Aomori #2アレと Perl で AWS を - JAWS-UG Aomori #2
アレと Perl で AWS を - JAWS-UG Aomori #2Eikichi Gotoh
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみたYuusuke Takeuchi
 
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法Ryujiro Yamamoto
 
最近知ったBootstrapの注意点
最近知ったBootstrapの注意点最近知ったBootstrapの注意点
最近知ったBootstrapの注意点
Kawaji Masaki
 

What's hot (20)

Enchant.js入門
Enchant.js入門Enchant.js入門
Enchant.js入門
 
これから始める人のためのjQuery入門 先生:大竹 孔明
これから始める人のためのjQuery入門 先生:大竹 孔明これから始める人のためのjQuery入門 先生:大竹 孔明
これから始める人のためのjQuery入門 先生:大竹 孔明
 
春のJs祭2015 lt
春のJs祭2015 lt春のJs祭2015 lt
春のJs祭2015 lt
 
Azure Media servicesで初めて power appsつかってみた
Azure Media servicesで初めて power appsつかってみたAzure Media servicesで初めて power appsつかってみた
Azure Media servicesで初めて power appsつかってみた
 
初めてのPower apps with azure media services
初めてのPower apps with azure media services初めてのPower apps with azure media services
初めてのPower apps with azure media services
 
Azure media services はいいぞ!
Azure media services はいいぞ!Azure media services はいいぞ!
Azure media services はいいぞ!
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
120225 bootstrap
120225 bootstrap120225 bootstrap
120225 bootstrap
 
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネスWeb ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
 
WebMatrix3でwebプログラミング入門 (2013/08/03)
WebMatrix3でwebプログラミング入門 (2013/08/03)WebMatrix3でwebプログラミング入門 (2013/08/03)
WebMatrix3でwebプログラミング入門 (2013/08/03)
 
素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
 
素人ハニーポッターがCowrie構築したってよ
素人ハニーポッターがCowrie構築したってよ素人ハニーポッターがCowrie構築したってよ
素人ハニーポッターがCowrie構築したってよ
 
Bootstrapを使ってみよう
Bootstrapを使ってみようBootstrapを使ってみよう
Bootstrapを使ってみよう
 
アレと Perl で AWS を - JAWS-UG Aomori #2
アレと Perl で AWS を - JAWS-UG Aomori #2アレと Perl で AWS を - JAWS-UG Aomori #2
アレと Perl で AWS を - JAWS-UG Aomori #2
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
 
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
 
最近知ったBootstrapの注意点
最近知ったBootstrapの注意点最近知ったBootstrapの注意点
最近知ったBootstrapの注意点
 
Word bench千葉20130518
Word bench千葉20130518Word bench千葉20130518
Word bench千葉20130518
 
Bootstrap
BootstrapBootstrap
Bootstrap
 

More from Yuusuke Takeuchi

Reduxについて
ReduxについてReduxについて
Reduxについて
Yuusuke Takeuchi
 
自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた
Yuusuke Takeuchi
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
Yuusuke Takeuchi
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみた
Yuusuke Takeuchi
 
Node.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよNode.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよ
Yuusuke Takeuchi
 
Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Yuusuke Takeuchi
 
2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り
Yuusuke Takeuchi
 
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみたHtml5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみたYuusuke Takeuchi
 
Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目Yuusuke Takeuchi
 
Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目Yuusuke Takeuchi
 
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
テスト駆動ゲーム開発をJava scriptで実践  in jscafe20テスト駆動ゲーム開発をJava scriptで実践  in jscafe20
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20Yuusuke Takeuchi
 
テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践Yuusuke Takeuchi
 
Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先Yuusuke Takeuchi
 
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってますYuusuke Takeuchi
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生Yuusuke Takeuchi
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
 
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるNode.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるYuusuke Takeuchi
 

More from Yuusuke Takeuchi (17)

Reduxについて
ReduxについてReduxについて
Reduxについて
 
自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみた
 
Node.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよNode.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよ
 
Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案
 
2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り
 
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみたHtml5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
 
Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目
 
Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目
 
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
テスト駆動ゲーム開発をJava scriptで実践  in jscafe20テスト駆動ゲーム開発をJava scriptで実践  in jscafe20
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
 
テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践
 
Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先
 
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
 
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるNode.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
 

Recently uploaded

アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
TatsuyaHanayama
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 

Recently uploaded (6)

アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event