2012-08-30 103 views
0

我正在制作基于PHP的RPG游戏,城市建设游戏。我的想法是为城堡布局创建一个9X9网格,中心3X3是内部城堡,点击该部分后,他们将看到内部城堡的6X6网格。玩家还可以获得外网格的瓦片,将它们变成内城堡。每块瓷砖都可以建造。考虑到可扩展性,在数据库中表示这个最好的方法是什么?基于php的游戏 - 城堡布局

我到目前为止唯一的方法是使用(idcastle,Y,X)的3列表,X是18个数字的字符串。我会使用substr来查看该瓷砖上是否有建筑物。但是,如果有很多城堡(因为每座城堡需要18行),我认为我会遇到可扩展性问题。

+0

RPG标签用于编程语言。这个问题可能属于gamedevelopment.stackexchange.com – WarrenT

回答

0

这取决于您如何查询数据库。我会建议动态制作你的ID,所以它是 castleid_x_y_z这样你只是查询主键使它非常快。

加上使用类似redis的东西来处理它,因为它通常只受网络速度的限制。如果你有太多的城堡,你只能将人推到第二台服务器上。你甚至不需要担心缩放,因为你不会在一台服务器上拆分1座城堡。

+0

对不起,你可以更好地满足castleid_x_y_z部分吗? – Rockroxx

+0

而不是使用auto_incrementing ID你最好设置自己的,所以如果种姓1在1个x轴,1个y轴和1个z轴上有一个块,那么当你查询数据库时,它的id就是1_1_1_1知道所有的信息,所以你加入它的应用程序,然后做SELECT * FROM表WHERE id =“1_1_1_1”,你会得到更好的表现,然后在哪里castleid = 1和x = 1和y = 1和z = 1 – Mike

+0

因此对于一个10X10的网格我有100行? – Rockroxx