前言

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

这篇文章是参加 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. Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.7--转

    原文地址:http://blog.csdn.net/u013281331/article/details/40824707 在Eclipse中检出Maven工程,一直报这个错:“Missing art ...

  2. POJ 1018 Communication System 贪心+枚举

    看题传送门:http://poj.org/problem?id=1018 题目大意: 某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m个厂家提供生产,而每个厂家生产的同种设备都 ...

  3. Oracle空间数据库的备份与恢复

    大型GIS系统,存储.管理海量(TB级)空间数据时,数据库备份变的尤其重要.这里随笔说说冷备份的一种方法. 基于ArcSDE.Oracle空间库的冷备份: (1) 在数据入库工作后或者更新变动较大时, ...

  4. python3的函数

    #摘自廖雪峰的程序教程 函数名是变量: 如abs()是一个求绝对值的函数, >>> x = abs(-10) >>> x 10 变量可以指向函数 用f指向函数abs ...

  5. POJ 1887 Testing the CATCHER(LIS的反面 最大递减子序列)

    Language: Default Testing the CATCHER Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1 ...

  6. mina架构分析

    使用的版本号是2.0.9 IoService分析 AbstractIoAcceptor定义了全部的public接口,并定义了子类须要实现的bindInternal函数,AbstractPollingI ...

  7. C++ 指针(不论什么一个指针本身的类型都是unsigned long int型)

    1.指针数组: 即 数组的元素是指针型; 例:int*pa[2]; 明明是一维的指针数组.竟当作二维数组用. [cpp] view plain copy //利用指针数组存放单位矩阵 #include ...

  8. jquery 多选框 checkbox 获取选中的框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. notepad++ 正则替换

    比如原来的代码是 {$id['nihao']}{$id['lal']}{pigcms:$id.leere} 查找目标写 \{\$id\['(\w+)'\]\} 替换为写 \{pigcms:\$id\. ...

  10. Android 使用Canvas在图片上绘制文字

    一个小应用,在图片上绘制文字,以下是绘制文字的方法,并且能够实现自动换行,字体自动适配屏幕大小 private void drawNewBitmap(ImageView imageView, Stri ...