转自:http://www.cnblogs.com/nowpaper/archive/2012/09/11/2680852.html
这个世界上各种游戏引擎林立,其中不乏精品,cocos2d作为一个大众引擎非常不错,尤其是工具齐全,最重要的是免费,加之各种团体对引擎的各种支持,cocos2d也算在移动领域开发比较常用的了,现在各种语言版本均以具备,WindowsPhone未来虽然也有了C++但毕竟C#的独有特点也会让支持者很难放弃,cocos2d自从有XNA版本后让开发WP游戏更加容易,甚至现在都可以做WinRT的通版本游戏,呵呵这一点,可以看之前的文章。
那就折腾一个游戏吧 |
很久没有实例的文章了,这次从用cocos2d-xna开发一个较为完整的游戏,这样让大家领略C#的独有魅力。那么开发一个什么游戏呢?还是一个战略游戏吧,这样基本上都能够练习到所有的技术要点,游戏开发第一步是策划设计,把最终的游戏形态想好,一般在游戏公司里面,这一步就是立项,虽然大多数的情况下,是一个灵光一闪的想法,然后就开干,但优秀的开发团队一定会在策划设计上花上一段时间——但是不要占据太多时间,一方面因为不能陷入到无限的YY中,另外一方面因为好的游戏是改出来的,开始的设计能实现80%就已经很不错了。
所以我们简单的设计一下这个游戏:
1、风格:三国题材
2、这是一个战略游戏,偏向智力延伸
3、两方对战游戏玩法
4、敌我双方在地图左右两边
5、士兵自动对冲,然后攻击路上的敌人,士兵有生命值
6、通过一种方式购买士兵:援兵或金钱
7、士兵击败主将取得胜利,主将有生命值且不易击败
8、士兵分为:步兵、枪兵、骑兵、弓兵
9、克制关系为:步》枪》骑》步;弓兵最弱,但为远程攻击
10、主将具备一些特殊能力,需要金钱使用
Ok这个游戏的初步的设计出来了,也许你的设计会更好,但不要贪多,现在会发现这个说明实在太简要了,根本就不能说明一个游戏,那么,运起我们的各种设计工具,设计制作一个蓝图,如果有美术设计帮你是一件非常幸福的事,吾辈草根就只能自己搞定啦,下面是一个设计图,美术素材来自深蓝色右手的游戏教程,好吧,它们都来自网络,别问我版权问题。
这只是一张非常简要的预览图,大概通过它来了解游戏是什么玩的,更多的细节在后面边做边改。
主体结构 |
在搞这样的一个游戏之前,还要想想都需要什么功能,尤其是需要多少个界面,有必要的最好规划一下:
通过上面的图我们大概能看出具体是什么形态,相比之前的想法阶段是不是更进一步了呢?然后再细致一点的话,可能还要做更详细的需求分析,比如说基本角色、技能体系、地图逻辑等,一般来说由策划提供详细的策划书,然后主程序依据策划设计完成程序架构,定义好各种接口,
那么下面就做一下这样的尝试,也许有一些地方不太理解,没有关系,在将来逐步的讲解,而且第一次的架构一般来说都会遗漏,逐步的补齐就行。
第一步先建立一个简单的cocos2d-xna的工程,在这里,我使用WindowsPhone作为开发平台,通过之前的文章《Win8 Metro App里玩XNA:如何使用和移植cocos2d-xna游戏》,也可以轻松的移植到Win8上,如果你安装了最新的cocos2d-xna工程模板,那么可以新建工程里见到下面的界面。
如果对这一部分有疑问的话,可以参看这篇:《Cocos2d-x for WindowsPhone:万丈高楼亦可不需平地起》。
现在开始建立整个游戏的架构,这个时候很容易迷茫,不知道该如何下手,在初步的阶段,想到什么就做什么就好了,想得过细也不好,早些进入早些开始,我写了一个简单的游戏架子:
从Game入口点进入到AppDelegate类中跳转场景到开始界面,如果有载入的话,一般会加入到Loading中,好吧,咱们不需要这个,对于这些类做一下简单的说明:
SceneStart:游戏开始的场景
SceneSetting:设置场景
SceneSelect:地图选择场景
SceneGame:游戏场景
SceneOver:游戏结束场景
对照之前的流程,我们在这几个场景中跳来跳去即可,但是一个游戏要有演员,在这里表现的是Actor的类,而角色分细一点有利于开发,其中有处理数据的ActorData在这里处理数据,一般逻辑的ActorBase在这里处理动画,Actor在这里处理游戏的逻辑,有必要的话,未来可以继承出来英雄什么的,那么在这里咱们就不要浪费精力。
本框架代码在:https://github.com/Nowpaper/SanguoCommander_cocos2dxna_Sample
好了,今天就折腾到这里,在下一篇中,将会处理场景的切换和跳转,以及对资源的处理操作。