今天了解了一下COCOS和Unity,感觉使用Unity的人比较多。
如果是写一个传奇类似的及时PK游戏。感觉主要是通信能力。
物理引擎除了刚体碰撞外,其它的貌似都用不到。那是不是可以自己写一个碰撞检测或者直接使用box2d来做。
场景,我感觉还是叫地图比较好。平时大家都是说下那个图,开哪个图,没有看玩家说开哪个场景。
使用Unity或者COCOS可以使用地图编辑器。但是我希望我的地图是在网页里面使用,不知道是不是要自己写个编辑器还是说直接不用他们的地图算了。
本人感觉,2D游戏里面的地图应该更像是纸层叠一样,一层一层的叠加上去。
最底层的都是可行走区域,图层以上的指定可行走或者不可行走。整个地图画好以后,应该保存成一个数组数据,比如640*320像素为一个数据,自动把地图分割成很多个数据组,每个数据组内保存对应的地图信息。
玩家在玩的时候根据数据组是否在窗口内来决定是否进行加载。
如果指定游戏窗口的大小是1280*960像素,那么同一时间内只会加载12条数据。
但是,事实上这是看了别人的文章我想出来的,这么做的目的主要是考虑电脑的配置问题。我感觉这个根本就不是问题吧。就算是一次加载一整张的地图对于现在的电脑来说也不是什么问题,几十兆的内存感觉完全不是什么大事。
不过电脑配置不一样进入新地图的时候反应速度也不一样。比如攻城打架的时候你进去要加载地图,只卡顿了0.5秒,但是玩家体验会很不好。
我想可以在用户完成加载后再分发数据,或者将地图加载完成前的伤害数据自动排除掉。
说那么多,客户端再慢慢考虑吧,第一步先做服务端的开发,毕竟服务端弄好了,客户端可以使用别人的成熟方案。
发现一个不错的教程,《C++ 百万并发网络通信引擎架构与实现》
后面在边学边做的过程中如果发现什么比较好的课程我会分享给大家。