Your SlideShare is downloading. ×
node.js+WebSocketでリアルタイムオンラインゲーム
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

node.js+WebSocketでリアルタイムオンラインゲーム

4,649
views

Published on

@OSC神戸2011

@OSC神戸2011

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,649
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. node.js  +  WebSocket  で リアルタイムな オンラインゲーム が作りたい! @tyage
  • 2. About.me = 
    • {
    •     Name:     チャゲ ,
    •      Twitter:   @tyage,
    •     Grade:     高校三年生 ,
    •      Website:  http://tyage.sakura.ne.jp/
    • };
  • 3. 概要
      • WebSocket と node.js
      • 作ってみた
      • サーバーサイド
      • クライアントサイド
  • 4. 1. WebSocket と node.js
      • WebSocket とは?
        •   HTML5 の仕様の一部だった(現在は単独の規格)
        • ブラウザとサーバー間で 双方向通信 ができる
        • HTTP 通信よりも軽量で 高速
        • セキュリティ上の理由等々から、 Firefox,Opera の最新版と IE9 では実装されていない
        • Webkit を搭載したブラウザ( Chrome や Safari )だと使える
      • node.js とは?
        • JavaScript で書けるサーバーサイドフレームワーク
        • シングルスレッド
        • イベント駆動
      • どちらも、最近注目され始めた技術
  • 5. 1. WebSocket と node.js
    • WebSocket といえば node.js
  • 6. 1. WebSocket と node.js
    • WebSocket といえば node.js
    • どうして?
  • 7. 1. WebSocket と node.js
    • WebSocket といえば node.js
      • Socket.io という node.js 用ライブラリの登場
        • WebSocket 非対応ブラウザでも使える
      • イベント駆動と WebSocket は相性がよい
      • サーバーサイドもクライアントサイドも JavaScript で統一できて幸せ!
  • 8. 2. 作ってみた
    • http://bit.ly/osckobe2011
      • Google Chrome 推奨
      • 最大 10 接続まで受付
      • 「開始する」をクリック後、 TwitterID を入れるとアイコンが出ます
      • 動きます
      • 跳ねます
      • 撃てます
      • 三回撃たれると終了です
      • チャットや参加者一覧も整備
  • 9. 3. サーバーサイド
      • さくらの VPS 512MB (お試し期間中)
        • 今月 18,19 日くらいまで動かしてます
      • Boku2D (仮)という自作の超簡易物理エンジンを使用
        • 元々はブラウザ上で動かしていた
      • 30ms 毎に計算し、結果を一斉送信
        • 送受信は Socket.io におまかせ
      • https://gist.github.com/911363
  • 10. 4. クライアントサイド
      • twitterID やキー操作やチャットの書き込みをサーバーに伝える
      • サーバーから結果を受け取り canvas で描画するだけ
      • 計算はほとんどしない
      • 送受信は Socket.io におまかせ
      • https://gist.github.com/911390
  • 11. 最後に
      • node.js は高速(?)
        • 今回の場合はだいたい 10 接続で遅延
      • HTML5 の登場により、 JavaScript でゲームが作りやすくなった
        • もちろん問題は多々ある
      • ブラウザさえあれば大抵動く JavaScript はきっと有利!
      • 最近、 9leap なるコンテストができたらしい
        • HTML5+JavaScript 縛りでゲームを作るコンテスト
      • JavaScript でゲームを作りましょう!