试用了一下学长黄杨等人开发的《shield star》游戏。

                      

  其实作为一个学弟,我对cocos2d-x引擎还算是比较了解,所以对于这样一款很“典型”的cocos游戏,我想从优点和缺点两个方面来说:

  1. 优点

    • 画面很炫,这是不得不承认的。因为游戏中的技能,炮弹等主要是cocos2d-x的自带特效,唯一的自己做的美工“飞机”,也是经过引擎的渲染,所以也没有什么好说的。
    • 引擎跨平台:学长很明智的选择了跨Android,IOS,WP8, Windows Store App 等主流平台的2d游戏引擎, Cocos2d-x,并且有做多个平台的版本,很好。
    • 模式简单: 游戏的规则应该说还算是比较创新(用手画盾),规则简单,适用于手机使用
  2. 缺点及我会怎么做: 
    • 难以操控,趣味性差:用手画盾算是一个创新,但是两三下玩下来就索然无味了,究其原因,是因为它违背了射击游戏的一个原则,玩家的攻击方式只有反弹地方的攻击,玩得很被动。如果是我来做这款游戏,我会增加主动攻击的方式。
    • 过于简单:整个游戏,我玩了15分钟竟然敌军没有任何的改变,只是在数量上有所增加;其次,游戏只有开始结束最高分,没有别的功能(比如将记录上传到人人,Facebook等),如果是我,我会加上更多的难度,以及技能等等。同时,我将引入在线的模式,增强趣味性。
    • 很难以想像这个游戏可以到学长声称的两万行代码,同样作为cocos2d-x引擎爱好者的我,曾经做过一个类似的射击游戏,画面效果不逊于此,模式更为复杂,也只用了7000行左右。(毕竟这种飞行射击游戏的设计是最为简单的,因为不需要使用地图,切片,骨骼动画,物理引擎等等,只需要做简单的碰撞检测)。最让人觉得奇怪的是,学长贴出来的代码统计结果中竟然包含了这款开源引擎的自身源码,所以,在没有见到代码之前,我斗胆对其代码的质量提出质疑。
    • 如果是我来做这款游戏,a)我会对代码的质量进行把关,增强代码的复用性。2)而且,我会对我的代码进行诚实报告,至少不会把引擎的代码加入声称是我的工作。

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

编辑:毛宇

Week1 Team Homework #1 from Z.XML-对于学长项目《shield star》的思考和看法的更多相关文章

  1. Week1 Team Homework #1 from Z.XML-总结学长经验教训

    谭传奇学长: 我们的弯路可能是,一开始没有从最基础的部分开始迭代开发,一开始就想的太远了一些,每一步开的有点太大了,所以可能有些东西最后就连不上,也没有能够按时完成.如果可以先做出一个能用的版本,然后 ...

  2. Week1 Team Homework #2 from Z.XML-Introduction of team member with photos

    <Z.XML Introduction of each team member, with photos Z=周敏轩; X=肖俊鹏&薛亚杰; M= 毛宇 & 马辰; L=  李孟 ...

  3. Week1 Team Homework #1 from Z.XML-项目选择思路--基于对曾经大作业项目的思考

    这两天试玩了一下去年学长的满分工程<shield star>游戏,再结合了一下他们团队的博客记录,有一种非常牛逼的感觉.具体对于这款游戏的一些思考和看法,毛大神已经说的很好了.因此,这里主 ...

  4. Week 1 Team Homework #3 from Z.XML-软件工程在北航

    任务名称:软件工程在北航 任务要求:要求我们采访往届师兄师姐,收集他们对于软件工程这门课程的反馈.具体作业链接http://www.cnblogs.com/jiel/p/3311403.html 任务 ...

  5. Week1 Team Homework #2 Introduction of team member with photos

    小组成员介绍 组长:黄剑锟       11061164 组员:顾泽鹏        11061160 组员:周辰光         11061154 组员:龚少波        11061167 组 ...

  6. 团队博客作业Week1 Team Homework #3软件工程在北航

    这次我们采访了一位大四的学姐,让她简单地谈了谈去年学习软件工程的经历和感受. 在完成软件工程大作业的过程中,由于计划安排与实际脱节,导致时间前松后紧,平均每周花在这门课上的时间大约有8个小时. 项目完 ...

  7. Week1 Team Homework #1: Study the projects done by previous student groups

      我们研究了学长的项目:百度3D地图API的调用.下面是我们对该项目的一些看法: 优点: 界面清晰 各类之间调用及其他关系容易理清. 缺点: 前段html代码过于冗杂,很多(div)块间的层次关系不 ...

  8. Week1 Team Homework #3: 软件工程在北航

    在组内成员的共同努力,我们采访了几个学长学姐,顺利完成任务.反馈信息如下: 平均每周花在这门课上的时间 平均写的代码总行数 学到的最有用的部分 最没用的部分 <软件工程>最应该改进的地方 ...

  9. Week1 Team Homework #2: Introduction of each team member

    王洛书 我是来自浙江的王洛书.热爱历史,热爱美食,热爱代码,热爱博物馆.很喜欢软件工程这门课的上课方式,也很喜欢组里的这些同学.希望能大家一起努力,在这门课上真正地收获能力上的提升!   陈睿翊

随机推荐

  1. C#中rpt的数据类型和Oracle中数据类型的匹配

    Oracle中number数据类型对应C#中decimal数据类型,结果是整数 Oracle中number数据类型对应C#中int32数据类型,结果是小数,保留两位小数 Oracle中中date类型数 ...

  2. PP: 混合生产方式(MTO与MTS为例)(转)

    http://blog.sina.com.cn/s/blog_4c01b7650100yf1d.html PP: 混合生产方式(MTO与MTS为例) 一.业务概览某公司生产的同一种产品正常情况下客户无 ...

  3. ABAP术语-Data Browser

    Data Browser 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/21/1046858.html Tool for displayin ...

  4. ABAP术语-Business Components

    Business Components 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/26/1015254.html Group of re ...

  5. 微信小程序引用iconfont图标字体解决方案;

    1)首先,登录阿里巴巴iconfont.cn 2)新建项目 3)点击icon收藏 4)加入到test项目中   5)下载到本地解压   6)生成代码   7)复制iconfont.css到xxx.wx ...

  6. MySQL数据库操作(DDL)

    一.创建数据库 语法:create database 数据库名称 [库选项]; 库选项:(可选)数据库的属性,一般有字符集与校对集,保存在数据库所属文件夹下的opt文件 charset:字符集,表示该 ...

  7. 首层nginx 传递 二级代理,三级代理......多级代理nginx 客户端真实IP的方法

    首层nginx(172.25.10.1):先获取真实IP($remote_addr),再将真实IP传递给X-Forwarded-For    proxy_set_header X-Real-IP $r ...

  8. tp5多条件查询

    ->where('m.user_nickname|w.nickname|c.companyname','like','%'.$search.'%')\

  9. R语言学习笔记(七): 排序函数:sort(), rank(), order()

    sort() sort()函数直接对函数进行排序,并返回排序结果. > a <- c(12,4,6,5) > sort(a) [1] 4 5 6 12 rank() rank()函数 ...

  10. MVC使用ajax取得JSon数据

    为了在view中获取模型中的数据,用ajax异步模式读取数据,再用json返回的view中. 1.controller中: [HttpPost] public ActionResult GetAjax ...