我觉得逻辑也会根据具体内容的不同而分成很多层。不一定是明确的“逻辑一部分显示一部分”,而是每一层有每一层的逻辑。哪怕是显示层,也会有一些轻量级的逻辑,比如多帧动画播放的控制、常用特效的shader(哪怕它们涉及到“攻击判定”之类偏向逻辑的概念)、三维人物的蒙皮动画。
显示的东西和逻辑分离确实是个好方向,但具体要分离到哪一步却值得每个游戏各自讨论。因为纯粹的显示是不存在的。抽象本身不能带来有效信息,如果觉得某些画面要素和逻辑要素强烈关联,那么把它们合起来,哪怕是纯程序员的角度,也是一种合理设计。
另一个小要点是有些数据可能需要序列化(存档、中断),这些就需要用单独的逻辑对象来处理;相反能包含在画面中的,往往是不需要保存状态、不需要序列化的东西;哪怕需要保存,也可以通过其他数据间接恢复。
游戏开发中有必要做到逻辑与显示分离吗?如果有,如何做呢?
0 条评论