【问题标题】:Java Networking Game Server DatabaseJava 网络游戏服务器数据库
【发布时间】:2014-10-20 08:16:35
【问题描述】:

我正在按照 youtube 上的一组教程制作一个简单的 2D java 游戏。我试图弄清楚将什么用作数据库来存储用户帐户、每个用户库存等,因为不信任用户库存文件是有意义的。但是要做到这一点,我是否应该创建自己的基于文本的数据库,并在每次用户登录时调用它,并在每次用户找到新项目或获得额外货币时对其进行修改?或者我应该花时间学习 SQL 或其他数据库吗?数据库通常用于玩家位置的 2d 瓷砖游戏吗?还是只是存储在内存中?

【问题讨论】:

    标签: java networking 2d game-engine


    【解决方案1】:

    正确的解决方案肯定是使用数据库。以下是三个很好的 SE 问题,可以解释许多好处:

    https://softwareengineering.stackexchange.com/questions/190482/why-use-a-database-instead-of-just-saving-your-data-to-disk

    database vs. flat files

    https://softwareengineering.stackexchange.com/questions/209123/when-should-use-of-database-be-preferred-over-parsing-data-from-a-text-file

    这些原则适用于任何需要存储数据(需要持久层)的应用程序,无论是 2D 游戏、网站还是其他。

    话虽如此,使用数据库实际上可能不是您的最佳选择。基本上,如果您需要快速构建这个游戏并且您不太关心它的完整性,那么学习如何将数据库集成到您的应用程序中可能是矫枉过正的。但是,如果您希望任何数据驱动的应用程序具有长期的高质量和可扩展性,您应该使用数据库。

    【讨论】:

    • “学习 SQL 可能有点过头了。”并非所有数据库都需要 SQL。有些像LevelDB,使用get(byte[])put(byte[],byte[])等方法来存储blob。
    • 是的,我会改变我的答案
    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 2013-08-20
    • 2013-11-12
    • 2012-04-08
    • 1970-01-01
    • 2010-12-10
    • 2017-10-09
    • 2014-04-12
    相关资源
    最近更新 更多