在现在这个游戏项目中选择了LUA, LUA的优点是小巧,执行速度快,但在应用中也发现了一些问题。
一个是排错困难,当一个功能脚本有复杂的逻辑时,由于没有IDE, 调试难度比IDE环境下困难很多,很难聚焦出错位置,所以脚本中尽量避免复杂逻辑。
第二个是变量声明随意,如果前后变量名称有大小写不一致的错误,LUA本身不会发现,这样会产生很多难以发现的Bug,如果完全交付由策划编写,出错概率可能会比较大,会延长扩展测试时间。
总结以上两点,决定慎用脚本,尽量提供合理接口,减低脚本逻辑复杂性,充分发挥脚本的灵活的扩展性,使项目易于扩展维护。
在任务系统设计编写中应用这一理念,一般性任务为策划设计了合理的Excel表,靠填表完成任务的编写,非常复杂的任务由于很多条件还有执行分支的不同所以由脚本进行编写,但是如果能用表描述的尽量用表实现,避免去维护两套东西。
更合理的方法还在总结完善中~~
其它如何在游戏中实际应用LUA程序实现的例子,不在本文讨论范围,网上有非常丰富的资料,本文只是阐述遇到的问题和解决的一些思路。