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

FPSを作ってみる@wiki

02)

最終更新:2010年02月27日 20:45

Bot(ページ名リンク)

- view
管理者のみ編集可

(2010/02/27)

あ~一応誰か通信不能になった際のリカバリ処理はOKかな~?といったところ.
winsockの扱いには少し慣れてきた気がする.
p2p形式なんてFPSではまず使わないだろうから今はどうでもいいんだけど
当方,興味があると色々手を出す性格でありましてシミュレーションにも挑戦してみたいという願望があります.
そういう多数のユニットを動かすゲームではサーバに全部処理させてたらあるプレイヤから別のプレイヤへデータを渡すのに
プレイヤ1 -> サーバ -> プレイヤ2
という風に回り道するがp2pでは
プレイヤ1 -> プレイヤ2
のようにダイレクトに渡せるというメリットがある.(サーバに負荷が集中するのも防げる)
デメリットとしては誰か1人でもラグってると全員に影響を及ぼす事.
でもこれって考えようによっては全員同じくらいの操作遅延でプレイできる=対等な条件での対戦
ということなので一概に悪いとも言えないか.

あれ?予定ではもうゲームが出来てるハズじゃなかったっけな.おかしいなあ・・

関係ないけどいつか話に出たシャドウタワーアビスを買ってみたのでそのうちやるつもり.
前作はクリア済み.

(2010/02/16)

あまりにも作業が進まないので過去の配信動画を2つほど上げておいた.動画リストのページからどうぞ.
なんだかんだコードは書いてるんだけどちょっと作ってはやり直しの繰り返しで全然できてこない.
メインのソケットとは別にサブで大容量データをやり取りする仕組みを作ろうとしたら結局最初から書き直す形となったし.
てかどうすんだコレ?もう2月半分過ぎちゃったぞ.

(2010/02/13)

当面はTCPオンリーで作ることに決めた訳ですが.
ユーザーの作成したアバター画像なんかの比較的デカいデータを送受信するには
ソケットを別途確保した方が良いのかな?
その場合はNICの作業自体は変わらないけど併行して処理できる点でCPUで言うスレッドのような感じになるのか~

#追記1
現在,本流とは別に大きいデータをやり取りする為の大改修を施している.
今まで固定長バッファで事足りてた&簡略化を図っていた場所がいろいろ面倒だ

(2010/02/12)

知らない人に簡単に説明するとTCPは確実にデータが届いたか確認,必要なら再送するプロトコルで,
UDPはデータ送りっぱなしのプロトコル(その分軽い)です.
で,何故かつい最近まで必死に「UDPは軽いプロトコルだ」「UDPをメインにしないとラグが酷くて使えない」という幻想を持っていた.
実際は全くそんな事は無く,むしろTCPを使わずにゲームなんか作れないだろうと.
MMORPGのログイン画面やゲーム中のフラグ同期がTCP必須の主な例か.

まあ確かにTCPだとデータが途中でロストしたら再送の間,後続データの流れが滞るわけだけど
ゲームだから1秒間に60回も転送できれば全く問題ないわけで.
これがストリーム動画とかだと千や下手すれば万単位なんじゃなかろうか?
あ,1秒60回は自分の感覚です.
つまり遅延も気にするだけ無駄っぽい.ブロードバンドも普及してるしね.
ぶっちゃけ今の環境でアクションゲームをTCPオンリーで作ってもUDPと変わらんだろうなあ.

UDPが活躍する場面っていうのは主人公の位置や向きデータなんかの
新しいデータが先に届いたら古いデータは意味を成さない(古いのを再送しても無駄な)場合と
マルチキャストが出来るので複数のPCへデータを送る時,
文字通り確認応答が要らない届かなかったら届かなかったで構わないデータとかですな.
MMORPGのような大規模になると1バイトでも節約したいだろうから大活躍なのかも.

結論として詳しいところはわからんけど初心者はつべこべ言わずに全部TCPで作っとけ
それで遅延が気になるならUDPを検討しろとなりそうだ.
・・・・という駄文でした.

(2010/02/11)

なんか昨日の記事の日付が間違ってたし意味分からん.

さてヤバイ.もう2月中旬に入る勢いなのにまだネットワークやってる.
だがグチグチ言っても何も生まれないのは明白なので気を取り直して再開する.
現在,ユーザープログラムが何か通信プレイを続ける上で問題が起こったと判断した場合や
又はネットワーク基本クラス(今作ってるとこ)がネット切断等の問題を検知した時に
自動で問題のあるピアを判定して切断,残りのピア同士で通信を再開するというアルゴリズムを書いている.
昨日の一箇所を直したらわりかしスムーズに動いているので今週には決着をつけたい.

(2010/02/10)

ページの左側に叫んだ通り物凄く初歩的なミスでウン時間潰してしまったので呆れているという.
P2P形式での通信確立処理を今やってて,まずはホストにクライアントが繋ぎ
ホストがIPアドレスの伝達役となってクライアント同士で別の接続を開く.
全員が相互接続できたらゲーム開始処理をしてその後はホストクライアントの区別無くP2Pに~という流れ.
の予定だったのだが.

あれ~なんで最初の接続(ホストとクライアント1人目)は大丈夫なのに追加で人が来た時に
2人目以降クライアント同士のコネクションが10秒程してからロストすんだこれ?とソースコードを舐める様に調べていたら
なんとなんと,繋いだはいいがメンバリストに入れてないので結果的に接続要求だしっぱになっていた.ビックリ.
それでも全員ホストとは繋がっていたので個々のパケットは届くし・・・
ネットワーク(というか2つ以上のプログラムとの連携)って難しいなあ

「02)」をウィキ内検索
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
もっと見る
最近更新されたページ
  • 2687日前

    menu_L
  • 2687日前

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

    Drawing_digital_13
  • 2687日前

    Drawing_digital_12
  • 2687日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

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

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

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

    menu_L
  • 2687日前

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

    Drawing_digital_13
  • 2687日前

    Drawing_digital_12
  • 2687日前

    トップページ
  • 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.