SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
NODE.JSなら日曜プログラマーでも
簡単に通信対戦ゲームが作れる
竹内 佑介
自己紹介
•

竹内 佑介です

•

趣味でゲームを作ってました

•

クリック&クリエイト、RPGツクール

HSP、DXライブラリとかやってました
中学生の頃はツクールや

クリック&クリエイトやってました

•

こいつらは使いやすいけど、変数とかサブルーチン
の機能が弱くて大変だった

•

じゃあ、プログラムを書こう
という訳で入門書を読みましたが
•

入門本読むぞ

•

えっ、ウインドウ作るだけで100行

•

プログラムとか素人には無理
そこに救世主が登場

その名もHSP
HSPは僕の青春でした
•

ウインドウ作るのが1 行だけ

•

ボールがバウンドするアニメーションも20行くらい
で書けちゃう

•

しかも無料で使えて、けっこう軽い
まあその後DXライブラリに鞍替え

しますが……
•

当時のHSPにはグローバル変数しかなかった。

ー>関数、クラス使いたいよ

•

あと、HSPだと途端に敷居があがるものがありまし
た、それは……
通信対戦と3D
C++で3D、通信にチャレンジしてみます
が……
•

3DはDXライブラリで何とかなったけど、素材用意
するのが死ぬ程大変

•

ソケット通信プログラムもやってみたけど、初期化
するだけで100行近くって

•

こんなのツクラーに毛が生えた程度の人間が、趣味
で出来ることを超えてますよ
そこでNODE.JS+SOCKET.IO

の出番です
SOCKET.IOで簡単に

通信プログラムが書けます

•

これだけでサーバ、クライアント間での通信プログ
ラムが書けてます
論より証拠ということで

通信対戦ゲームを作ってみました
•

ジャンケンゲームです

•

http://janken-kaidouji85.herokuapp.com/
かかった時間、行数とか
•

作成期間は2日間(土日で作りました)

•

プロダクトコードの行数は500行くらいです

•

socket.io、express、enchant.jsという

オーソドックスな組み合わせで作られています
作ってみた感想
•

サーバから自分で書けるフリーダムさがいいですね

->Railsとかは予め決められた枠組みを自分で拡張

する感じ

->node.jsは自分で枠組みを作れる感じ

->こういうところがHSPとかに通じるものが

 あると思います。

•

堅実さよりもすぐに動かせる機能こそ、ツクラーの望むも
のです
手軽さ故にはまったところもあります
•

じゃんけんの手を定数にしてました

•

が、クライアントと繋げるでスペルミスしてるのに
気づきませんでした

•

undefineでもイコールは通るので、テストコードに
もひっかかりませんでした

•

Javaならビルドエラーで一発で気づいたんだろうな
じゃんけんゲームのソースについて
•

今日さらしたゲームのソースコードは、

githubに公開してます

https://github.com/kaidouji85/janken
まとめ
!

この短期間で通信対戦ゲームを

実装できる使いやすさ
まったくNODE.JSは最高だぜ

(ごめんなさい、これが言いたかっただけです)
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」井戸 里志
 
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件Grenge, Inc.
 
ゆるゆるUE4ネットワーク入門
ゆるゆるUE4ネットワーク入門ゆるゆるUE4ネットワーク入門
ゆるゆるUE4ネットワーク入門ssuser221848
 
ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」Kouji Ohno
 
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0Osamu Ohkubo
 
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめShun Sasaki
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインKouji Ohno
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTERエピック・ゲームズ・ジャパン Epic Games Japan
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現Unity Technologies Japan K.K.
 

Was ist angesagt? (20)

大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
 
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
 
Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)
 
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
 
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMERVisual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
 
ゆるゆるUE4ネットワーク入門
ゆるゆるUE4ネットワーク入門ゆるゆるUE4ネットワーク入門
ゆるゆるUE4ネットワーク入門
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」
 
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフローUE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
 
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
 
Unreal Engine最新機能 アニメーション+物理ショーケース!
Unreal Engine最新機能 アニメーション+物理ショーケース!Unreal Engine最新機能 アニメーション+物理ショーケース!
Unreal Engine最新機能 アニメーション+物理ショーケース!
 
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
 
UE4におけるアニメーション制作事例
UE4におけるアニメーション制作事例  UE4におけるアニメーション制作事例
UE4におけるアニメーション制作事例
 
猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
 
UE4におけるレベル制作事例
UE4におけるレベル制作事例  UE4におけるレベル制作事例
UE4におけるレベル制作事例
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
 
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころPhotonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
 

Mehr von Yuusuke Takeuchi

自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみたYuusuke Takeuchi
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10Yuusuke Takeuchi
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたYuusuke Takeuchi
 
Passportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もうPassportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もうYuusuke Takeuchi
 
Node.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよNode.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよYuusuke Takeuchi
 
Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Yuusuke Takeuchi
 
東京Node学園祭2014 飛び入りLT
東京Node学園祭2014 飛び入りLT東京Node学園祭2014 飛び入りLT
東京Node学園祭2014 飛び入りLTYuusuke 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
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみたYuusuke Takeuchi
 

Mehr von Yuusuke Takeuchi (20)

Reduxについて
ReduxについてReduxについて
Reduxについて
 
自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみた
 
Passportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もうPassportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もう
 
春のJs祭2015 lt
春のJs祭2015 lt春のJs祭2015 lt
春のJs祭2015 lt
 
Node.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよNode.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよ
 
Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案
 
東京Node学園祭2014 飛び入りLT
東京Node学園祭2014 飛び入りLT東京Node学園祭2014 飛び入りLT
東京Node学園祭2014 飛び入りLT
 
2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り
 
Enchant.js入門
Enchant.js入門Enchant.js入門
Enchant.js入門
 
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先生
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
 

Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる