前言

曾经没有代码管理的习惯,不用回版本控制工具。这种陋习虽然让原来千穿百孔的代码远离了实现,但这种逃避未必就是一件好事吧;)。
于是从博客中挖出了原来的文章,并千辛万苦找到了最早的代码贴出来。

这篇文章是参加 Google 的 Android 应用开发大赛时,写的总结帖。主要从团队和设计两个方面进行了分析总结。虽然如今看来一些内容显得稚嫩和粗糙,
但没有功劳还是有苦劳的!还是那句话,我们要不断收集生活中的珠子,等到最后,才能串成一条链。

我同步的将代码贴到了自己的 github 里。对于这份代码,或许以后有时间,可以重构下代码?又或者没有时间?
这都无所谓。能够让原来的脚印在路途中获得一席之地,也才有之后更好的旅程。

内容不做修改,这就是 12 年 1 月时,我的思维层次总结啦。

原文

此文从团队和设计两方面,进行了一些经验总结。没有涉及技术实现的讨论。

KongfuSnake,这是一款取材自贪吃蛇的 android 游戏。(弱弱的说,这个取材其实这是我最不敢说出口的,被大多数人评价为老套、
过时的创意><…但需要解释的是,我们确实做了很多“微创新”~)。

下载链接:KongfuSnake

1.背景

参加的 google 的 android 应用大学生挑战赛上个月已经画上了句号。

结果是幸运的,最终我们跟另外的 4 只队伍一起,获得了全国总决赛二等奖。当然,名次并不是最重要,重要的是经历了什么,学到了什么。于是,用心的敲下这些文字,给自己的旅途留下脚印,期望对以后的学习、生活有所助益。也算是认知盈余吧。

11 年 6 月份吧,大三下学期萌发参加比赛的念头。

当时的考虑是,自己由于时间安排的关系,无法参加暑期实习,而本科前三年重心一直不在编程上,想借暑假的空闲机会,体验一下比赛的乐趣,
也算见识下 android 的开发体系。而作为团队参加也可以积累些许技术沟通的经验,于是找到了同专业的一个同学,一起组队参赛。
后期,又邀请了工业设计专业的一位同学加入,为作品的 UI 润色,用足了比赛规定的最多三个名额的限定。

回过头来,那些小九九也算达到了一些~甚至还有当时没有考虑到的收获,比如对小游戏设计方面的浅显理解。

2.团队

这是一个三人的小规模学生团队,说我们小打小闹也罢,团队里的沟通交流总归是存在的。麻雀虽小,五脏俱全~

2.1.团队的组成

经历过以前一些团队作业,我觉得大学生团队最重要的问题就是是否每个人都有足够的时间。基于这个原则,我找到了 yzq 童鞋。

后期,我们发现必须找人润色 UI,又通过学校论坛征到了比我们低一级的 mqx 童鞋,这一步走的略显仓促,与项目早期自己的侥幸心理有关><….
准备不周全。幸运的是,最终效果还不错。

值得反思的是,最初我在征 UI 设计时,没有与候选人沟通好具体的职责:
团队需要的是能尽可能的提供 UI 的整套解决方案,而不仅仅是按照程序开发者的意愿 P 几张图而已。
由于这一失误,mqx 童鞋后来的大多数时间里只是照着后半句在做,让我们编程人员力不从心><….。
当然,另一个侧面,也算是培养了自己产品设计的一些理念吧。。

2.2.团队沟通

开发期间,由于暑假回家、之后我出国交流等原因,大家很多时间都不在一起。只是通过 QQ 进行交流的。交流的方式也比较随意。

由于项目小,我们没有使用到 svn、git 等版本控制工具。这些原始的沟通方式,虽然在小项目中负面影响不大,但相信随着项目规模的增大,
它们对效率的影响会显现出来,特别是版本控制方面。这里以后需要注意。

另外,在沟通技巧上,自己比较欠缺。由于专业不同的关系,我与负责 UI 的童鞋对某些设计的理解不尽相同,
而自己起初没有注意到这一点,让大家无谓的耗费了精力;每个人都会有不同的想法,在处理矛盾想法的解决时,作为项目发起人,
我的方式不够委婉。

2.3.团队建设

我有意识的提及一旦获奖,我们可以获得的收益,想借此激励大家的积极性。不过技巧性还需要提炼。

3.设计

评价一款手机游戏的优缺点,相对来说比较容易。但真的要做出决策如何设计一款游戏,则难了很多。

看过网上很多移动应用开发的设计指南,一条一条的罗列挺纷繁的,总结自己粗劣的设计经验,是如下两条:创新的想法和合理的取舍(trade-off)。

创新能挖掘出用户的需求,合理的取舍,能让众多创新的想法融合出一个完整的产品构图。

3.1 关于创新

不要被原来的设计需求禁锢。创新可以挖掘出新的需求。

刚开始的时候无法囊括所有的创新点,新的点子可能在之后的经历中又突然冒出,毫不犹豫的去尝试,不断迭代改进。

当然很多创新点可能在游戏的整体中不和谐,但这些层出不穷的创新只要有千分之一是可行的,就可能让产品脱颖而出,不再陈旧。

3.2 关于取舍(trade-off)

突出主题。

手机界面相对较小,视觉上容量本就不多。细小的图形元素容易造成蔓延昏花的效果。突出能抓住用户眼球的主题很重要
,必要的时候,需要适当舍弃可能造成混淆的元素。

增强元素的表现力和区分度。视觉、听觉、触觉(震动)等各个方面增强各个元素之间的区分度和表现力。

