なんとなくオンラインアクションゲーム開発
投稿者: shainy 投稿日:2017/11/03 01:38
≪オンラインアクションゲーム
|
開発開始≫
どうも、しゃいにーです
AI開発の合間に息抜きがてらオンラインアクションゲームシステム開発で遊んでいました
Rmakeでオンラインゲームとなるとsave/loadGameData関数が必要になるわけですが…
1秒に1回しか呼べないという弱点があります
アクションゲームのように常に処理し続けるゲームではどうしても使いにくいですね
なので1秒間の空白(正確にはセーブとロードで2秒間)のデータをどこかに溜めておいて、一気に送受信するプログラムが必要になります
できました
画像の試作段階のプログラムではプレイヤーの座標データ等を一旦サーバーに保存してからそれをロードして別プレイヤーとして表示させています
(赤が操作しているプレイヤーで、青がサーバーを経由させたプレイヤー)
離れてもちゃんと全プレイヤーが映る無駄なカメラワーク仕様
一応ジャンプも作った
…ていうか遅延云々以前にデータ容量のほうが深刻でした
x座標が3200、y座標が2400まで
これをそのまま保存して4桁+4桁+2桁(座標以外のデータ)=10桁
×60(30fps×2秒)=600桁
関数リファレンスを見るとsaveGameDataは500文字までしか保存できないとのこと
慌てて64進数変換プログラム作って保存文字列を500文字以内にしました
遅延も最短2秒あるし、実際にアクションゲームで使うのはまだ難しいかな…?
ツイート
AI開発の合間に息抜きがてらオンラインアクションゲームシステム開発で遊んでいました
Rmakeでオンラインゲームとなるとsave/loadGameData関数が必要になるわけですが…
1秒に1回しか呼べないという弱点があります
アクションゲームのように常に処理し続けるゲームではどうしても使いにくいですね
なので1秒間の空白(正確にはセーブとロードで2秒間)のデータをどこかに溜めておいて、一気に送受信するプログラムが必要になります
できました
画像の試作段階のプログラムではプレイヤーの座標データ等を一旦サーバーに保存してからそれをロードして別プレイヤーとして表示させています
(赤が操作しているプレイヤーで、青がサーバーを経由させたプレイヤー)
離れてもちゃんと全プレイヤーが映る無駄なカメラワーク仕様
一応ジャンプも作った
…ていうか遅延云々以前にデータ容量のほうが深刻でした
x座標が3200、y座標が2400まで
これをそのまま保存して4桁+4桁+2桁(座標以外のデータ)=10桁
×60(30fps×2秒)=600桁
関数リファレンスを見るとsaveGameDataは500文字までしか保存できないとのこと
慌てて64進数変換プログラム作って保存文字列を500文字以内にしました
遅延も最短2秒あるし、実際にアクションゲームで使うのはまだ難しいかな…?
コメントする
コメントするには、ログインする必要があります。
これだけの内容を作りこめることが
素晴らしいですね
まだRmake(Ruby)の構文に慣れてないので雑なプログラムになっていますが、とりあえず動く状態まで作れて一安心です