【发布时间】:2021-08-29 05:10:09
【问题描述】:
我已经安静地学习 Pygame 很长时间了。现在,我正在设法让玩家为游戏创建帐户并在他们在线玩时连接到他们。
我见过一些游戏开发者将玩家数据存储在文本文件中,但这是一种非常经典的方式,而且不安全!所以我想到了数据库......
但是,我认为我误解了数据库的一般工作方式。事实上,我认为它们只是服务器,但在做了一些谷歌研究之后,我意识到它们不是。让我们以 SQLite 为例。 (因为我刚刚学习了SQLite3 python module 的基础知识)。
我以为它将数据存储在服务器或“云”(如 Apple iCloud)中,但后来我意识到它只是将数据存储在计算机磁盘上,如果玩家是例如,从与他们注册时使用的计算机不同的计算机上使用游戏,这是一种可能的情况,我想介绍连接到游戏时可能发生的最大情况,以确保玩家获得良好的游戏体验。
那么,有什么方法可以确保与任何设备的游戏连接良好? 你认为我必须使用套接字模块吗?
注意:
请记住,游戏本身不是多人游戏,也不需要互联网连接。但是,我希望玩家能够从任何设备连接到他们的帐户,以便能够保存他们在游戏中的进度。
【问题讨论】:
-
您将需要某种服务器,例如可通过 Internet 访问的计算机。在那里,将存储数据库(例如文件),并为不同的玩家提供访问权限。
-
请注意,您可以使用云作为这种服务器:但请注意,这可能违反相应的 ToS。更好的是像 AWS。
-
你的意思是你想要支持
Play Offline的东西,用户可以在没有互联网连接的情况下玩,但在他们上网后仍然在远程数据库上更新他们的进度? -
@bdbd 是这样的
-
如果您想要一个非常简单的解决方案,请将进度保存在一个文件中,让他/她选择保存该文件的位置。他们可能会将其保存在 DropBox 等中,并在设备之间同步。
标签: python database sqlite sockets