嗯,我不知道这个问题的标题是否合适,但我不知道如何用几句话来表达。
我目前正在开发一个多人 2D 游戏,在服务器端使用 NodeJS 和 Socket.io,在客户端使用 HTML5。这个游戏不需要保存玩家的进度,除非他们完成它。而且我必须确保所有关于球员的信息,例如得分和帮助,都是有效的。所以我决定将这些信息集中在服务器上,这样客户端就不会向服务器发送分数,而是根据发送的信息计算分数并将它们发送给所有客户端。除此之外,我可以在最少 2 名玩家和最多 4 名玩家的情况下运行这个游戏的不同会话。
起初我决定用服务器来实现这个,总是在内存中维护游戏会话数据,但现在我质疑自己是否应该使用数据库来存储这些数据。我只在会话数据完成时才使用数据库来存储会话数据,因为我对未完成的会话数据没有用处。但是我应该在他们玩的时候维护数据库中的会话和玩家数据吗?我的问题是客户端与服务器的通信非常频繁,使用这种方法,我必须首先从数据库请求他们的数据,进行必要的更改,将其存储回数据库,然后对每个客户端请求重复此过程。也许这个问题的答案很明显,但我应该改用这种方法吗?
这是我第一次开发游戏,所以我不知道事情通常是如何运作的。我只知道我希望服务器速度快。我选择将所有内容都保存在内存中,主要是因为我发现的所有关于多人游戏开发的示例和教程都没有提到数据库......
谢谢!