討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 掌握Salesforce雲端管理秘訣
[ 回上頁 ] [ 討論區發言規則 ]
想請問關於遊戲是否要使用sql
更改我的閱讀文章字型大小
作者 : rex1031(小運)
[ 貼文 5 | 人氣 1480 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/8/21 上午 11:55:42
第一次發問

如果有講的不太對的地方請見諒~^^"

我們是一群正在利用專題製做一個單機的3D遊戲的大學生

因為遊戲中需要使用到大量的各種不同定義資料

所以有在考慮要不要用DataBase ((因為有修過這門課 只是沒實作過 有點不熟

目前採用的方法是寫個簡單的編輯器,把資料的設定部份,如武器的攻擊力...名字等等

存到那個檔案 開始時再載入所有資料

因為物品的編號剛剛好是物品在陣列裡的index,所以理論上是可以達到 O(1) 的搜尋速度

可是又總是覺得不算是個好方法

而且現在因為是放到檔案,所以在讀圖檔那些的部份,只能在檔案裡加個圖檔編號 到時再貼上對應的圖片

似乎也不是好方法


所以想請問各位先進,是否該使用DB來儲存? 或是有別的更好的儲存方法?

DB的使用上,又會不會拖慢整個系統的速度呢?

感謝各位大佬的閱讀 ~~
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1602 | 人氣 38709 | 評價 4610 | 評價/貼文 2.88 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/8/21 下午 01:55:58
你有玩過哪套單機遊戲有叫你安裝DB的?
作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rex1031註記此篇回應為很有道理 2008/8/21 下午 03:56:04
用DB好
可以省了很多資料文件整合的功夫
另外 sqlite 可以 in memory....內崁免安裝

作者 : aries_chen(Aries) Java卓越專家貼文超過500則
[ 貼文 782 | 人氣 1941 | 評價 3690 | 評價/貼文 4.72 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rex1031註記此篇回應為最佳解答 2008/8/22 上午 11:32:58
大部分的遊戲所用的資料儲存格式
通常都是那個遊戲自己制定的
一般也都會以二進位的方式存起來
所以一般人通常看不懂

如果單機遊戲用資料庫存,也不是不可以
只是知道的人,就可以直接進去改
改人物資料,改武器資料
any else.
作者 : player(PLAYER) 貼文超過1000則人氣指數超過100000點
[ 貼文 1595 | 人氣 138661 | 評價 2840 | 評價/貼文 1.78 | 送出評價 104 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/8/22 上午 11:48:49
有一個可怕的構想
就是把SQLite搬進 .NetFramework 裡給 C# 或 VB.NET使用

可是不知道用下面哪一種方式改寫比較好?

1.不動SQLite的code與架構, 另外用 C++/CLR 去寫 .Net版的介面出來
(單純的封裝, 但可能導致效能低落, 如果很頻繁的往返對於 .Net Framework安全與不安全的程式碼的話)
2.將SQLite的code與架構, 改寫成 C++/CLR
3.將SQLite的code與架構, 改寫成 C#

還有
如果要把SQLite再跟其他的資料庫
完美的接上的話
例如跨DB的select
不知道該怎麼做
比較好?
作者 : rex1031(小運)
[ 貼文 5 | 人氣 1480 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/8/23 下午 02:16:04
謝謝各位大佬的回應

大概看了各位先進的意見

可是關於要不要使用資料庫 小的還是有幾個地方不了解耶

所以如果用資料庫的話 會導致比較容易被修改囉?

那如果用自己存檔方式 會不會造成使用效率的低落呢?

或著是說 用了資料庫會比較耗系統資源??

如果要再加上資料庫 原本基本架構的程式碼會需要大修嗎??

我們現在是寫在c#上 加上directx sdk 和 ogre3d

如果要使用db會需要一位較專門的熟悉資料庫的人嗎?

因為不知道實際用起來 會不會很困難

可是用了資料庫 如darkas兄所言

在增加屬性或多個資料檔的統整合時又方便的多

好像問太多問題了^^" 有點不好意思

總之 目前已經在看一些db教學

希望各位大佬們願意再提供點意見囉

問的有太煩或不禮貌的地方請見諒^__^"
作者 : player(PLAYER) 貼文超過1000則人氣指數超過100000點
[ 貼文 1595 | 人氣 138661 | 評價 2840 | 評價/貼文 1.78 | 送出評價 104 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rex1031註記此篇回應為最佳解答 2008/9/2 下午 07:15:11
根據經驗
你的Game Server與DB-Server
通常會各自多台建置
所以你要考慮到的是網路傳輸的效率問題
而不是要不要用SQL的問題
(用SQL相容資料庫的好處, 在於資料容易管理與利用)
作者 : idle_newbie(idle_newbie)
[ 貼文 2 | 人氣 3 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/10/1 下午 03:57:09
遊戲內需要很多資源, 圖形,音效,文字,訊息..... ETC
用以表現各種東西

也可能是重複的性質

要不要用應該是看你的方便性吧

基本上要是不需要條件關聯查詢的資料是不需要用SQL DB的

最早的遊戲市資料是直接內建在單一執行檔中
後來有分散的外部檔案

後來有隨機檔案的簡易檔案資料出現

或者是壓縮打包過後的檔案, 執行時才解壓縮出來使用

日本很多 AVG(冒險遊戲?) 的遊戲則是因為磁碟使用率的關係, 會把很多訊息檔案(<1K byte), 壓縮儲存在一個打包過的檔案裡
甚至有些還帶壓縮甚至是加密

所以要看需求啦

一般都是多機狀態的主機側才會利用到 SQL 資料庫的

要是單機狀態的話,一般創建個 Resource File 資源檔一類的機制就可以了
最多多弄幾個檔分類一下 ^^!
 板主 : 小呆 , 冷眼
 > 遊戲程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 遊戲程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
遊戲程式設計
1 aming 2280 
2 冷眼 1450 
3 阿西德倫 510 
4 PLAYER 390 
5 garf 340 
6 Akira 330 
7 白老鼠(Gary) 290 
8 BlueTulip 270 
9 東昇 250 
10 CCL 240 
遊戲程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.078125