atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • FPSを作ってみる@wiki
  • 進捗状況(2010
  • 05)

FPSを作ってみる@wiki

05)

最終更新:2010年05月30日 19:06

slice

- view
管理者のみ編集可

(2010/05/30)

同期できない.というか進まな過ぎる.
オブジェクトの内部変数が相手側と食い違ったら,一定規則に従ってどちらの結果を優先するか決めて
片方に合わせる.
この時爆発などのエフェクトを伴っていたら当然そのエフェクトはなかったことにしたい(即削除)し,
別のオブジェクトの変数を参照していたり変数を書き換えた場合に接合性が崩れるので
つじつま合わせの小細工を色々とする.
これまでのアクションを巻き戻したら今度は相手から送られた情報に従って再度アクションを実行しなおす・・
...と,そんな感じの処理をやろうとして詰まっている.
依存関係を考え始めたら思考が収束しない.
例えば循環参照していたら?
アクションの履歴が古すぎて既に削除されていたら?等

(2010/05/22)

どうにも気合が入らないのでweb拍手のメッセージ読み返したりして無理にでもやる気を起こす.
通信プログラムのバグは再現性が不確実というか
一方にブレークポイントかませても,当然もう一方が動いたままなんで
ここで変数の確認をしてから次へ進むという事ができない(できるの?)
マルチスレッドだとデバッガが全てのスレッドを止めてくれるのだが・・

リアルタイムなゲームで片方が動いたままだと一回ブレークした時点で
足並みが崩れるわけでその都度最初から走らせるという事態に.
これではデバッグ効率が悪すぎる.何か良い手法はないものか.

(2010/05/20)

見ての通り,最近は勇んで配信開始はするけどすぐ力尽きるパターンが多い.
進む時は進むのだが集中できない時は全くダメ.
そんなのを繰り返してるうちにもう20日だろ~
中々厳しいな・・

今はまってるのは複数オブジェクトのタイミング合わせ.
pongもどきの例で言うと点数が入ったらパドルとボールを初期位置に戻してサーブから始めるところの細かい処理.
いや,乱暴に言えばどっちのPCの結果を優先するか決めてそっちでバッと上書きすれば終わりなんだけど.
ところがどっこい,こちとら各オブジェクトを個別にパケットやり取りさせてるもんで
彼らを互いの行動経過を混同する事無くタイミング合わせるなんぞ
シングルスレッドとマルチスレッドの関係みたく面倒くさい.

何で一回で全部送信しないのか.それは同期するオブジェクト数が30や50と増えていった時に
いちいち全部の変数情報を受け渡ししていたらパケットサイズが膨らみすぎると思ったから.
アクションがあったオブジェクトの変数だけをやり取りするのが自然だろうと.
更に言えばFPSでサーバがクライアントに場面情報を送る際に
本来そのプレイヤに見えない変数を含めて全部送るわけにもいかんだろうと踏んでだ.

パケットサイズに関してもしいっぺんに送信して重けりゃ数フレームおきとか,
数フレームに渡ってちょっとずつという手もあるにはあったが
そうすると通信回線以外の余計なラグが生じる.
60fpsのゲームで1フレーム毎に送受信すれば,相手に情報が届くまでの遅延は(0~16ms)*2 + pingだが
もし5フレームおきに送受信すれば(0ms~80ms)*2 + ping分の遅延が起こり得る
(もちろん16msは正確には16.66666・・msだけど細かい突っ込みはナシで)

実際にはwinsockを別スレッドで動作させており受信は1フレームごとにまとめて受け取るし
送信は割り込み処理を使ってNICの準備が出来次第即送信されるように作ったからもう少し速いかと.
要は自分の納得いく通信プレイがしたい.お粗末様でした.

(2010/05/07)

なんだろう,一体バラして組みなおそうと思ったらどう組んでいいのかわかんなくなったような状況.
進捗ないけど現状報告ということで.
図に描いてみたりメモ帳でひたすら思案してみたりと頑張ってはいるハズなんだが.
メモは増える一方ソースコードは触りもしない日が続いている.
にしても正直こんなにも作業が進まないと嫌になってくるな.のれんに腕押しとは正にこの事か.

