2014/3/23
日曜プログラマーが

1週間くらいで通信対戦ゲームを作ってみた
竹内 佑介
自己紹介
✤ 竹内 佑介!
✤ 日曜プログラマーです!
✤ RPGツクール、HSP、

クリック&クリエイト、

DXライブラリをいじってました!
✤ 最近はenchant.js + node.jsに

はまってます
通信対戦ゲームは敷居が高い?
✤ コンピュータ単体で動くゲームのノウハウは

沢山ありますね!
✤ でも、通信対戦ゲームの作り方となると途端に敷居が
高くなりますよね
そんなことはありません
✤ 便利なライブラリ・サービスを組み合わせれば、

日曜プログラマーでも1週間で通信対戦ゲーム

が作れます!
✤ 論より証拠ということで、まずはゲームをお見せします
ジャンケンゲームを作ってみました
http://janken-kaidouji85.herokuapp.com/
動画デモも公開しています
https://www.youtube.com/watch?v=1_ukdCUcw-Q
ゲーム作成期間とか
✤ 作成期間 1週間

->プロトタイプ作成 4日、ブラッシュアップ 3日

->日曜プログラマーだから1日1日の感覚は結構多いん
だけどね!
✤ 行数は全部で500行程度

->行数はサーバとクライアントで大体半々くらいです
作り方を少しだけ紹介します
✤ どうやって累計1週間で通信対戦ゲームを作ったのか
少しだけノウハウを共有させて頂きます!
✤ まずは通信対戦ゲーム作りで壁になるところを

リストアップします
通信対戦ゲーム作成の課題
1. ゲームプログラムてどう作るの?!
2. 通信プログラムってどう書くの?!
3. サーバとゲーム画面の通信は、

どういう仕組みでやればいいの?!
4. ゲームをネットに公開するのはどうやるの?
1. ゲームプログラミング
✤ ゲーム画面作成にはenchant.jsを使います!
✤ ネット上の日本語のノウハウが多く、入門本も

沢山あります!
✤ http://enchantjs.com/ja/
2. 通信プログラム
✤ node.js + socket.ioで超簡単に通信プログラムが

書けます!
✤ BASICとかHSP感覚で通信プログラムが作れます!
✤ これもノウハウが多いですし、公式ページが驚くほど
分かりやすいです!
✤ http://socket.io/#how-to-use
3. 通信ロジック①
✤ ここまでで、ゲーム画面、通信プログラムが作れるよ
うになります!
✤ しかし、サーバ・クライアント間で同期をとる方法を
考える必要があります
サーバ
クライ

アント
ゲームロジック実行
結果に応じた

ゲーム画面表示
コマンド送信
ゲーム判定結果送信
3. 通信ロジック②
サーバ  :  ゲームの処理を実行する!
クライアント: ゲームの結果を表示!
プレイヤーのコマンドをサーバに送信
4. サービス公開方法
✤ herokuとかを使えば簡単にサービス公開できます!
✤ デプロイは1コマンドでOK

例)git push heroku master!
✤ しかも5アプリまでなら無料で公開可能です!
✤ https://id.heroku.com/

もっと詳しく知りたい方は
✤ ソースコードをgithubに公開しているので、是非アク
セスしてみて下さい!
✤ https://github.com/kaidouji85/janken
応用すればスゴいゲームも作れるかも
✤ ジャンケンゲームで一通りサーバ・クライアント間通
信はできました!
✤ あとはこれを少し複雑にしたり、積み上げたりすれば、
より複雑なゲームを作ることも可能です!
✤ 実はジャンケンゲームを元に、通信対戦PRGを作って
ます
ジャンケンゲームの応用でこんなん作ってます
✤ ジャンケンゲームの応用で通信対戦PRGを作ってます!
✤ 近況は、ブログで順次お伝えします
ブログもやってます
✤ ブログもやってます!
✤ 通信対戦プログラムの解説なども順次掲載するつもり
です!
✤ 毎日プログラム

http://blog.livedoor.jp/kaidouji85/
ご清聴ありがとうございました

日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた