我在SO上没有看到对这个问题的回答,这让我担心它可能非常简单,而我却错过了什么。
背景(可以跳过):多年前我需要一门本科课程,那是计算机图形学,但由于我离开后,它变成了更多的游戏开发。对我来说这很好,因为它比以前的填充算法和转换等更有趣。这是一门只在第四年才开设的课程,每两年开设一次,但我已经成功地说服系部让我独立学习同样主题的第四年级课程,并认为这足够了。
独立学习的教授不教授实际的计算机图形学课程,所以虽然他是个聪明人,但这并不是他的领域。因此,大部分问题都留给我自己、一本教材和互联网。就像一个独立学习应该做的那样。 :)
/背景
我的朋友喜欢为娱乐开发游戏系统。我计划使用XNA将他的桌面游戏制作成电脑游戏。
我预见到游戏机制中不会有什么难以克服的挑战,但有一件事我很好奇,那就是大多数游戏是如何保存它们的内容的?我的意思是几个方面,希望我能表达清楚。
以你玩过的任何RPG为例。您可以点击“保存”按钮保存世界、角色信息和其他必要信息。然后稍后可以点击“加载”按钮并将其恢复。
或者是NPC对话的情况。当我撞到853号商贩时,他会随机吐出3个不同的问候语。
还有其他的例子,但它们只是同一个主题的变化。即使是在这两个例子中,似乎也可以使用相同的机制,但是这个机制是什么呢?
我做网页开发已经好几年了,所以我的脑海中自然会跳转到“数据库”!无论出现什么问题,数据库都是解决方案。我可以看到它在这里能够起作用,但是开销似乎相当大。“这是我 6mb 的编译游戏...噢,还有 68mb 的MySQL安装程序。” 或者更糟糕的是,因为我使用 XNA,也许我需要找到一种方法来捆绑SQL Server。
我想也许可以使用XML,但这对我来说也不太合适。如果我想在XBox上运行怎么办?或者Zune呢?(虽然这些并不是我所需要的,但肯定有一种解决方案可以考虑到它们。)
有人知道秘笈吗?或者至少有一些想法吗?
谢谢 Jeff