でも這ってでも先に進まないとゲームが完成しない・・
きっとみんなの拍手が足りないんじゃないか!(戦隊物のステージ風
そうだ,(前日の拍手の数 x 10)分間はどんなグダグダになっても作業画面を配信しようか.
なんて思ったりする.とりあえず今週Onlyで.

(2010/05/04)

再び組みなおしの悪寒.
ちゃんと仕様決めてから組み始めた方が圧倒的に速いということは身に染みてわかった.
しかし途中で「ああ,これじゃやっぱ駄目だ」と気づく場合もあるしなあ.どうすれば.
じっくり練って試行回数をなるべく少なくするか,どうせ作り直すんだと踏んでその分ちゃっちゃと潔く古いのを捨てるか,どっちが(略
そんな事を想いつつ寝る.眠いから今日は仕様だけメモ帳に書いて実装はまた明日だ.

(2010/05/03)

pongのクローンゲーはもうちょっとかな.
1人用のゲーム作って後から拡張した方が速いのか,最初から通信前提で組んだ方がいいのか,どっちがいいんだ?
そんな事を思いつつ作業.
ひとまずはパケット通信量を考えず定期的に内部変数を全て送受信する方向で作ってみている.
折角だし完成したら簡単なルールを追加してみようかね

「05)」をウィキ内検索
LINE
シェア
Tweet
FPSを作ってみる@wiki
記事メニュー
  • トップページ
  • 参考資料ブックマーク等
  • Tips

Media

  • 頂き物
Screen shot
  • FPS_page1
  • FPS_page2
  • FPS_page3
  • Other_page1
Drawing
  • Drawing(analog)
  • Drawing(digital)
  • Drawing(digital) 2
  • Drawing(digital) 3
  • Drawing(digital) 4
  • Drawing(digital) 5
  • Drawing(digital) 6
  • Drawing(digital) 7
  • Drawing(digital) 8
  • Drawing(digital) 9
  • Drawing(digital) 10
  • Drawing(digital) 11
  • Drawing(digital) 12
  • Drawing(digital) 13
Movie
  • movies-list

Old Contents

  • トップページ(old)
  • メモ書き
  • 力仕事UP場
  • ゲームシステムとか
  • バグ・動作報告
  • program(twilve)

Progress log

  • (2018/03)
  • (2017/04)
  • (2017/03)
  • (2016/10)
  • (2016/09)
  • (2016/08)
  • (2016/07)
  • (2016/06)
  • (2016/05)
  • (2016/04)
  • (2016/03)
  • (2016/02)
  • (2016/01)
  • (2015/12)
  • (2015/11)
  • (2015/10)
  • (2015/09)
  • (2015/08)
  • (2015/07)
  • (2015/06)
  • (2015/05)
  • (2015/04)
  • (2015/03)
  • (2015/02)
  • (2015/01)
  • (2014/12)
  • (2014/11)
  • (2014/10)
  • (2014/09)
  • (2014/08)
  • (2014/07)
  • (2014/06)
  • (2014/05)
  • (2014/04)
  • (2014/03)
  • (2014/02)
  • (2014/01)
  • (2013/12)
  • (2013/11)
  • (2013/10)
  • (2013/09)
  • (2013/08)
  • (2013/07)
  • (2013/06)
  • (2013/05)
  • (2013/04)
  • (2013/03)
  • (2013/02)
  • (2013/01)
  • (2012/12)
  • (2012/11)
  • (2012/10)
  • (2012/09)
  • (2012/08)
  • (2012/07)
  • (2012/06)
  • (2012/05)
  • (2012/04)
  • (2012/03)
  • (2012/02)
  • (2012/01)
  • (2011/12)
  • (2011/11)
  • (2011/10)
  • (2011/09)
  • (2011/08)
  • (2011/07)
  • (2011/06)
  • (2011/05)
  • (2011/04)
  • (2011/03)
  • (2011/02)
  • (2011/01)
  • (2010/12)
  • (2010/11)
  • (2010/10)
  • (2010/09)
  • (2010/08)
  • (2010/07)
  • (2010/06)
  • (2010/05)
  • (2010/04)
  • (2010/03)
  • (2010/02)
  • (2010/01)
  • (2009/12)
  • (2009/11)
  • (2009/10)
  • (2009/09)
  • (2009/08)
  • (2009/07)
  • (2009/06)
  • (2009/05)
  • (2009/04)
  • (2009/03)
  • (2009/02)
  • (2009/01)
  • (2008/12)
  • (2008/11)
  • (2008/10)
  • (2008/09)
  • (2008/08)
  • (2008/07)
  • (2008/06)
  • (2008/05)
  • (2008/04)



記事メニュー2

Update Log

取得中です。
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2686日前

    menu_L
  • 2686日前

    進捗状況(2018/03)
  • 2686日前

    Drawing_digital_13
  • 2686日前

    Drawing_digital_12
  • 2686日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2686日前

    menu_L
  • 2686日前

    進捗状況(2018/03)
  • 2686日前

    Drawing_digital_13
  • 2686日前

    Drawing_digital_12
  • 2686日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. シュガードール情報まとめウィキ
  6. ソードランページ @ 非公式wiki
  7. ドラゴンボール Sparking! ZERO 攻略Wiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. 星飼いの詩@ ウィキ
  10. Dark War Survival攻略
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  7. 発車メロディーwiki
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. SDガンダム ジージェネレーションジェネシス 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 過去の行動&発言まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  2. マイティーストライクフリーダムガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  3. 魚拓まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  4. 参加者一覧 - ストグラ まとめ @ウィキ
  5. 1103環境(遊戯王) - アニヲタWiki(仮)
  6. 前作からの変更点 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. コレクター・ユイ - アニヲタWiki(仮)
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 画像倉庫 - 鹿乃つの氏 周辺注意喚起@ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.