对于学长项目《shield star》的思考和看法:

Ryan Mao ((毛宇)  110616-11061171

试用了一下学长黄杨等人开发的《shield star》游戏,其实作为一个学弟,我对cocos2d-x引擎还算是比较了解,所以对于这样一款很“典型”的cocos游戏,我想从优点和缺点两个方面来说:

  1. 优点:

1)  画面很炫,这是不得不承认的。因为游戏中的技能,炮弹等主要是cocos2d-x的自带特效,唯一的自己做的美工“飞机”,也是经过引擎的渲染,所以也没有什么好说的。

2)  引擎跨平台:学长很明智的选择了跨Android,IOS,WP8, Windows Store App 等主流平台的2d游戏引擎, Cocos2d-x,并且有做多个平台的版本,很好。

3)  游戏模式简单: 游戏的规则应该说还算是比较创新(用手画盾),规则简单,适用于手机使用

  1. 缺点:

1)  难以操控,趣味性差:用手画盾算是一个创新,但是两三下玩下来就索然无味了,究其原因,是因为它违背了射击游戏的一个原则,玩家的攻击方式只有反弹地方的攻击,玩得很被动。如果是我来做这款游戏,我会增加主动攻击的方式。

2)  模式过于简单:整个游戏,我玩了15分钟竟然敌军没有任何的改变,只是在数量上有所增加;其次,游戏只有开始结束最高分,没有别的功能(比如将记录上传到人人,Facebook等),如果是我,我会加上更多的难度,以及技能等等。同时,我将引入在线的模式,增强趣味性。

3)  很难以想像这个游戏可以到学长声称的两万行代码,同样作为cocos2d-x引擎爱好者的我,曾经做过一个类似的射击游戏,画面效果不逊于此,模式更为复杂,也只用了7000行左右。(毕竟这种飞行射击游戏的设计是最为简单的,因为不需要使用地图,切片,骨骼动画,物理引擎等等,只需要做简单的碰撞检测)。所以,在没有见到代码之前,我斗胆对其代码的质量提出质疑。

1)  最让人觉得奇怪的是,学长贴出来的代码统计结果中竟然包含了这款开源引擎的自身源码。所以,在没有见到代码之前,我斗胆对其代码的质量提出质疑。如果是我来做这款游戏,1.我会对代码的质量进行把关,增强代码的复用性。2.而且,我会对我的代码进行诚实报告,至少不会把引擎的代码加入声称是我的工作。

对于挑选project,我的看法是尽量给自己定一个不要太高的目标,比如我要做学长的这么一款简单的飞行射击游戏,那么我会首先把目标降低为我肯定能够完成的一个雏形,再在雏形的基础上利用剩余的时间来增进完善,从而能够在规定时间完成任务。而学长的做法是最开始就声称要做多个平台的射击游戏,导致最终没有时间去学习或者写代码而“跳票”,并以编译和数据库考期作为理由来反驳。其实我想现实生活中大部分的软件开发也会遇到不同的问题,远比编译和数据库考期来得猛烈,但是他们是怎么完成呢? 所以,选定一个合适的目标是非常重要的。

