我曾经玩过一个网络游戏,叫做racewarkingdoms。它使用了一个基于二维文本的系统。我感兴趣的是地图。地图由X方向的255个平铺和Y方向的255个平铺组成。这些地图总共有五张。但令人惊奇的是,每一个都包含如此多的数据。每一个都包含自己的“王国”,每个瓷砖大约有50个变量。然后每一个都包含有健康条和永久记忆的数据的“怪物”。
这样的东西是怎么设计的。我怀疑每一块瓷砖都是一张桌子。我假设您会有一个map1_表,其中包含在任何元素中都可以找到的不同元素,但我只是不确定。我正在接近一个情况,我需要一个类似的设计,但不知道从哪里开始。
谢谢!
最佳答案
Click here for scheme file
我建议结合我的方案使用以下结构:
tiles将tiles的数量保存在
将军,每个牌都有一个id
瓷砖尺寸硬编码:5*5像素
例如。
tiles_meta保存名称,并且
简短的“工具提示”描述。梅塔是
自我解释;)
瓷砖含量低包含少数
在瓷砖上。你应该在这里
包括用户将访问的内容
很多次,但要尽量少。
瓷砖内容媒体包含
“这里可以找到xy项”
有12%的机会。创建
添加“战利品表”和物品。这个
“item_hash”是所有项目ID的哈希
可能掉落的物品。
瓷砖内容最大
桌子。你在这里储存
瓷砖内部的坐标
玩家所在地,他抢劫的地方
产品编号1234等。
table: tiles
id
table: tiles_meta
id
tile_id
name
desc
table: tiles_content_low
id
tile_id
owner_id
go_id
table: tiles_content_medium
id
tile_id
mob_hash
item_hash
table: tiles_content_large
id
tile_id
savegame
如果要使用JavaScript构建tile_set或“map”,不要在服务器上生成整个映射,只需将tile日期传递给JavaScript即可。
这样可以节省很多性能。
关于mysql - 数据库设计-二维瓷砖网格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1600097/