金慶的專欄
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開(kāi)發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊(cè)
公告照片
搜索
積分與排名
積分 - 659031
排名 - 25
最新評(píng)論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫(kù)
asio 成為C++首選網(wǎng)絡(luò)庫(kù)
--linda
2.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫(kù)給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11054)
2.?SVN中邪惡的replace(10972)
3.?VS2005編譯libevent(10429)
4.?混音算法的學(xué)習(xí)與研究(10230)
5.?C調(diào)用lua腳本的效率測(cè)試(9019)
評(píng)論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯(cuò)誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
protobuf定義低帶寬的移動(dòng)消息
protobuf定義低帶寬的移動(dòng)消息
(金慶的專欄 2017.8)
用protobuf定義協(xié)議時(shí),可利用protobuf的編碼方式將移動(dòng)消息壓縮到盡量小。
service Battle {
// 移動(dòng)變化量。將廣播給其他玩家,包括自己。
// 移動(dòng)受步長(zhǎng)限制。自動(dòng)轉(zhuǎn)向移動(dòng)方向。
rpc Move(Movement) returns (rpc.EmptyMsg);
// 轉(zhuǎn)向最終面向。將廣播給其他玩家,包括自己。
rpc TurnTo(Rotation) returns (rpc.EmptyMsg);
}
// 位置,移動(dòng)和角度都用整數(shù)向量表示,單位為分米.
// 使用整數(shù)占用的帶寬比浮點(diǎn)數(shù)少。
// U3d使用以米為單位的浮點(diǎn)數(shù),需要轉(zhuǎn)化。
message Position {
optional sint32 x = 1;
optional sint32 y = 2;
}
// 移動(dòng)時(shí)發(fā)送移動(dòng)量。不是發(fā)送絕對(duì)位置,使用更小的數(shù)字,占用更少帶寬。
message Movement {
optional sint32 x = 1;
optional sint32 y = 2;
}
// 角度向量在滿足精度的前提下,應(yīng)該盡量使用絕對(duì)值小的數(shù)據(jù)表示,占用更少帶寬.
message Rotation {
optional sint32 x = 1;
optional sint32 y = 2;
}
// 位置和面向。用于初始化對(duì)象。
message PosAndRot {
optional Position position = 1;
optional Rotation rotation = 2;
}
說(shuō)明
* 名字短點(diǎn)。因?yàn)镽PC消息中需帶服務(wù)全名和方法名,所以package, service, method名字要短點(diǎn)
* 坐標(biāo)用整數(shù)表示。浮點(diǎn)數(shù)會(huì)固定占用4個(gè)字節(jié),而接近0值的整數(shù)值只占用不到一個(gè)字節(jié)。
* 使用移動(dòng)變化量。地圖可能很大,絕對(duì)坐標(biāo)值較大會(huì)占用變多字節(jié),而移動(dòng)量總是接近0
* 角度使用向量更容易處理。也可使用整數(shù)的角度值(0-360)表示,但處理麻煩。
* 移動(dòng)隱含了轉(zhuǎn)向。所以轉(zhuǎn)向消息不多,不必太在意大小。
* sint編碼壓縮最大。要求地圖坐標(biāo)應(yīng)該都在0附近,正負(fù)各半。
* 單位選擇不要太細(xì),分米到厘米都可以。
posted on 2017-08-23 11:50
金慶
閱讀(418)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
2. 網(wǎng)游開(kāi)發(fā)
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機(jī)
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號(hào)
rpc應(yīng)答太快造成請(qǐng)求超時(shí)
測(cè)試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
97久久久久人妻精品专区
|
久久精品18
|
久久精品无码一区二区无码
|
午夜久久久久久禁播电影
|
久久se精品一区二区
|
久久久综合香蕉尹人综合网
|
狠狠综合久久AV一区二区三区
|
久久精品中文无码资源站
|
久久99精品久久久久久不卡
|
久久精品人妻中文系列
|
国产精品久久久久…
|
尹人香蕉久久99天天拍
|
日韩精品国产自在久久现线拍
|
久久久亚洲欧洲日产国码是AV
|
2020久久精品国产免费
|
久久精品国产亚洲AV忘忧草18
|
94久久国产乱子伦精品免费
|
亚洲∧v久久久无码精品
|
久久天天躁狠狠躁夜夜2020老熟妇
|
亚洲国产精品无码久久九九
|
久久精品亚洲精品国产色婷
|
波多野结衣久久
|
久久久这里有精品中文字幕
|
精品亚洲综合久久中文字幕
|
新狼窝色AV性久久久久久
|
国产精品久久久久久五月尺
|
国产一区二区精品久久凹凸
|
亚洲嫩草影院久久精品
|
久久发布国产伦子伦精品
|
久久久久亚洲AV无码专区首JN
|
久久无码国产
|
久久亚洲电影
|
亚洲国产成人精品无码久久久久久综合
|
www久久久天天com
|
亚洲av伊人久久综合密臀性色
|
欧美丰满熟妇BBB久久久
|
亚洲国产精品无码久久青草
|
日本国产精品久久
|
亚洲国产成人久久综合区
|
久久一区二区三区99
|
国产免费久久精品99re丫y
|