日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた
DESCRIPTION
TRANSCRIPT
![Page 1: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/1.jpg)
2014/3/23
日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた
竹内 佑介
![Page 2: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/2.jpg)
自己紹介
✤ 竹内 佑介!
✤ 日曜プログラマーです!
✤ RPGツクール、HSP、
クリック&クリエイト、
DXライブラリをいじってました!
✤ 最近はenchant.js + node.jsにはまってます
![Page 3: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/3.jpg)
通信対戦ゲームは敷居が高い?
✤ コンピュータ単体で動くゲームのノウハウは 沢山ありますね!
✤ でも、通信対戦ゲームの作り方となると途端に敷居が高くなりますよね
![Page 4: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/4.jpg)
そんなことはありません
✤ 便利なライブラリ・サービスを組み合わせれば、
日曜プログラマーでも1週間で通信対戦ゲーム が作れます!
✤ 論より証拠ということで、まずはゲームをお見せします
![Page 5: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/5.jpg)
ジャンケンゲームを作ってみました
http://janken-kaidouji85.herokuapp.com/
![Page 6: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/6.jpg)
動画デモも公開しています
https://www.youtube.com/watch?v=1_ukdCUcw-Q
![Page 7: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/7.jpg)
ゲーム作成期間とか
✤ 作成期間 1週間
->プロトタイプ作成 4日、ブラッシュアップ 3日
->日曜プログラマーだから1日1日の感覚は結構多いんだけどね!
✤ 行数は全部で500行程度
->行数はサーバとクライアントで大体半々くらいです
![Page 8: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/8.jpg)
作り方を少しだけ紹介します
✤ どうやって累計1週間で通信対戦ゲームを作ったのか少しだけノウハウを共有させて頂きます!
✤ まずは通信対戦ゲーム作りで壁になるところをリストアップします
![Page 9: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/9.jpg)
通信対戦ゲーム作成の課題
1. ゲームプログラムてどう作るの?!
2. 通信プログラムってどう書くの?!
3. サーバとゲーム画面の通信は、どういう仕組みでやればいいの?!
4. ゲームをネットに公開するのはどうやるの?
![Page 10: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/10.jpg)
1. ゲームプログラミング
✤ ゲーム画面作成にはenchant.jsを使います!
✤ ネット上の日本語のノウハウが多く、入門本も沢山あります!
✤ http://enchantjs.com/ja/
![Page 11: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/11.jpg)
2. 通信プログラム
✤ node.js + socket.ioで超簡単に通信プログラムが書けます!
✤ BASICとかHSP感覚で通信プログラムが作れます!
✤ これもノウハウが多いですし、公式ページが驚くほど分かりやすいです!
✤ http://socket.io/#how-to-use
![Page 12: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/12.jpg)
3. 通信ロジック①
✤ ここまでで、ゲーム画面、通信プログラムが作れるようになります!
✤ しかし、サーバ・クライアント間で同期をとる方法を考える必要があります
![Page 13: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/13.jpg)
サーバ クライアント
ゲームロジック実行
結果に応じたゲーム画面表示
コマンド送信
ゲーム判定結果送信
3. 通信ロジック②
サーバ : ゲームの処理を実行する!クライアント: ゲームの結果を表示! プレイヤーのコマンドをサーバに送信
![Page 14: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/14.jpg)
4. サービス公開方法
✤ herokuとかを使えば簡単にサービス公開できます!
✤ デプロイは1コマンドでOK 例)git push heroku master!
✤ しかも5アプリまでなら無料で公開可能です!
✤ https://id.heroku.com/
![Page 15: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/15.jpg)
もっと詳しく知りたい方は
✤ ソースコードをgithubに公開しているので、是非アクセスしてみて下さい!
✤ https://github.com/kaidouji85/janken
![Page 16: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/16.jpg)
応用すればスゴいゲームも作れるかも
✤ ジャンケンゲームで一通りサーバ・クライアント間通信はできました!
✤ あとはこれを少し複雑にしたり、積み上げたりすれば、より複雑なゲームを作ることも可能です!
✤ 実はジャンケンゲームを元に、通信対戦PRGを作ってます
![Page 17: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/17.jpg)
ジャンケンゲームの応用でこんなん作ってます
✤ ジャンケンゲームの応用で通信対戦PRGを作ってます!
✤ 近況は、ブログで順次お伝えします
![Page 18: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/18.jpg)
ブログもやってます
✤ ブログもやってます!
✤ 通信対戦プログラムの解説なども順次掲載するつもりです!
✤ 毎日プログラム
http://blog.livedoor.jp/kaidouji85/
![Page 19: 日曜プログラマーが1週間くらいで通信対戦ゲームを作ってみた](https://reader031.vdocuments.net/reader031/viewer/2022020115/549547efb4795938368b45a0/html5/thumbnails/19.jpg)
ご清聴ありがとうございました