アーカイブ

2014年10月

カテゴリ:
Gブレイバーをアップデータしたら、ログインまでの時間が妙に遅くなっていました。調べてみると、MongoHQでのデータベース接続に9秒近くもかかっていました。この原因は、短時間でDBコネクション、クローズを繰り返していたからです。ここら辺に軽くはまってしまいました。

カテゴリ:
socket.ioのセッション切断検知方法
socket.ioでセッション切断検知をする方法のまとめです。サーバ、クライアント側でそれぞれセッション切断時のイベントが違います。

サーバ側
->disconnect

クライアント側 
-> reconnecting

 
 
コード例
私の自作ゲームのGブレイバーでは、こんな感じでセッション検知をしています。

サーバ側コード例

クライアント側コード例


ちなみに、Gブレイバー全体のソースは、ここで見れます。
github/gbraver

という訳で今日はここまで。


node.js製対戦ゲーム:Gブレイバー解説 1回目 

カテゴリ:
 

はじめに

今日は自作ゲーム、機動倶楽部Gブレイバーのソースコードを解説します。


Gブレイバーで使っている技術
  1. node.js
  2. socket.io
  3. express
  4. passport-google-oauth
  5. enchant.js
  6. mongo db
比較的オーソドックスなものが多いです。4以外はドットインストールに解説動画があります。


ゲームのソースコード
ゲーム全体のソースコードは、gtihubにアップしています。
kaidouji85/gbraver


システム構成
002

基本構成はサーバ側のゲームロジックとクライアントがsocket.io経由でやりとりをするというものです。また、ゲームロジックはシンプルなJavaScriptクラスとして定義されています。


ゲームサーバ・クライアント間通信
 003
 ゲームサーバとクライアント間の通信方法は、

(1)クライアントがコマンドを送信
(2)2人分のコマンドが送信されたら、ゲームサーバがゲーム処理を実行
(3)ゲーム結果をクライアント全員に送信
※以降、ゲームが終わるまで(1)から(3)のループ

となります。 ゲームサーバ・クライアント間通信処理を書いているソースコードはserver.jsのcommandForTwoPlay()です。
 

次回予告
次はゲームサーバのロジックについて、もう少し詳しく解説しようと思います。 

Gブレイバー第11スプリント報告と次回リリース予定

カテゴリ:
リリースした機能
・アームドーザ画像を大きくした
・パイロット選択ができるようになった
 ※ただし、パイロット毎の固有スキルは未実施
 ※全員同じスキルしかつかえません







次回リリース予定 
・アームドーザ選択画面の改善
・Gブレイバーの作り方の解説資料作成

リリース予定日 2014/11/2 (日) 

Gブレイバー関連サイト
github
Gブレイバー公開サイト 

このページのトップヘ

見出し画像
×