GameDesign 板


LINE

在前幾篇文章中我有提到網頁戰略遊戲的地圖設計 我想許多大型遊戲一定也都用到了類似的方法去規劃地圖在資料庫上儲存的方式 程式碼的部分我就不講解了 扣掉註解 實際有功能的程式碼為185行(沒併行) 想分享的原因其實蠻簡單的 只是想知道有哪些人也這麼做過 概念圖像下面那樣 把地圖依個人需求切割成好幾的地區存放 (?為你所設定的地圖區塊大小) (1,1)┌─┬─┬...─┐(x_end,1) │ │ │ │ (1,1*?)├─┼─┼...─┤(x_end,1*?) │ │ │ │ (1,2*?)├─┼─┼...─┤(x_end,2*?) │ │ │ │ . . . . . . . . . . . . (1,y_end)└─┴─┴...─┘(x_end,y_end) 概念: 因考慮到資料庫單一資料表的效能問題 所以地圖的資料寫入動態生成的資料表中 圖中的交會處 也就是每個資料表的交會處(邊緣) 我稱為節點 讀取時利用節點的計算來取得需要讀取的資料表 最後將資料取出排列就大公告成了 我有做地圖編輯器 所以可以動態生成存放地圖資料的資料表 這個1600萬格的地圖要花80分鐘才能跑完(InnoDB)...... 主要是寫入資料在花時間 整個陣列的產生其實只需要42秒 這是臨時的ip http://XXX.XXX.XXX.XXX/ (先拿掉) 會放個一天讓有興趣的人交流 不過全部的人共用一組資料 所以若同時很多人在操作的話 地圖的座標會跳很快或者亂跳 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.166.149
1F:推 azureblaze:所以有點像是做Broad-Phase? 08/11 10:15
2F:→ cowbaying:去查了資料 取值是用Broad Phase沒錯 08/11 10:25
3F:→ adxis:有試過建 index嗎? 有 Rtree 之類的可以用 08/11 10:29
4F:→ cowbaying:因為欄位複雜 所以直接放棄做索引 XDDDD 08/11 10:40
5F:→ cowbaying:有做過全部索引 但是效能更差 08/11 10:40
※ 編輯: cowbaying 來自: 61.227.166.149 (08/11 10:49)
6F:→ rofellosx:索引不管怎樣都要建 有無索引效能差很多. 08/11 11:00
※ 編輯: cowbaying 來自: 61.227.166.149 (08/11 16:50)
7F:→ cowbaying:我找到問題了 之前設索引時MYSQL 的快取沒有設定好 08/11 17:46
8F:→ cowbaying:建索引真的快蠻多的 08/11 17:46
9F:→ adxis:mysql 有針對geograph 的 plug-in 雖然我不知道在遊戲地圖上 08/11 19:15
10F:→ adxis:有沒有需要用到 FYI 08/11 19:15
11F:推 akilight:indexing + hashing + B+tree, 可以試試 08/11 19:30
12F:→ cowbaying:今天改良了一下 地圖資料動態產生 理論上可以無限大 08/11 21:12
13F:→ cowbaying:不過這樣好像沒意義了 以戰略遊戲來說可能會玩不完... 08/11 21:43
14F:推 darkflier:其實這種東西結合遊戲來做的話...可以用GPU去算...保證 08/11 22:58
15F:→ darkflier:不管讀寫都低於16ms 08/11 22:58
16F:→ cowbaying:最後資料還是要寫入硬碟吧 08/11 23:16
17F:→ cowbaying:我用memory engine 可以低於5ms 08/11 23:20
18F:→ cowbaying:其實計算出來的時間有90%都是寫入硬碟用掉的 08/11 23:21
7200轉的硬碟 平均搜尋時間大多落在12ms 再加上其他機械動作 讀寫一回大多是32ms 附近 我會把資料表做成動態生成還有一個因素 就是可以避免大量的資料寫入時資料表被鎖死的問題(同一個資料表) 雖然可以延遲寫入 但寫入的瞬間還是會卡死 不過這個問題還是要等實際跑過後再來做改善了 ※ 編輯: cowbaying 來自: 59.127.242.3 (08/11 23:38)
19F:推 littlethe:資料處理的問題你已經處理得很好了 08/12 00:09
20F:→ littlethe:何不把精力放在其他地方呢? 08/12 00:09
21F:→ cowbaying:一不小心就陷入這個有趣的問題裡了 XDDDDDDD 08/12 00:25
22F:→ cowbaying:因為遊戲架構的關係 幾乎全部的資料都是在地圖表裡運 08/12 00:27
23F:→ cowbaying:算的 所以也算是個重點項目 08/12 00:27







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP