昨天在NGA看到了前游戏主程和很多大佬对程序设计问题的讨论,我越琢磨越觉得这个问题有意思,也值得探讨。在思考这个问题的过程中,我也更加体会到了《太吾绘卷》和其他一般单机游戏的差异以及它独特的魅力。
先说一个观点,我觉得从开发的角度来说,《太吾》更像是一个网络游戏,而非单机游戏。
原因是《太吾》里玩家操控的角色和所有NPC在本质上是一样的。所有角色都有自己的属性、功法、物品、经历等等。这就意味着,可以把每一个NPC都视作一个AI操控的玩家,大家都在一个游戏世界里活动。这就像你在玩一个除了自己,其他人都是bot的网络游戏。
有了这一层游戏机制的认识以后,我觉得对于之前讨论的一些架构和设计问题就可以有一些判断。例如,
1. 前后端分离问题。这一点我觉得非常合理,前端负责当前玩家的角色交互,所有反馈机制以及NPC行为都交由后端处理。至于端口问题、前端页面卡顿问题都不是由架构导致的,也都有成熟的解决方案,在这就不赘述了。
2. 存档问题。这个问题我觉得非常关键,也确实是一个难点。因为如果是传统单机RPG,存档只需要记录当前角色的位置、状态等,NPC的位置、状态是不需要记录的。而如果是网游,则没有存档的概念,玩家的行为最终会落地为数据库的记录。回到《太吾》,我认为会很适合采用关系型数据库来计算和保存数据,物品持有、功法修炼、经历等等都是对实体关系的记录。当交互发生时,对应到数据库中进行更新和插入,到了人物主页面再做数据查询。这样一方面可以减少存档大小,另一方面也不用时刻把所有数据加载到内存中。就是不知道过月的时候,计算的压力有多大。
最后,写这个帖子也是抛砖引玉,想和各位讨论,如何设计《太吾》这样游戏机制的程序架构。《太吾》确实是一款非常优秀的游戏,在游戏玩法上做了很大的创新。无论功过,还是希望螺舟能够克服暂时的苦难,把《太吾》打磨完善。
先说一个观点,我觉得从开发的角度来说,《太吾》更像是一个网络游戏,而非单机游戏。
原因是《太吾》里玩家操控的角色和所有NPC在本质上是一样的。所有角色都有自己的属性、功法、物品、经历等等。这就意味着,可以把每一个NPC都视作一个AI操控的玩家,大家都在一个游戏世界里活动。这就像你在玩一个除了自己,其他人都是bot的网络游戏。
有了这一层游戏机制的认识以后,我觉得对于之前讨论的一些架构和设计问题就可以有一些判断。例如,
1. 前后端分离问题。这一点我觉得非常合理,前端负责当前玩家的角色交互,所有反馈机制以及NPC行为都交由后端处理。至于端口问题、前端页面卡顿问题都不是由架构导致的,也都有成熟的解决方案,在这就不赘述了。
2. 存档问题。这个问题我觉得非常关键,也确实是一个难点。因为如果是传统单机RPG,存档只需要记录当前角色的位置、状态等,NPC的位置、状态是不需要记录的。而如果是网游,则没有存档的概念,玩家的行为最终会落地为数据库的记录。回到《太吾》,我认为会很适合采用关系型数据库来计算和保存数据,物品持有、功法修炼、经历等等都是对实体关系的记录。当交互发生时,对应到数据库中进行更新和插入,到了人物主页面再做数据查询。这样一方面可以减少存档大小,另一方面也不用时刻把所有数据加载到内存中。就是不知道过月的时候,计算的压力有多大。
最后,写这个帖子也是抛砖引玉,想和各位讨论,如何设计《太吾》这样游戏机制的程序架构。《太吾》确实是一款非常优秀的游戏,在游戏玩法上做了很大的创新。无论功过,还是希望螺舟能够克服暂时的苦难,把《太吾》打磨完善。