HTML5 Code Jam经验分享——IT’S COOL!!!(来自Rich团队)

标签: HTML5最新动态 HTML5 Code Jam | 发表时间:2011-09-21 12:36 | 作者:admin iDesperadO
出处:http://www.mhtml5.com



如题,就是这个活动:http://www.mhtml5.com/events/code-jam
另外也秀一下我们的研发成果——网页版的大富翁:http://jinjiang.github.com/rich-game
源码:https://github.com/jinjiang/rich-game
2天时间做不了太多东西,所有很简单,只能两个人玩,而且只能在特定的浏览器下运行(傲游3浏览器、谷歌浏览器、Safari for Mac/Safari for iPad等webkit内核浏览器)

这是我第一次接触比较正式的游戏开发,也是第一次玩code jam,而且我们的团队同心协力,最终拿到了最佳团队和技术两个奖项,感觉很美妙。
回顾这次活动,有一些感触,也有一些“成功秘诀”愿意分享给大家

IT’S COOL!!!

Jam is COOL!

Yes! Jam is COOL! 这种为期两天的Jam正是我们这些 Web Game 爱好者尝鲜和圆梦的好舞台,没有特别高的门槛,也不需要长年累月的精力,我们只要有梦想,有激情,有志同道合的几个伙伴,就足够了。我相信参加过Jam的朋友们一定感同身受!

Game is COOL!

同样的,开发游戏和开发一款传统软件或是网站是完全两个层次的工作,游戏需要的是创意,是打破常规,是逻辑思维、流程规则、界面展现、用户心理、甚至物理引擎、几何计算等很多智慧的结晶。如果没有广泛而系统的知识体系,很难完成一款游戏。而且一般的软件和网页做到“能用”和“用得舒服”就已经很好了,而游戏则必须需要做到“好玩”、“玩的时候让人过瘾”、“玩过还意犹未尽”。质量上的差别可想而知。作为一个传统应用软件的开发者,能够有机会开发游戏,真的是一个宝贵的经历!

HTML5 is COOL!

这里的html5当然是指广义的Web App开发模式了。Web开发要考量的东西,除了美观程度、交互效果这些东西之外,还加入了越来越多的数据处理和更加酷炫同时开发起来也也更复杂的界面,Web可以搞定越来越多的事情了,这一点我之前就深有体会。如果你是一位多年的前端工程师,那么html5一定会让你豁然开朗!

关于我们的团队

说完活动的感受,然后再说些我们团队在整个活动过程中的小故事吧

成功秘诀之 有备而来

话说这次活动开始之前,我其实提前做了一些功课,先是看了一些WebGame的微型开发教程,然后也看了一些demo,还有一些开发框架和函数库,对WebGame有了一个概念上的深入和开发模式的了解,这里我还是想再推荐一次这篇教程:《Build your First Game with HTML5》。这让我在活动当天的策划和开发中有了更多的底气。

成功秘诀之 知识管理(wiki)

我在活动的前一天,在我的电脑里搭了一个简单的wiki,并了个字号较大,布局较简洁的皮肤。时候证明这个wiki在第二天派上了大用场!
wiki可以做很多事情,首先,我们没有足够大的黑板把我们整个活动过程中需要记录的所有内容都写下来,一定需要有两外一个平台展示我们所有的协作过程,供大家随时查阅,这样我们没有漏掉整个团队2天之内的任何想法、讨论过程、内容细节和结论
我把这部分的wiki内容已经贴到了github的源码wiki上:https://github.com/Jinjiang/rich-game/wiki
第二,大家的开发习惯都不一样——这里也包括代码的版本控制,我首先提议用github,但是一些组员不太熟悉,更倾向于googlecode,后来发现wiki可以以文件为单位记录和展示代码,并且wiki本身就有历史记录和权限控制(同时只能有一个人提交代码),正好用来做代码的版本控制。于是大家就以文件为单位,纷纷提交各自负责的代码,最后由雷毅从wiki上把所有的代码拿下来,合并在一起。

成功秘诀之 QQ群

对于一些文件传输、代码讨论的东西,难免需要即时通讯,这个时候wiki也会显得比较笨重,所以我们果断选择了QQ群。这也让我们的团队效率提速不少。

成功秘诀之 动手之前先经过充分的讨论和沟通

在开发中,返工和需求变更是最令人恐怖的事情,尤其是在这么短的开发时间内,我们是不能出任何大的差错的,否则将没有任何可以弥补的余地。我的做法是充分的讨论和沟通,让每一个细节都不再有争议、对于游戏的描述和理解也都没有二义性,才下手写代码。这一点开起来没什么,但是对于工程化的软件开发控制真的非常重要。所以我们都是到下午2~3点才开始编码的,但很快就把代码写好了

成功秘诀之 分工明确 模块化开发

我们的团队一共6人,我把工作内容大概分成了5部分:游戏策划和美工、游戏规则和逻辑、界面上的地图、界面上的人物和路障、界面上的各种提示信息和各种操作界面,大家根据每个人的特长和兴趣自由认领工作。我划分这5个部分的时候,把每个部分之间的耦合度降到了最低——甚至不惜牺牲了一些性能和代码量,因为这样大家可以完全并行工作。这也是我们在开发上得意顺利进行的原因之一吧。

成功秘诀之 接口一定要定仔细 包括参数格式和返回值

呵呵,这里尤其强调参数格式和返回值。因为我们定js接口的时候,经常会图省事,只约定一个函数名,导致的结果就是接口联调的成本巨大。这方面其实我们在开发的时候也走了一些弯路。索性出现的问题并没有涉及核心代码的修改,不过还是让我们第二天的代码合并工作有惊无险。