统一风格。每一个按键,每一个游戏元素,包括背景、布局、音效,都需要统一风格。

由于时间拖得比较久,没有及时的总结经验教训,感觉很多细节都已经离我远去了><…下次得注意了。

另另

由于代码写的比较搓,也就不公开放出了强奸大家的眼球了><…,要学的还有很多。

 原文地址:http://biaobiaoqi.github.com/blog/2013/09/06/kongfu-snake-project-summary/
 版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0

Android小游戏:功夫蛇 团队开发经验总结的更多相关文章

  1. android小游戏模版—重力感应

               好久没更新博客了,今天来谈谈android小游戏---重力感应,一般在游戏里运用的比較多,比方这类游戏有:神庙逃亡.极品飞车,平衡球.三围重力迷宫,重力赛车等. 首先什么是重力感 ...

  2. 软件工程 Android小游戏 猜拳大战

    一.前言 最近学校举办的大学生程序设计竞赛,自己利用课余时间写了一个小游戏,最近一直在忙这个写这个小游戏,参加比赛,最终是老师说自己写的简单,可以做的更复杂的点的.加油 二.内容简介 自己玩过Andr ...

  3. 介绍一款Android小游戏--交互式人机对战五子棋

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6589025 学习Android系统开发之余,编 ...

  4. 第一个windows 小游戏 贪吃蛇

    最近用dx尝试做了一个小的贪吃蛇游戏,代码放到github上面:https://github.com/nightwolf-chen/MyFreakout 说一下自己实现的过程: 首先,我把蛇这个抽象成 ...

  5. 使用JavaScript实现简单的小游戏-贪吃蛇

    最近初学JavaScript,在这里分享贪吃蛇小游戏的实现过程, 希望能看到的前辈们能指出这个程序的不足之处. 大致思路 首先要解决的问题 随着蛇头的前进,尾巴也要前进. 用键盘控制蛇的运动方向. 初 ...

  6. JavaScript面向对象编程小游戏---贪吃蛇

    1 面向对象编程思想在程序项目中有着非常明显的优势: 1- 1 代码可读性高.由于继承的存在,即使改变需求,那么维护也只是在局部模块 1- 2 维护非常方便并且成本较低. ​ 2 这个demo是采用了 ...

  7. Android开发系列(十六):【Android小游戏成语连连看】第二篇

    写的晚了,在分工个Z市高中的一个成绩查询的系统,原系统居然是用VB写的,我不得不佩服原本写系统的那位哥们真能耐得住. 明天搭建下SVN就等着先发project款然后開始项目了.想想有工资进账,心里也为 ...

  8. python【控制台】小游戏--贪吃蛇

    传统贪吃蛇相信大家都玩过,也是一款很老很经典的游戏,今天我们用python控制台实现 项目有很多bug没有解决,因为本人一时兴起写的一个小游戏,所以只是实现可玩部分功能,并没有花较多的时间和精力去维护 ...

  9. 手把手教学h5小游戏 - 贪吃蛇

    简单的小游戏制作,代码量只有两三百行.游戏可自行扩展延申. 源码已发布至github,喜欢的点个小星星,源码入口:game-snake 游戏已发布,游戏入口:http://snake.game.yan ...

随机推荐

  1. jmeter--使用badboy录制脚本

    JMeter录制脚本有多种方法,其中最常见的方法是用第三方工具badboy录制,另外还有JMeter自身设置(Http代理服务器+IE浏览器设置)来录制脚本,但这种方法录制出来的脚本比较多且比较乱,个 ...

  2. Spring Boot使用模板freemarker【从零开始学Spring Boot(转)

    视频&交流平台: à SpringBoot网易云课堂视频 http://study.163.com/course/introduction.htm?courseId=1004329008 à  ...

  3. 开发板 视频1 05_01 05_02 05_03 关于ubuntu的一些操作

    ctrl+alt+T 打开中端 ctrl+d  退出 ctrl+alt+f1 到f6 进入dos中端 ctrl+alt+f7 是退出 05_02 启动root用户   也就是进入 前面出现root了 ...

  4. 公钥,私钥和数字签名这样最好理解 分类: B3_LINUX 2015-05-06 16:25 59人阅读 评论(0) 收藏

    一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...

  5. PHP通用非法字符检测函数集锦

    <? // [变量定义规则]:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数组型 // ※CheckMoney($C_Money) 检查数据是否是 99999 ...

  6. MCI

    MCI(Media Control Interface)媒体控件接口是Mircrosoft提供的一组多媒体和文件的标准接口.它的好处是可以方便地控制绝大多数多媒体设备 包括音频,视频,影碟,录像等多媒 ...

  7. LVS负载均衡+动静分离+高可用(nginx+tomcat+keepalived)

    文章目录 [隐藏] 一.环境介绍 二.环境安装 1.安装JDK 2.两台服务器安装tomcat 3.nginx安装 4.keepalive安装 三.负载均衡 四.动静分离 五.keepalive高可用 ...

  8. [Preact] Use State and Props in the Component Render Function

    Preact offers, in addition to the regular component API from React, the ability to access both props ...

  9. 1.2.4 Java Annotation 提要

    (本文是介绍依赖注入容器Spring和分析JUnit源码的准备知识) Java Annotation(标注) java.lang.annotation.Annotation是全部Java标注的父接口. ...

  10. kernel-char设备的建立

    kernel下的设备分成了一些类,char block char.. 这里就贴出来一个样例能够建立一个char设备 ,抛砖引玉吧 这是kernel中的 drivers/char/msm_smd_pkt ...