在MMORPG游戏后开发过程中,会有来自策划的静态数据,或者说模板数据,这些数据通常会被策划用excel表格填好,并通过格式转换,转换成服务端和客户端所需要的格式,并加载给程序使用。我现在就想讨论一下这个问题的比较好的解决办法。
我做服务端开发的。之前C++ + Lua结构,这些数据按模块被一个个转换成lua table,通常一个文件是一个lua table,里面存放这个模块相关的整个数据,然后在游戏逻辑所涉及到的相应的模块的那部分代码里面会有对这些数据的读取和一些逻辑的处理,这种方式是比较方便的。
最近后端用java实现,在做这部分功能的时候,把数据按一个个Excel文件转换成json格式,然后一个个写java类对应于相关的数据,然后再做加载,把那些数据一个个都加载到相应的对象里面去。
但是个人觉得,这部分工作本应该是很自然的反序列化的工作,应该有一种自动的反序列化的功能,数据和数据所对应的对象应该有一种自动的对应方式,这样可以通过数据的定义自动生成相应的对象代码,而对象的实例化过程也可以做成自动的反序列化过程,这样就可以少写很多代码(现在需要人工把一个个类那些数据对应起来,然后还需要手动加载,手动实例化等等),而搜过一些像gson, jackson这样的库,看到有一些反序列化,某些interface也可以通过指定相应实现类也可以反序列化。但是操作起来还是觉得不是太好下手,不知道大家都是怎么做这方面的工作的???
小白问题,如果我没描述清楚,可以继续问,我可以继续补充。