成功秘诀之 互帮互助

6个人分别完成5个难易程度略有不同的模块,最后开发所用的时间还是有长有短的,但做得快的组员也没有闲着,他们都很积极热心的立刻去帮助其他人,包括review代码、做测试、写文档等等。这也一定程度上保证了代码质量。

恩,差不多就是这些了。

最后介绍一下我们的团队成员吧

我们团队的名字就叫Rich,职位名称是根据《盗梦空间》里的角色起的。团队除了我之外,还有:
张绍珑:筑梦师,游戏策划和美工设计
张超:筑梦师,游戏底层逻辑和规则的实现者之一
王潇:盗梦人,游戏地图和房屋的界面实现者
雷毅:盗梦人,游戏任务和道具的界面实现者
黄雅哲:药剂师,游戏中的功能界面和提示信息的实现者

对于我们的团队,我要由衷的说些感恩的话,非常荣幸有机会和诸位一起共事,我们的合作很愉快,沟通也很顺畅,每个人也都表现出了高度的专业和尽责!只可惜活动总是会结束的,现在我们的组员已经都各奔前程了,呵呵。相信他们各自的事业也一定会非常的成功!

文:Rich 队长     赵锦江@勾三股四

相关 [html5 code jam] 推荐:

HTML5 Code Jam经验分享——IT’S COOL!!!(来自Rich团队)

- iDesperadO - HTML5研究小组
如题,就是这个活动:http://www.mhtml5.com/events/code-jam. 另外也秀一下我们的研发成果——网页版的大富翁:http://jinjiang.github.com/rich-game. 源码:https://github.com/jinjiang/rich-game.

Google Code Jam Japan開催

- Adam - スラッシュドット・ジャパン
あるAnonymous Coward 曰く、Googleによって毎年開催されているプログラミングコンテストGoogle Code Jamですが、今年は初めて日本人向けの日本語でのコンテストGoogle Code Jam Japanが開催されるようです(Google Japan Blog). 予選は10月1日にオンラインで開催され、予選開催中にも参加登録を受け付けるとのこと(スケジュール).

Clean-Code: 注释

- We_Get - 博客园-首页原创精华区
别给糟糕的代码加注释-----------------重新写吧. 这是书中的关于注释一章的第一句话,怎么说呢,这句话个人感觉很对,但是实际上却很少这么做,. 糟糕的代码不是自己写的,别人写的代码,还是让别人自己去维护吧,出了问题也是别人的. 糟糕的代码目前可以正常工作,软件开发中有一条古老哲言:如果它能工作就不要动它,很多程序员都遵守这条准则.

聊聊Code Review

- - 梦想风暴
hopesfish评论《 那一点的调用》时,问了一个关于Code Review的问题:. 想请教一下,TW的筒子是如何做code reivew或者鼓励客户做code review的. 我在翻阅博主的帖子的时候,似乎对这块没有特别强调,而是更多偏重于TDD,我觉得TDD的问题是一碰到没有责任心的程序猿,就很容易流于形式了.

Java Code Review清单

- - ImportNew
使用可以表达实际意图(Intention-Revealing)的名称. DRY(Don’t Repeat Yourself)原则,(拒绝重复). 用代码来解释自己的做法(译者注:即代码注释). *参考自: http://techbus.safaribooksonline.com/book/software-engineering-and-development/agile-development/9780136083238.

我的code review规则

- vento - 我的宝贝孙秀楠 ﹣C++, Lua, 大连,程序员
1) 是否有语法错误,编译错误,编译警告. 做法:下载最新代码,将编译警告级别提升到最高,检查output信息. 2)是否符合需求,完成requirement文档要求的内容,不能多,也不能少. 注意:即使发现有问题代码,如果与需求关联不大,不要涉及. 应该让每次enhancement和bug fix最简洁,牵涉范围最小,影响到组件最少.

Code Review那些事儿

- - 非技术 - ITeye博客
       曾经有一段 垃圾代码放在我的面前,我没有拒绝,等我真正开始接手的时候我才后悔莫及,程序员最痛苦的事莫过于此. ---------改编于周星星的经典台词.       虽然有点夸张,但编码界确实大大存在这种情况,每当接手别人的代码,都有一种想重新写一遍的感觉,等到别人再来接手你的代码时,同样的感觉.

QR Code的小秘密大公開

- 李龑 - TechOrange
成功的用圖片把大家騙進來後,要跟大家分享一個不錯的 QR Code 調查. 首先,你知道 QR Code 的 QR 是什麼嗎. 是 Quick Response,也就是反應很快的意思. 顧名思義,QR Code 就是能快速反應的編碼,也是能讓你一掃描就快速提供相關資訊的工具. 最近 Lab42 針對美國超過 5 百位 18 歲以上的民眾做了一個 QR Code 的調查,以下是一些重點摘要:.

Google、「Buzz」や「Code Search」も終了へ

- GOT4416 - ITmedia News 速報 最新記事一覧
製品担当副社長のホロビッツ氏は、「Google Buzz」で学んだ多くのことを「Google+」に反映させていくと語った.

Google Code Search 終了のお知らせ

- 三十不归 - スラッシュドット・ジャパン
ある Anonymous Coward 曰く、. SourceForge.JP Magazine の記事によると、Google はソースコード検索サービスである「Google Code Search」を 2012 年 1 月 15 日に終了するとのことだ. 主要サービスにいっそう集中していくための再編の一環で、「Google Buzz」や「Jaiku」など 5 つのプロジェクトが対象となっている.