对学长所谓“改变世界的游戏”《shield star》的运行感想-毛宇部分(完整版本请参考团队博客)的更多相关文章

  1. 团队博客作业Week2 --- 学长学姐访谈录

    ## 团队作业2 ## ### 团队一 ### 这个团队中组员是位研一的学姐,她的软件工程老师是姚淑珍,当时她们团队总共有4个人,而且她们都很努力,但是可能是最后团队的作品不太理想,她们的软件并没有上 ...

  2. Java课程设计 猜数游戏团队博客

    1.团队成员介绍(需要有照片) 曾飞远(组长):网络1513 201521123080 江鹭涛(组员):网络1513 201521123075 2. 项目git地址 3. 项目git提交记录截图(要体 ...

  3. Week1 Team Homework #1 from Z.XML-对于学长项目《shield star》的思考和看法

    试用了一下学长黄杨等人开发的<shield star>游戏.                      其实作为一个学弟,我对cocos2d-x引擎还算是比较了解,所以对于这样一款很“典型 ...

  4. 通通的最后一篇博客(附自制html5平面射击小游戏一枚)

    这是我最后一篇博客了,由于本人的人生规划吧,以后应该也写不出什么好的技术文章了,到现在在博客园写了2年, 今天一看,我也有了120个粉丝,好几万的浏览量,感谢大家的支持啊~~ 半年没有写博客了,由于半 ...

  5. [原博客] POJ 1067 取石子游戏

    题目链接有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后把石子全部取完者 ...

  6. [置顶] cocos2d-x 3.0游戏开发xcode5帅印博客教学 003.[HoldTail]游戏世界以及背景画面

    cocos2d-x 3.0游戏开发xcode5帅印博客教学 003.[HoldTail]游戏世界以及背景画面 写给大家的前言,在学习cocos2d-x的时候自己走了很多的弯路,也遇到了很多很多问题,不 ...

  7. [置顶] cocos2d-x 3.0游戏开发xcode5帅印博客教学 004.[HoldTail]主角的上下飞行跟移动

    cocos2d-x 3.0游戏开发xcode5帅印博客教学 004.[HoldTail]主角的上下飞行跟移动 写给大家的前言,在学习cocos2d-x的时候自己走了很多的弯路,也遇到了很多很多问题,不 ...

  8. 小飞淙在博客上的第一天——NOIP201505转圈游戏

    原本我是在word文档上写这种东西的,在杨老师的“强迫”下,我开始写了博客. 这是我在博客上的第一天,就先来个简单的,下面请看题: 试题描述  有n个小伙伴(编号从0到n-1)围坐一圈玩游戏.按照顺时 ...

  9. 华为联运游戏审核驳回:在未安装或需更新HMS Core的手机上,提示安装,点击取消后,游戏卡屏(集成的6.1.0.301版本游戏SDK)

    问题描述 更新游戏SDK到6.1.0.301版本之后,游戏包被审核驳回:在未安装或需更新华为移动服务版本(HMS Core)的手机上,提示安装华为移动服务(HMS Core),点击取消,游戏卡屏.修改 ...

随机推荐

  1. java.net.SocketException:Software caused connection abort: recv failed 异常分析 +socket客户端&服务端代码

    java.net.SocketException:Software caused connection abort: recv failed 异常分析 分类: 很多的技术 2012-01-04 12: ...

  2. 新浪微博客户端(10)-切换多个fragment

    ViewController.m #import "ViewController.h" #import "DJOneViewController.h" #imp ...

  3. 如何在CentOS 7服务器上安装NodeJS

    你可以通过运行以下命令. 1 sudo yum install epel-release 现在可以使用yum命令安装Node.js了. 1 sudo yum install nodejs 因为在开发过 ...

  4. 关于windows程序的学习及思考系列之一

    1.窗口类的注册 a.windows程序中最简单的就是创建一个简单的窗口,而窗口程序的创建是基于窗口类的,窗口类决定了处理窗口消息的过程函数. b.一个窗口类可以用于创建多个窗口,也就是说窗口是窗口类 ...

  5. DCMTK3.6.1(MD支持库)安装说明

    转载:http://qimo601.iteye.com/blog/1685135 [前言] 最近,因为需要开发DICOM网管模块,必须使用DCMTK的DcmNet模块.但是DCMTK3.6.0在Dcm ...

  6. DICOM:DICOM3.0网络通信协议

    转载:http://blog.csdn.net/zssureqh/article/details/41016091 背景: 专栏取名为DICOM医学图像处理原因是:博主是从医学图像处理算法研究时开始接 ...

  7. HDU3344(小广搜+小暴力

    Kakuro Extension Extension Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  8. Linux upstart启动方式详解

     Ubuntu从6.10开始逐步用Upstart()代替原来的SysVinit进行服务进程的管理.RHEL(CentOS)也都从版本6开始转用Upstart代替以往的init.d/rcX.d的线性启动 ...

  9. 做网站用UTF-8还是GB2312 & 各国语言对应字符集

    经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符, WordPress程序是用的UTF-8,很多cms用的是GB2312. ● 为什么有这么多编码? ...

  10. 42.旋转数组的最小元素[Get min value of rotated array]

    [题目] 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5 ...