当前位置: 首页 > 工具软件 > Paintown > 使用案例 >

小议Paintown代码

申高峯
2023-12-01

因为想写一个动作游戏,所以参考了下Paintown的代码。虽然不是一无所获,但是收获甚少浪费了很多时间。

虽然作为仅有的实现了Mugen格斗引擎的开源游戏,并且作为还算不错的2d动作游戏框架,有一定的完整性和参考价值。但是缺点很多导致了它并没有成为一个很火的成功项目。优点暂且不论,这里讨论下缺点以吸取经验教训。

1、太想高大全,什么都想支持,但是什么都支持的不够好。比如支持Mugen,但是很多人物无法运行。支持OpenBor的文件,但是不支持游戏运行。自己本身又设计了一套配置格式(S表达式的配置)。

2、没有提供很好的demo,本身游戏毫无可玩性,动作也很糟糕。如果作者能够把Mugen很好的支持起来,或者是兼容OpenBor的游戏,那么就有很多线程的资源可以使用,游戏性会大大提高。本身游戏表现很糟糕如何能证明引擎的能力?

3、虽然支持了Mugen,但是完全是分离的一套Mod,而不是把Mugen的格斗感觉加入到Paintown的动作中来。在我看来完全作为两个项目都是可以的。开源的Mugen和开源的动作游戏。因为两者完全没有联系(只不过共用了一套渲染底层而已)

4、使用的渲染引擎太老土了,完全没有与时俱进。使用SDL本没有什么问题,但是使用方式有问题导致渲染效率很低。同时一些性能紧密相关的代码优化不到位(比如Token的分析)导致帧率很低。

5、代码风格和结构太过诡异,学习起来难度很大。大量使用try catch进行结构控制和流程控制,大量使用函数内部类定义。代码看起来混乱无比。我足足看了两天才理出个头绪。

 类似资料: