游戏编程如何学? 挖掘机学校哪家好好?

中国第一教育门户
【咨询***:010-51659542】
您现在的位置: > > > 育龙网 WWW.CHINA-B.C0M 2009年06月01日 来源:互联网
核心提示:
被改变的命运 2004年7月,25岁的张翔离开家乡,来到千里之外的上海。和许多毕业不久的大学生一样,读生物专业的他对原先那份工作没有
被改变的命运
2004年7月,25岁的张翔离开家乡,来到千里之外的上海。和许多毕业不久的大学生一样,读生物专业的他对原先那份工作没有多大兴趣,他憧憬着在这个大都市找到自己的理想。一天下午,他在《前程无忧报》上看到一家名为“游戏学院”的培训机构的整版广告,称游戏行业人才缺口巨大,薪资状况高涨,不禁眼前一亮。游戏是张翔的爱好,但他对游戏制作一点概念都没有,程序、美术、策划都是一窍不通,只是喜欢玩游戏。仅仅半年的学习,真的能把自己培养成合格的游戏制作人?他按照报纸上的联系方式打了个***过去,咨询师的回答让他的顾虑烟消云散:“只要你有热情,愿意学,而且智力正常,就绝对没有问题。”张翔兴奋地丢下广州一家公司的录用通知,向家里人凑足1万5千元学费,走进了游戏学院的大门。
“这是游戏学院在上海开的第一个班,我想既然游戏行业的就业前景这么好,而且是第一个班,就业肯定没问题。没想到会是现在这个样子。”半年后的今天,张翔把自己的就业目标从最初梦想的游戏设计师,降低到了一名GM。工作越来越难找,他说他对未来感到迷茫。
2004年8月,刘明浩对网上频繁出现的“游戏学院”的广告产生了兴趣。26岁的他是一名销售人员,工作虽然辛苦,收入倒也颇丰,白天在外面奔波,晚上回家后最大的乐趣就是泡杯茶,在电脑前玩会儿游戏。看到游戏学院的广告后,他在网上搜索了一下,发现组织这家培训机构的是北京汇众益智科技有限公司,另外还有产业部电子教育中心和香港职业训练局的支持。虽然他也留意过其它一些游戏培训的广告,但他觉得这家做得应该更正规,至少有国家的牌子,谁也不会拿国家的牌子开玩笑。那时候刘明浩刚刚结婚,贷款买了房子,生活负担很重,但凭着对游戏的兴趣和对游戏学院的信任,他还是决定辞去工作,转行做游戏。他向单位要了一个月的工资,凑足了1万5千块钱和半年的生活费,成为游戏学院的一名学生。
刘明浩现在很后悔:“当时我有一份很好的工作和收入。现在原来积累的那些人脉关系都丢了,手上能花的钱基本上也都花掉了。自己试着找了一些游戏公司,碰了很多次壁,对自己也越来越没信心。”
2004年9月,王新宇在报纸上看到“产业部支持汇众益智公司游戏学院授权培训中心”的新闻后,让上海的亲戚帮他报名参加了培训班。中秋的前一天晚上,王新宇顾不上和家人团圆,就踏上了开往上海的火车。游戏学院的咨询师接待了他,给他看了培训的课程体系,以及一些杂志上的广告。王新宇有些疑惑:“这半年时间我能学成什么样?”咨询师回答说:“师傅领进门,修行看个人。只要你努力,以后出去工作一月4000到5000元不成问题。”有了这句斩钉截铁的保证,王新宇放心了。
随着培训的一步步开始,他的期待变成了失望,失望最终又化为绝望。半年后,他写道:“游戏学院多么闪亮的招牌,寄托了多少游戏狂热者游戏痴迷这梦寐以求的天堂。……六个月,可笑的六个月,时间、金钱、精力耗费了如此之多,最后仅仅换了来了一纸空头的认证和无尽的失望……”
这三个来自天南海北的人走在一起,他们本希望通过“游戏学院”改变自己的命运,却没料到命运会朝着相反的方向逆转。谁会想到,一家挂着产业部头衔的培训机构,一家被网易教育频道评为“2004年十大口碑培训”榜首、被《中国企业家》杂志选为“中国十大酷公司”之一的培训机构,竟是一家“挂羊头卖狗肉”的公司。铺天盖地的广告下,被隐藏的是众多学生的迷茫和绝望。
北京汇众益智科技有限公司成立于2004年6月,据其官方网站介绍:“是一家致力于
与设计人才职业培训的专业机构……游戏学院项目于2004年6月面向全国进行推广,截止2005年1月底,游戏学院项目已在北京、上海、广州、天津、苏州、长沙、西安、青岛、哈尔滨、大连等全国主要大中城市设有 45家授权培训中心,在校学员近3000人。”
这究竟是一家怎样的培训机构?它是否真如其所宣称的是一家“打造中国游戏产业人才的梦工厂”?让我们走近“游戏学院”,看看它的真实面目。
学员:学到了什么?
张翔、刘明浩和王新宇的遭遇并非个例,截至4月中旬,游戏学院2000多名学员中已有北京、上海、大连等地共7、8个班的学生陆续毕业,人数大约在150人左右。
游戏学院的宣传资料中写道:“过硬的国际国内双重认证、极强的实际开发操作能力,使游戏学院培养出来的学员具备在游戏公司一年开发经验的综合实力,成为各大
公司争抢对象。”在游戏学院2月底的新闻中,我们看到了这样的介绍:“此次毕业的40名学员已被提前向游戏学院预定人才的金山、清华同方、天晴数码等国内外知名游戏企业‘相中 ,他们将进入这些企业担任游戏策划师、3D设计师、网络
工程师等多种职位,就业及薪酬情况十分乐观。”在采访汇众益智时得到的官方回答是“就业率在60%以上”。
事实却与官方的上述说法大相径庭,我们所调查的北京CBD、中关村等校区的三个班级,60多人中只有10人左右确定了实习单位,其中CBD第三期学员毕业已有一个多月,无一人落实去处,尽管与校方多次交涉,至今仍没有任何结果。游戏学院最大的授权培训地之一上海的就业情况同样糟糕,张翔、刘明浩所在的第一期25名学员于4月中旬毕业,截至发稿时,确定实习单位的只有3人。游戏学院的一位老师对说:“现在找到单位的绝大多数都是就读之前已经有工作经验的,没有经验的学生就业机会很小。”就业问题已经成为绑在游戏学院身上的一颗定时炸弹。
就业困难究竟是因为游戏公司不缺人手,还是因为学员的水平无法达到游戏公司的要求?一家曾对游戏学院学员进行过考核的游戏公司负责人评价说:“他们学生的能力很差,我们考核下来几乎没有能用的。他们所学的东西和我们所需要的不搭界,拿过来还是得重新培训。比如程序,我们一般都招收
专业的学生,不了解游戏制作没关系,只要基础好。他们的学生以前一点基础都没有,半年里又学美术、又学策划、又学程序,都是只懂一点皮毛。”
即便是“皮毛功夫”,很多学员也掌握得不够到位。将部分学员的3D作品拿给专业人士看,在他看来,这些作品如同孩子的涂鸦:“很糟糕,举个最明显的例子,动物的模型完全没有按照
需要的原则去减少多边形,而且不能活动。”第九城市游戏研发部美术创意总监王冽认为一方面可以看出学员的美术基础不扎实,例如对于构图没有很好的重视,材质、质感没有考虑视觉的审美;另一方面技术不够纯熟,例如贴图过于业余,而且出现了重复纹理和贴图拉伸这些游戏场景制作的大忌。他说:“老师应该教会学生正确的方法和开发他们的美术修养,不能单一强调造型或材质。况且这两点从作品来看做得也很不专业。”问及如果拿这样的作品来应聘的话,录取的几率有多大,王冽摇摇头说:“几乎没有可能。”
游戏公司的招聘标准是什么?盛锦游戏研发公司副总经理姚晓光对说:“我们对美术人员的招聘条件主要是美感和美术基本功,Photoshop、3DSMAX这些软件仅仅是辅助工具,软件的使用学习只要1个月,美术功底的培养却要10年时间。对策划人员的招聘条件是有良好的心态和对事物的认知,以及资源收集整理和领悟、学习的能力,而不是拿出自己的一套策划案和‘伟大 想法的人。程序人员的招聘条件是对数值敏感,有逻辑思维能力和算法基础,语言的熟练使用只是基础。”
花了半年时间、1万5千元学费,最后只是学到一些皮毛,这样的结果是学员们所没有想到的,他们曾对游戏学院“180天成就游戏设计与开发高手”的口号深信不疑。
入学:全民大炼钢
“180天成就游戏设计与开发高手”,这是游戏学院最具煽动性的广告语之一。去年12月《北京现代商报》的一篇报道中,汇众益智总裁李新科提出了“游戏人才培养的四大误区”,称:“游戏产业是一个新兴行业,因此在许多人眼里从事这项工作必须是大学本科以上学历才能站住脚,才有好的发展空间。想进入游戏行业的高中、职专或中专学历游戏爱好者因此望而却步,甚至一些大专生也自认为学历低,不能胜任
与设计工作。他认为低学历同样可以胜任游戏工作。
在4月4日《新京报》上刊登的游戏学院的招生广告中写着:“招生对象:喜爱游戏并想在游戏业发展的有志之士”,游戏学院主页的“入学条件”中写着:“喜爱游戏行业,熟悉
及互联网,对游戏行业有足够的激情与热情,致力投身中国民族游戏产业发展事业”,并未提及任何学历或基础上的要求。游戏学院所招收的学员,大多也都是没有任何基础或经验的,无论在编程、美术还是策划方面,其中还有一些高中生,在调查过程中甚至了解到有一位年仅15岁的初中生。游戏学院很清楚这一事实,他们曾对学生做过一次调查,结果显示学生的学历和基础普遍很差,大多都是职高、中专,大专也只占1/3左右。一位大一辍学后就读游戏学院的学生对说:“我一开始担心自己大一刚读完,不知道有没有资格上这个课。他们的咨询师说你过来我们面谈,面谈的时候他告诉我绝对没有问题,只要自己愿意学。”
游戏学院宣称入学时会有一个“涵盖几何、代数、逻辑推理、英语语法的类似于IQ(智商)测试题”的测试,据一位老师透露,测试的20多道题目大多是从网上找的一些简单的IQ题,“都很简单,例如给出1、3、5三个数字,让你写出第四个数字应该是什么。除此之外没有任何考察。就算你测试通不过也还是可以上,关键是你能不能交钱,能交钱就没问题。”
汇众益智副总裁宋健承认学院对入学门槛放得很低,他解释说:“这主要是出于市场的考虑,当时我们还在市场启动期,是市场在挑选我们,我们没法选择市场,而且对市场也没感觉,不知道什么人会来学。现在知道来学的大部分都是学历不高、只会玩游戏的,对
非常不了解。好在市场做大了,我们可以反过来挑选市场。”
降低入学门槛对于游戏学院经济利益上的好处显而易见,对于就学者的危害也同样明显。一位
总监说:“高中生也可以做游戏的说法纯粹是信口开河,
是一个技术含量很高的工作。做程序的要有编程基础,做美术的要有美术基础,培训所能做的是在这些基础上进行拔高,让学员更快地适应游戏公司的需要,而不是跳过这个基础,除非你是天才。游戏学院的这种做法就像当年大跃进时候的全民炼钢,钢没炼成,锅也砸掉了。”
据了解,一般游戏公司在公开招聘中,要求程序和策划至少在本科以上,美术要求稍低,但必须是艺术设计相关专业。三名北京学员在参加了游戏公司的公开招聘会后失望地对说:“去了才发现,我们在那些公开招聘会中没有任何机会。我们都不好意思对别人说自己是游戏学院的。”
今天游戏学院这批毕业学员所面临的窘境,无疑是对李新科“低学历也能做游戏”这一言论的极大讽刺。
课程:一周学会C语言?
李新科提出的游戏培训的误区之二是“职业培训周期越长越好”,他认为:“职业培训要求就是人才的快速成长,这是一项技能的强化培训,不是学校的素质教育。游戏学院项目针对职业培训的特点,经过多方专家论证与研讨,科学地制定出了6—8个月的职业
体系。”游戏学院在宣传中称其2005新版课程体系是与“国际
教育联合会合作推出,国内市场上率先推出的系统化游戏专业培训体系,避免了某些培训机构的单一课程使学员与游戏企业实际要求相脱节的问题。”
事实上,课程体系恰恰是游戏学院最受诟病的地方。游戏学院的课程主要包括“游戏架构设计与策划”、“3D游戏设计”、“手机
”和“网络游戏设计与开发”四门,张翔告诉“策划学了3个星期,美术学了1个多月,手机游戏编程学了1个半月,网游编程学了1个多月。这些东西我以前从来没接触过,这么短的时间能学到什么?”
对于这种“大而全”的课程体系,无论学生还是游戏公司均表示不可理解。来自杭州的学员汪萧只在游戏学院上了半天课,就决定退学。他对说:“报名的时候我就感觉课程的安排很不合理,我们是来学美术的,却让我们学策划、程序。美术方面也只是教3D软件的应用,不教我们基础的手绘功底。问他们,他们的回答是:‘你最终的目标肯定是想自己当老板,多懂点东西对你们有好处,手绘这种东西,以后到公司里就能学到了。 ”
者协会的一位负责人认为:“所有东西都混在一起,这样的课程设计完全背离了
的规律。虽然在游戏制作中,策划、美术、程序三方面是需要沟通的,但以平均的精力去学习这三个领域根本没有必要,也不可能。”游戏学院的老师也觉得这很荒唐:“新的课程体系还加入了游戏运营的课程,半年时间想教出技术也懂、运营也会的全才,根本就是不可能的嘛。”
为什么要采用这样的课程体系?宋健解释说:“我们当初仔细思考过,是分开教还是一起教?我们担心教美术会变成3DSMAX软件的培训,教程序会变成
语言的培训。如果只学其中一部分,学生脑子里所有的东西都是分立的,知道怎么做,但不知道为什么要这么做,这样学生出来后还是没有整体的观念。至于手绘等基础的东西需要长时间的积累,不适合短期培训。我们只能在面上做文章,给学生那些教得比较快的东西。”他表示,未来游戏学院还是会坚持现有的课程体系,不会把不同的课程独立出来。
游戏学院的这一初衷并未见效,据学生反映,美术的教程实际上还是3DSMAX的使用教程,程序的教程最初确实是从游戏编程切入,但由于绝大部分学生都没有任何编程基础,老师还是不得不从最基础的C语言开始讲,而C语言的教授,只用了一周时间。
“说白了,他们之所以把这四门课放在一起学,不是考虑实际的学习效果,而是为了让自己的课程在宣传上更有卖点。拆开的话,美术培训做不过专业的3D软件培训班,程序培训做不过其它的
班,拿什么去吸引学生?我们接触的报名者,特别是家长,很多都以为
是一个工作,并不知道里面有不同的分工。对报名者来说花同样的钱学更多的东西,听上去当然很划算。”一位老师告诉。
师资:老师不如学生
“老师的授课水平直接影响以后我们学习的实际成绩和经验,在介绍老师的时候,我们都没有意识到他们已经给我们布置好了一个美丽的陷阱,我们也在毫不知情的情况下一步一步陷落进去。”王新宇回忆说。
在游戏学院的宣传中,对自己的师资力量是这样描述的:“专家型师资:全部教师均具有多年游戏经验,并持有产业部民子教育中心及香港职业训练局高级培训师资格***。”事实却与此有很大的出入。目前游戏学院共有140多名老师,其中北京总部70多名,据游戏学院的一位老师透露:“学院中真正有游戏业从业经验的老师不超过10%,现在的情况可能更糟。至少我所了解的刚刚拿到上岗证的第六期、第七期教师培训班中的许多人,对游戏的陌生程度让人啼笑皆非。”所谓的“高级培训师资格***”,也只是游戏学院内部发的教师上岗证而已。
游戏学院的培训课程虽然有四门,但通常只有三名老师带,策划课一般由教3D或程序的老师兼带,原因是游戏学院一位负责人认为“策划本身没什么理论高度,翻一下教材就可以直接来上了。”王新宇是上海游戏学院的第二期学员,据他介绍,策划理论课的老师基本上就是照本宣科,偶尔放一、两段别人制作的游戏视频;3D老师的教学态度很差,学生问的一些问题经常得不到任何回答;手机游戏老师的讲课内容大多是按照书上的案例随便做个幻灯片,行业内的经验和常识学生根本无从获知。这样的情况并非个例,在我们所了解的北京总部的培训班中,存在着同样的问题,一些老师没有游戏业从业经验,在上课过程中闹出过笑话。
据了解,游戏学院所属的45家授权机构中有七成没有自己的专业教师,其授课教师部分由学院总部派遣,部分是本地招聘后送往总部接受培训。从行业外招聘来的教师,能力、基础参差不齐,其中有少数技术能力较强的,但大部分均对游戏业了解甚少,对游戏制作更是一知半解。由于扩张过于迅速,游戏学院对教师的培训过程只是一个月的短训。一个月后,这些从未接触过游戏制作的老师就要走上讲台,摇身一变成为专业人士,为学生授课,因此,出现学生懂的比老师多、学生提的问题老师无法回答或回答错误等一系列由于教师专业能力不足而引发的问题,也就可以理解了。“最让人不可思议的是,培训这些教师的教师本身能力也有所欠缺,尤其是在专业技能上,在上面培训的教师专业能力不如在下面被培训的教师和学员,是经常发生的事情。”游戏学院的一位老师无奈地说。
游戏学院第八期教师培训即将于4月18日在北京开始,培训的时间只有短短的7天。一周的时间能学到什么?游戏学院的一位负责人解释说,组织短训的目的主要有二:一是教学思路和技巧上的培训,偏重于教学能力而非专业知识;二是就业资源的互通,“比如这边有游戏公司在招人,但没有毕业生,我们就可以调配”。
宋健承认游戏学院在师资力量方面存在问题,他说:“我们也觉得老师的问题特别多,现在可能有1/3的老师有从业经验。最初我们想招收有2、3年游戏公司工作经验的人当老师,最后发现很难挖动这些人,后来就采用内部培训的办法。我们现在也在替换教师队伍,引入淘汰机制,让有经验的替换没有经验的。”
宋健介绍说,在教师的招收环节上,游戏学院现在采用了内部推荐的制度,推荐一名老师进来可以获得高额奖励。一位被推荐者告诉“他们通过很多道手找到了我,说是课本和授课大纲都是现成的,每个月给我7000到9000元的工资。反正这事听起来没什么难度,当时给我的感觉就是去那儿扯淡。”
教材:拼凑的东西
“这套教材其实是一个东拼西凑的东西,这里抄点,那里凑点,很多东西都是一笔带过。我上课的时候,教材基本上是抛开的,根本没法用。”游戏学院的一位老师说。
游戏学院的教材前后共有两套,即2004版和2005新版,第一套教材8本,第二套教材9本。由于未申请版号,虽然是以书籍的形式发给学员,但教材本身并不能销售。教材的费用不包括在1.52万元的学费中,学员需要单独交付数百元的教材费。汪萧在拿到教材后坚定了退学的决心,他说:“3D
的教材中讲解的都是非常肤浅的入门知识,那些例子很多都是从‘火星人 那些专业书籍上抄来的。”
这究竟是一套怎样的教材?翻开2004版第一门课《游戏架构设计专业教程——案例与分析》的案例教材,发现书中的《游戏史上30位最有影响力的人》、《游戏引擎演化史》、《网络游戏发展史》、《中国PC游戏产业20年回顾》等50多页的章节完全照搬自本刊的文章,其余大部分文字也都来自网上的资料或是其它书籍。其它几本教材同样是问题多多,例如3D游戏设计的教材中,很多地方只给出了某个命令和命令的效果图,中间的操作过程被省略。编程方面的案例教材整本书都是代码,极少有解释性文字,对于毫无编程基础的学生来说如同天书。
2005新版教材在原教材的基础上作了改进,但仍存在不少错误。一位老师说:“以我相对熟悉的游戏策划和运营两本教材为例,教材中的内容错位及概念冲突随处可见。例如游戏制作业中明确区分的游戏背景、游戏世界观和人机互动,在教材中被笼统地定义为游戏故事;而运营课程的教材中甚至没有明确讲解运营商与渠道商的区别,教材内容的不准确性和概念冲突由此可见一斑。”
这两套教材是怎么编写出来的?游戏学院对外宣称是“从香港职业训练局引进教学大纲,吸收美国、韩国、日本等游戏公司的实战经验融入教材,加以本土化的改造。”事实又是怎样的呢?宋健介绍说,第一套教材的8本书全部是由他们两、三个人编写的,今年3月的第二版教材是召集了一些内部的老师做的。他说:“我一开始也很疑惑,究竟能不能做?该怎么做?后来我发现99%都是有标准可循的,比如写故事结构,电影学院早就有现成的东西,程序也可以在外面找到很多相关的内容,美术方面更是满大街都是Photoshop、3DSMAX的教材,只是没人去总结而已。所以说99%的内容都是可以程序化的,只有1%需要靠创意。这样一来心里就踏实了,觉得可以做。我们把这些东西先攒起来,慢慢根据学员的反应和教学的情况再去更新。”
游戏工委的一位人士称,游戏培训行业的资本投入不会少,因为“国际上一份好的教程,版权费就要花400万美元每年。”事实上,游戏学院在教材上所花费的成本极为低廉,教师也大多为内部培训,其暴利程度可想而知。
游戏学院现有2000多名学员,每名学员的学费按1.5万元计算,共有3000多万的收入。根据30%的分成比例,汇众益智可从中获得1000多万元的收入,另有近千万元的加盟费。算完这笔帐后,刘明浩困惑地对说:“第一桶金他们也已经挖到了,为什么不拿这笔钱来好好做些事情呢?比如买些好教材,找些好老师。”
招生:60万的诱惑
“喜欢玩游戏吗?对目前的工作不满意吗?想立志进入游戏设计开发行业吗?想要高薪职位吗?如果这些问题中有两个以上回答‘是 ,可以到游戏学院来镀镀金。”游戏学院的一篇宣传稿中写道。
除“快速成材”外,“高薪就业”是游戏学院对外宣传中的另一大卖点。在采访过程中,许多学员坦承自己当初是为了就业才参加游戏学院的培训。一位毕业学员告诉“我上这个培训班的目的首先是保证就业,它最吸引人的两句话就是‘60万人才缺口 和‘8000元月薪 ,还说自己同许多游戏企业都有密切的合作关系。去咨询的时候他们也承诺一定能就业,而且毕业后工资不会低于3000元。”
上海游戏学院的负责人承认确实有咨询师给了学生这样的承诺,他解释说:“有些咨询师不了解游戏行业,对学生乱承诺,比如保证就业什么的。现在我们已经规定所有咨询师必须在招生的时候签上自己的名字,今后出了问题就直接找这个咨询师。”
事实上,这幅美好的就业前景并非某几个咨询师自己想象出来的。在游戏学院早期的宣传资料中,随处可见“60万人才缺口”、“8000元月薪”这些夸大的数字,“游戏学院‘钱 途无量”、“进入游戏行业赢得‘金领 人生”之类的煽动性标题频频见于各个媒体。
本刊去年10期的《中国游戏教育现状透视》一文已对“60万人才缺口”、“8000元月薪”两个数字作过批驳。文中指出,拥有 100 亿美元市场规模的美国游戏业,其研发公司的从业人数不过 2.5 万人,其中还包括行政人员、市场人员与公关人员。更何况中国的游戏市场一直被国外游戏所主导,国产游戏所占的份额几乎可以忽略不计,对国内研发人才的需求实际并不大。
那么,中国
业的人才缺口究竟有多少?一位业内人士在调查报告中写道:“以2004年度游戏产业报告数据显示,目前国内独立的网络
企业有65家,如果计入运营商旗下的开发团队,则有104个,专门面向于单机
团队则因为数量较少,可以忽略不计。这些
企业中,有大型开发机构和中小型开发机构之分,大型的开发机构人数多的有数百人,小型的开发机构从业者可能只有十余人。综合去看,以最好的发展前景来评估,在未来的一、两年内,游戏制作行业的人才需求也只有三千人左右,除去各种类型的人才引入,如专业美术人才和3D人才,真正能够给游戏制作教育的人才缺口可能只有上面数字的五分之一左右。而即使是这个数字,也要面临来自各种游戏培训机构的竞争和分割,留给游戏学院的份额,着实有限。”
游戏学院负责人承认“60万人才缺口”的宣传与实际情况有较大的偏差,他解释说:“最初我们对游戏行业不懂,所以就根据其它行业的情况作了一下推测,得出了60万的数字。”
在前几个班的就业已经出现严重问题的情况下,游戏学院仍然在大力宣传“高薪就业”,以吸引更多的生源。在游戏学院新版的广告手册中,“中国游戏专业人才的缺口高达60万”的字样依然存在。一位学生气愤地说道:“在我们学习的这段时间,他们的广告做得越来越夸张。什么7000余家手机、网络
及增值服务商,每年接受实习就业,什么和盛大、金山、天晴保持良好的合作关系,还有最近搞的什么游戏工厂。如果这些都是真的话,为什么我们的实习就业还这么难呢?”
问及最初为什么会认为游戏学院很正规,这位学员回答说:“因为它的广告。我是在上看到它的广告和新闻,我觉得很权威,它推荐的东西即便有水分,也不会假得太离谱。”
在游戏学院主页的“媒体关注”栏目中,我们看到既有发自网络媒体的新闻,也有发自大众平媒的文章,既有财经媒体的报道,也有IT媒体的撰文,各地方媒体的稿件更是数不胜数,甚至中央教育电视台也播放过游戏学院的广告。这些报道大多均直接引用游戏学院提供的宣传材料,不少内容严重失实。据某地游戏学院一位负责人透露,游戏学院目前的主要开销并不在教学而是在宣传上,自去年9月到今年3月的半年时间,游戏学院共花费了1400万元在媒体宣传上。
应该反思的或许不仅仅是游戏学院,还有这些媒体。或是因为对游戏培训不了解,或是由于某种经济利益上的关联,一些媒体失去了判断力,在游戏学院的造势中起着推波助澜的作用,间接成为了游戏学院的“帮凶”。
游戏学院的一位市场人员对说:“我担心这样的局面会控制不住,感觉像是上了一辆失控的列车,停不下来。这么疯狂的舆论宣传,需要有人出来泼泼冷水。”
权威:皇帝的新装
除了描绘虚假的就业前景外,游戏学院招生宣传的另一方法是拉拢权威。一名学员告诉“当初来游戏学院,有一个很重要的原因是相信国家的权威性,产业部支持的应该不会有假。”在对外的宣传中,游戏学院一直称自己是由产业部电子教育中心、香港职业训练局和北京汇众益智科技有限公司联合推出的游戏专业人才培训项目。
根据官方的介绍,产业部电子教育中心咨询有限公司、厦门市御风行数码科技有限公司、福州天晴数码有限公司、上海摩帆数码科技有限公司、上海深尔科科技有限公司等国内知名游戏厂商”。游戏学院公关策划部总监李玉英告诉,像金山这样的合作伙伴,国内还有大大小小40多家,其主要的合作内容是“游戏人才培养合作”。
双方的合作方式实际是怎样的?采访金山市场总监刘阳,得到的答复是:“我们与游戏学院之间是一种简单的、浅层次的合作,我们没有对他们的学员做任何承诺。包分配根本不可能,但如果你有好的学员,我们当然来者不拒。”据了解,金山等公司与游戏学院之间并不存在什么定向培训,只是对其学员拥有优先挑选权。一位老师说:“这样的合作对于游戏公司来说没什么损失,如果你真的能培养出人才,我干嘛不要呢?如果培养不出来,我当然也不会接收。”
在就业过程中,与游戏厂商之间的关系能起到多大的作用?中韩游戏教育基地的负责人认为很小,他说:“只要学生的成绩好,推荐就业是件水到渠成的事情,不过关的学生再怎么样厂商也不会要的。游戏公司是商家,要从自己的利益、成本考虑,即便来实习,需要场地、需要有人来带、需要实习津贴,这些都是成本。正规点的游戏公司绝对不会因为和你个人关系很熟,所以就一定用你的学生。我们和东星的总经理关系很好,但我们的学生他们也只要了一个,因为东星的美术水准很高,他们做外包,客户的要求非常严格。我们把学生推荐过去实习,他们的把关很严,虽然只是实习,而且工资也不高,还是要通过三道考试。一般的公司也会有顾虑,毕竟可能会降低整个团队的效率,分散其他员工的精力。”
一位毕业学员告诉,就业部的老师对他说,游戏学院现在的就业策略是“让一部分人先富起来”,意思是让一部分学员先就业,再争取通过这些已经进入游戏公司的人的关系,把后面的学员带进去。
游戏工厂:最后的退路
问及对于未就业学员的补救措施,上海游戏学院的负责人回答说:“主要有两个:一是扩大就业途径,二是帮他们补课。”
据了解,上海第一期约有10多名学员参加了校方组织的免费补课,断断续续已经进行了半个月,但由于教学质量没有提高,补课收效甚微。至于扩大就业途径,尽管这位负责人表示不会跳出游戏圈以外,但据一位学员透露,游戏学院帮班上的一位同学找了两条后路,都和游戏没有丝毫关系,一是打印机代理公司的文秘工作,二是软件公司的售后***。
游戏学院在就业方面祭出的最后一件法宝是“游戏工厂”。知情者称,这主要是迫于就业的压力而采取的措施,“他们没有办法安排学生进游戏公司实习,就整了一个游戏工厂出来,把没着落的学生放到那儿去。但问题还是没有解决,在那边实习是可以的,就业是不可能的。”
根据官方的宣传,“大连游戏工厂是游戏学院为主要投资方的国内
的重要基地之一,主要从事包括游戏引擎、游戏产品库、游戏连续剧等等多种游戏相关产品的研究与开发工作。同时,为希望从事游戏行业的人士提供学员培训、学历指导、就业推荐、创业扶持等***服务体系。”宋健介绍说,大连游戏工厂对于学员的实际意义有二:一是让那些学习不太好、单位没有着落的学员过去再培训;二是让有创业想法的学员尝试创业的感觉:“相当于一个孵化器,只不过我们不是科技园孵化公司,而是在公司内部孵化小组,层次更低一些。”在游戏学院的构想中,企业也可以带项目进入游戏工厂,或是承接美术、手机游戏等方面的外包项目。
宋健承认,大连游戏工厂现在只是有一块比较大的场地,软、硬件各方面的设施还在筹备,里面还没有企业,没有任何外包项目,报名的学生也只有7、8个。一位去过游戏工厂的学员对说,那儿只有一楼的办公室置办了设施,学员实习的地方只有几张桌子和满地的灰尘。而官方的宣传却称,游戏工厂“占地面积2618.96平方米,可容纳千人以上同时进行学习和实习。教学和实习设备,具备一流的软硬件环境,并有国内具有相当
工程师进行培训和指导。”宋健表示,游戏学院会在今年年底之前把大连游戏工厂的模式推广到北京、上海、成都等地。
令人费解的是,参加游戏工厂3个月实习的学员每人还要交4500元的实习费用和住宿费用。今年4月1日起实施的《上海市企业工资支付办法》对实习期间的工资支付问题有明确规定:“劳动者与用人单位形成劳动关系后,在试用、实习期期间提供了正常劳动,用人单位支付的工资不得低于本市规定的最低工资标准。”与工作单位建立劳动关系的实习人员在实习期间理应获得报酬,而去大连游戏工厂实习的学生不但没有津贴,反而要自己掏钱。这是为什么?宋健解释说:“这主要是出于成本的考虑,我们指导人员的成本、基础设施和硬件的成本、学生的食宿费,都得考虑进去。如果我们接到外包的项目,会给实习学员一定的报酬;但如果是为了提高学员水平而开展的没有商业目的的项目,这些成本得由学生自己承担。”
加盟:圈笔钱就跑
游戏学院之所以能在短短的半年时间内,发展到2000多名学员的规模,一是因为看准了游戏培训这块市场的巨大潜力,二是不惜重金联合媒体制造宣传攻势,另一重要原因是它拥有一套非常成熟的学员链结构。从媒体宣传到综合咨询、免费讲座,这套学员链体系基本沿用了李新科四年前所倡导的北大青鸟ACCP的体系,游戏学院现有40多家授权培训机构中也有部分北大青鸟ACCP的授权机构,例如上海的威迅教育。这些培训机构在ACCP的项目中尝到甜头,对游戏学院的项目也很信任。据了解,游戏学院对外报的加盟费是40万元人民币,此外授权机构还要交给汇众益智30%的分成,课程体系、教师、市场的支持由汇众益智提供。
游戏学院授权机构的一位负责人认为授权模式的优势在于能够最大限度地利用总部和全国各地的教学资源,就业方面也可以形成合力;弊端在于当发展速度超过管理的提高速度的时候,就会出现危机。“加盟的点多了,总部的支持力度肯定会减弱,不可能很好地兼顾授权机构。北京总部百十号人,全国50个点,怎么支持?而且北京来的人,也不熟悉各地的情况。”
一位熟悉授权培训模式的人士指出,对于师资力量极为薄弱的游戏培训市场来说,采用授权模式的目的只可能有一个:追逐短期利益,圈笔钱就跑。中韩教育基地的负责人认为:“一般的软件培训可以搞授权模式,因为你可以找到充足的教学资源。游戏培训不能这么做。我们每个星期都会接到***问我们做不做加盟,他们想做我们的授权培训点,每次我都会斩钉截铁地拒绝。因为我们现在还没有这样的实力,国内也没有哪家培训机构有这样的实力去做授权。即便只是在上海开两个班,你能保证有这么多好的讲师吗?我们现在的管理是小班管理,每个学生的情况、擅长什么、缺点是什么,适合哪个公司、哪个岗位,我们都非常了解。授权后你怎么去做学生管理?”
各地授权机构的处境也并不好过,一旦游戏学院出现任何问题,加盟者同样会成为受害者。上海游戏学院的负责人告诉“我们最担心的是总部给我们的是一个畸形的产品。不管资金还是推广,我们都能找到解决办法,但如果你给我的产品本身是不成熟的,我该怎么办?北京总部最初做这个项目的时候其实不太成熟,所以我现在也很担心管理和教学质量没法跟上,更担心学生的就业问题。”
对于目前这种局面,他表示自己无能为力:“我也是夹在中间,既要对老板负责,又要对学生负责,每个学生后面都是一个家庭。作为一个企业,老板的思路肯定是希望利润最大化。但教育是一个特殊的领域,需要更多地考虑社会效益。”
宋健则认为问题主要出在各地的授权机构身上,他说:“所有的授权都存在这个问题,授权你是和别人合作,虽然你规定了自己的品牌,但执行的不是你,控制力度较差,随意性比较大。”他表示最近会清退几家授权培训机构,因为这些机构“没有服务意识,对我们的品牌是一种伤害”。
据游戏学院负责人称,2005年游戏学院的学员人数(不包括与部分高校置换课程的学生)将从现有的2000多人扩张至1万至1.5万人。这其中,不知道又会出现多少个张翔、刘明浩和王新宇。
李新科在2003年年初称:“我们拥有一支强大的市场推广团队和成熟的媒体运作手法,专门找新的、有前景的热门项目做。”他认为游戏培训是一个很有前景的项目,至少会有两年左右的生命周期。以现在的市场状况来看,李新科的判断无疑很具前瞻性。
对于游戏学院的经营者来说,游戏培训只是一个生命周期在两年左右的项目,判断其成功与否的标准在于利润的高低。但对于上万名学员来说,他们的未来该由谁负责?
一位业内人士痛心地说:“我最担心的是,这些曾经抱有美好梦想的学生在走出游戏学院的大门后,失去的不仅仅是对游戏学院的信心,更是对整个游戏培训乃至游戏行业的信心。”
相关热词搜索:
经验交流
考试试题
-- 本站部分信息来源于互联网,不代表本站观点或立场,如有侵权,请来电告知,我们将及时处理— 对于游戏编程 是侧重 C语言||C++语言 ?
原帖地址:
主题:对于游戏编程 是侧重 C语言||C++语言 ?
作者: 发表时间:2005-7-8 22:28:00
楼主 小弟的梦想就是能自己编一个游戏(因为仙剑)!
我从多方面了解 游戏编程大多部分都是用C++编的!
而学C++要先学C语言 然后再学习C++ 说是有帮助!问明白人告诉我说 C和C++ 有很大区别,C学多了 在学C++会狠郁闷!
小弟这就闹不明白了 到底C语言是学到什么程度 ,才能继续学C++ ?还是2手都要抓,2手都要硬?
小弟现在学C语言已经学了一半了,只停留再能看懂别人代码的阶段(聪明代码出外,那东西没个懂),是应该仔细钻研一番还是继续学习C++语言呢?
各位大大 给我这个迷途羔羊来点指点吧!!! 作者: 发表时间:2005-7-9 1:26:00
楼 我觉得应该学C++ 作者: 发表时间:2005-7-9 16:09:00
楼 再多给点意见呀!! 作者: 发表时间:2005-7-20 12:51:00
楼 c 作者: 发表时间:2005-7-26 13:51:00
楼 vc是很重要的,他是基础。没有他你学vc++就会很费劲。
你现在的程度只是刚刚入门,还是再继续学学vc吧
要耐心,要靠每天的积累。其实做一件自己想做的事情要付出很多的东西的。
有时很累,但一定要坚持下去。
等你自己能编写小程序时,再学vc++不迟 作者: 发表时间:2005-8-25 22:33:00
楼 虽然我已经学C++很久了,但是现在很少用C++写程序,可能是因为直到现在我都没有作大程序的打算吧! 作者: 发表时间:2005-8-26 2:06:00
楼 C语言,C++语言很慢! 作者: 发表时间:2005-10-4 3:50:00
楼 c 和C++是有区别的,并且区别很大.建议买一书《the C++ programming language》看看吧,这个绝对好书,经典。VC做东西,无拘无束,并且没有C语言代码多而乱,条理性差的毛病。强烈学C++ 作者: 发表时间:2005-10-4 3:51:00
楼 你不会一辈子打算编个‘连连看’类的小游戏吧。要是真那样的话,你就学C吧。 作者: 发表时间:2005-10-11 12:40:00
楼 C是一个好东西!!
本人正在学习! 作者: 发表时间:2005-10-16 14:26:00
楼 我觉的用VISUAL C++先编写一些简单的,多看一下实用编程类的书,编一些小游戏还是会很快学会的! 作者: 发表时间:2005-10-20 20:31:00
楼 我知道你们这里都是高手,我想请你们帮我破一个游戏,很简单的,QQ游戏新地主防止自动开始的,我愿意出 50元人民币买。有会的加我QQ 320000076 谢谢大家了假如我卖出去了。还可以多给你们50元到100元,谢谢你们帮帮我呀!! 作者: 发表时间:2005-10-22 16:54:00
楼 我觉得直接学c++是完全没有问题的
还有学过了c之后再转c++绝对不会有什么的大困难,两种程序是相通的 作者: 发表时间:2005-10-23 10:38:00
楼 先学习c语言,在学习c++,其实c和c++很像的;但是一个是面向过程的语言;另外一个是面向对象的。在功能方面c++要强大一点,c要快一点。
我建议你先学好c语言再说。一定要精通!~ 作者: 发表时间:2005-10-23 18:10:00
楼 现在本人正在学习vc,c++是在c的基础上开发出来的,建议先把c学好再学c++吧。 作者: 发表时间:2005-10-23 19:11:00
楼 我觉得C++比较好,因为面向对象的思想很适合用来做游戏. 作者: 发表时间:2005-10-25 10:20:00
楼 C搞懂基础的就好了,,尽量早点学C++,C学的太深,以后学C++就很难改变编程思想来适应C++了 作者: 发表时间:2005-10-28 16:59:00
楼 刚学习C语言时会有很多接受不了的地方但要坚持,一步一步的来,真心努力的话VC入门只需要三个月就OK了,我的QQ是592168103也是同行,有趣请加吧 作者: 发表时间:2005-11-8 3:14:00
楼 本人新来报到..
以我自己的看法:你先去各大游戏商的网页看一下他们的招聘条件(比如盛大之类的)
然后就向着他们所需要的条件学习..
本人也是对编程一窍不通,但正向编程进军..
以上是个人见解,说错了..请各位谅解.. 作者: 发表时间:2005-11-11 12:46:00
楼 努力+坚持
对算法的积累+基础的牢固
学c重基础 学c++重算法 作者: 发表时间:2005-11-14 19:17:00
楼 C/C++是王道 作者: 发表时间:2005-11-30 22:07:00
楼 高见啊 作者: 发表时间:2006-11-15 23:07:00
楼 C语言+OOP(面向对象)就能开发大游戏,最好学点汇编这是运行最快的其次是C,汇编可移植接近0,难那就是也有可移植地方!C++包含面向队象! 作者: 发表时间:2006-11-16 13:45:00
楼 当然是C++啦,编WIN32的游戏,你不可能不用到DX吧,DX的头文件,全是C++写的,你不可能再把他们全变成C的再去调用吧 作者: 发表时间:2006-11-17 16:16:00
楼 C和C++并重。
因为实际上C++实现机制中有很多东西是很浪费时间的,而C是锻炼算法提炼能力的基础。
而且你如果真的很想做游戏你去看看GPU精粹里的代码是怎么写的你就知道到底C和C++应该学到什么程度了
学校里常常学C++学得特学院派,就是什么都用类描述,写一个类算实现最多才200行,这能用么。乱开类会加大编译连接时依赖的,导致组件层次不可分,还在那里犟说什么这才是C++……
关于汇编:汇编写的代码也可以移植,在VC中写就好了 作者: 发表时间:2006-11-19 20:41:00
楼 游戏编程当然是C++.
还有,从功利层面来讲,直接跳C++,不用想.
C主要是底层开发,市场回报周期长. 作者: 发表时间:2006-11-21 10:43:00
楼 两个除了思想不一样。难道有很大区别。你学会C++你回头不会C我就不相信了。但是你学会 C你不见得懂C++.我现在就是游戏公司的,当然我要承认我是先学的c.但是我觉得你完全可以直接学C++.没必要在去学C应为学C++你就已经吧C学了 作者: 发表时间:2006-11-24 15:22:00
楼 楼上的哪家?
King的? -
Copyright 1999-2011 Programfan.com. All Rights Reserved
论坛制作&am 维护:Ha ibal Email:【完】我的FLASH情结2010——浅谈FLASH WEB GAME与创业
| 148 1
【完】我的FLASH情结2010——浅谈FLASH WEB GAME与创业
寂寞火山
荣誉管理团队
认证 帖子
2568 体力
3120 威望
197 当前
上海 闸北
发表于 2010-2-18 12:17 ★终于写完了,也算对得起观众,对得起自己吧,心中一块儿石头落地了。
★目录:
→我的FLASH WEB GAME开发历程
→当今FLASH WEB GAME概述
→创业型游戏公司面临的问题和困难
→FLASH WEB GAME的系统架构
→FLASH WEB GAME的前端架构与人事分工
→前端与美术的配合
→前端与后端的配合
→公司文化与产品定位
→2010年:我的梦想扬帆起航
======================================正文========================================
★我的FLASH WEB GAME开发历程
→2007年的夏天,顶着炎炎烈日,我从学校直接跑到上海,开始了我的FLASH WEB GAME创业之旅。时至今日,转眼快三年了。作为国内比较早的一批FLASH WEB GAME开发人员,今天我粗略的总结一下这两年多的经验和心得。讲的不对的地方,请大家多多指教。
→2007年刚到上海的时候,初创团队只有四个人,一个CTO,一个美术,一个后台,一个前台。手里的产品是一个已经在台湾运行三年左右的FLASH社区,和国内的梦境非常像。这个产品还是不错的,早在FLASH5就在开发出来了,FLASH6出来后,又用新版本的AS1重写过。这个产品让我又爱又恨,爱的是,在2007年的时候,国内除了梦境和1D真的很少有能赶上它的;恨的是,这个产品竟然没有前端源码!要想修改还要破解!玩过AS1,在时间轴、MC和BTN上写过代码的朋友应该知道这是什么概念——1个字:囧!
→后来老板可能也觉得这样改下去不是办法,终于同意自己重写一个。正好07年有条新闻很火爆:国外有个FLASH社区第一次利用FLASH技术取得了重大成功,以7亿美金卖给迪斯尼,它就是“企鹅俱乐部”。老板看到了商机,我们决定做一个中国版的企鹅,于是“海底世界”应运而生了。而“海底世界”的创意,只不过是我们四个初创成员在闲聊时,我开玩笑随便说的。
→海底世界正式开发到现在差不多正好两年,期间我们碰到无数的问题和困难,不管是公司层面或技术层面,都是如此,但始终是坚持了下来。产品一天天完善,公司规模也一天天扩大。前端从最开始的两个人,到现在5个人;后端从最开始的FMS+PHP到现在自己写的socket服务器;公司规模也从最开始的4个人,到现在的50多个人。
★当今FLASH WEB GAME概述
→2007:含苞欲放!
2007年可以说是FLASH WEB GAME发展史上的分水岭。2007年之前,我们眼里只有梦境,最多再加上昙花一现的抱抱城,那时候根本没有“FLASH WEB GAME”这个概念,大家谈的都是“FLASH社区”,“FLASH社区”这个词在很长一段时间代表着FLASH应用领域的至高点。也许2007年已经有不少团队开始研发FLASH的MMORPG了,我曾经有幸知道几个,但很可惜,不少都胎死腹中,2007年国内在线上运营的FLASH WEB GAME基本上还是空白。但不管怎么说,我相信2007年是蓄势待发的一年,肯定有很多类似我们公司的团队,在默默的努力着。
→2008年:雨后春笋!
经过2007年的积累和准备,FLASH WEB GAME业界的战斗终于在2008年打响,以“摩尔庄园”,“海底世界”为代表的“FLASH儿童虚拟社区”开始崭露头角;以“纵横天下”为代表的FLASH策略类游戏兴起;以“昆仑”为代表的FLASH MMORPG让“无端网游”的概念又炒了起来。还有各种基于FLASH的卡牌对战类,联机棋牌类,模拟经营类游戏等等,都如雨后春笋般破土而出。
→2009年:百花齐放!
2008年,国内虽然一下出了很多FLASH WEB GAME,但大家只要认真收集,总归还是能数的过来,可到了2009年,几乎每隔一个月,都会有几个新的FLASH WEB GAME进入大家视野,而且他们越来越完善,功能越来越强大,盈利模式也开始成熟并多样化。2007年每出一个FLASH WEB GAME,我都会为之兴奋,并很有兴趣的去研究它。而到了2009年末的时候,FLASH WEB GAME已经多到我连体验的兴趣都没了,我已经彻底搞不清楚国内到底有多少个FLASH WEB GAME在运营。而伴随着SNS行业的成熟,基于SNS的Social game进一步扩大和模糊着FLASH WEB GAME的概念。FLASH在游戏领域里的应用,在经历了“社区”、“策略类”、“MMORPG”后,发展到今天创意无限,精彩纷呈的“Social game”,已经很难用一个词,根据游戏类型概括所有的FLASH应用了。所以我觉得“FLASH WEB GAME”,也就是“FLASH网页游戏”这个词还是相对最恰当的,这也是我前面一直使用这个词的原因。
→2010年 – 2011年:胜者为王!
就像春秋战国时期,在经历过“百家争鸣”后,必然是“天下一统”。随着游戏巨头和互联网大亨对网页游戏的逐渐重视,以及政府的介入,还有最早领跑某些领域的创业公司不断壮大,相信在不久的将来,网页游戏领域也会出现几个真正的领袖。别的领域不敢说,在我们儿童市场这块儿,淘米公司已经逐渐呈现一家独大的趋势,不信的话,你可以随便找几个小学生问问,比如你父母辈亲戚朋友的孩子,问他们是否知道摩尔庄园和赛尔号,是否充值了,相信你会得到非常惊讶的***。所以,2010年后,任何小作坊型的创业团队再想进入FLASH WEB GAME行业,都需要更加谨慎了!
★创业型游戏公司面临的问题和困难
→在正式进入FLASH WEB GAME的技术探讨前,我左思右想,还是觉得必须先说一下创业公司存在的问题和困难,为后面可能不太“正规”的做法找一个合适的“理由”。——人不能太爱找客观理由,但也绝对不能为了避免“找理由”之嫌,而弃客观现实于不顾,毛爷爷曾告诫我们要懂得“实事求是”。
→任何有过创业经验的技术团队和公司应该都知道,教科书那套从成功公司抽象出来的模式在创业初期几乎只能是神话一般的存在,相信没有几个公司能完全做到。当然那种千万级启动资金,有成功背景的新公司除外。像我们公司,一开始就4个人,前台和后台各一个人,如果我们两个都每天用一半时间考虑架构和写文档,我们的产品猴年马月也上不了线了,况且我们写了给谁看呢?在这个阶段最最重要的目标就是尽快把产品做出来,上线运营出一定效果,给产品更加明确的方向,给团队信心,然后尽最大努力去融资,以求下一阶段的发展。产品出不来,只靠一个idea和产品策划书就想找投资的时代早就一去不复返了。
→我觉得一个创业公司最现实的发展观应该是这样的:
初创阶段(技术导向型阶段)
:这个阶段要一切以“我们能做什么”为基础,在财力、人力、经验都不足的情况下,找出我们的优势,“把我们所擅长的做到最好”是我们唯一的筹码,毕竟初创人员能走到一起,必然是有一定共识,在某方面有优势的。而“我们能做什么”,在初创阶段很大程度上就是指技术能做什么。没钱、没人还想把项目做的又快又好,绝对是痴心妄想。这个阶段就开始叫嚣“市场主导产品”,“不看过程只看结果”等口号,完全是不务实的态度,市场上最热门的产品你未必能开发出来,创业阶段,前途未卜,你不看过程看什么?
发展阶段(人力导向型阶段)
:假设我们顺利度过了第一阶段,公司开始有现金流或者找到了天使投资,我们就开始布置进一步的发展了,这个阶段招人将是公司的一个要务,招有创业精神的人,更要招我们需要和缺少的人。以前我们公司只有AS,于是游戏server只能用FMS,现在应该招一个C++ socket的人了;以前公司没有网页前端,网站都是原画和PHP代劳的,现在该弥补了;以前整个游戏都是架构师们设计并实现的,现在应该招一两个做模块打下手的人了。这个阶段虽然不适合大规模扩展人手,但在要害人力点上,也绝对不能抠门,我们公司就是吃亏在socket上,公司一直不肯招一个专业写server端的,一直让前端和PHP代劳,结果游戏同时在线人数一超过5000就会出各种离奇问题,最恐怖是大家都不清楚问题到底在哪里,只能大眼瞪小眼,这个时候老板就会臭骂公司这帮技术都是饭桶,这么多人还搞不定这个问题。老板不懂技术,说出这样的话无可厚非,但老板不听劝,死活不愿意招要害人员,这就是他的错了。总之这个阶段要以人力发展为核心,尽最大的努力把必要的人手配备齐。必须注意的是,这个阶段不适合空降部门领导,公司发展阶段,只有初创人员陪公司一路走来,最明白公司的问题,以及各种问题的根源。而空降的领导容易只看到问题,不明白为什么会有问题,有时候难免说出“道理上很正确,但实际上不可行”的话,而老板为了配合新领导树立威信,很多时候不得不偏向新领导,这样以来很容易打击到初创人员的积极性。更严重的是可能让初创人员看不到前途,创业的激情沦为打工的无味。这个阶段挖墙脚空降领导,希望他们能把公司制度正规化,希望他们拯救公司的做法可能适得其反!公司初创人员这时候应该依旧是公司的顶梁柱!
成熟阶段(产品导向型阶段)
:如果有幸过了前两个阶段,到了这个阶段的时候,公司应该已经实现了正向盈利,作为一个游戏公司,一旦靠自己实现盈利,相信各种投资机构肯定会主动找上门,千万美元的投资绝对不夸张,你将会为到底接受哪家的投资而烦恼。人力、财力、物力都不再是问题,产品研发和运营的经验也成熟了,这时候唯一要关注的就是市场,什么样的产品更被市场和用户接受,争取开发出更多更好的产品。产品要多样化,公司要规模化,要形成自己的产品链和平台,抓住更多的用户,开拓更多的盈利模式。这时候才是产品主导公司,才是从大公司挖人的时代。如果这些都做到了,当老板再次开会谈“上市”的问题时,每个人脸上将会笑容依旧,只不过初创阶段的笑容是那种开玩笑试的玩世不恭,而现在则是对未来的美好憧憬。
→其实任何理论都是有前提的,牛顿定律也只是在低于光速的情况下才适用。公司发展的历程中,老板和员工肯定都会有其信仰和观念,都会用各种言辞来说服别人。但我相信没有那种理论和言辞是永远正确的,尤其是书上和大公司的那些所谓的成功经验更是要警惕,因为它们身上有太多的光环,一场本来可能很有价值的讨论,说不定就会被一句“盛大就是这么做的”给结束掉!所以在我们谈任何理论的时候,不妨看看公司现在所处的阶段,不妨时刻谨记毛爷爷的话,实事求是的看待自己。我们公司就曾屡次吃类似的亏,公司在第一阶段刚拿到天使投资,就想做第三阶段的事了,结果做了很多,一件也没做好,白白浪费了很多时间和大好机遇。其实当时老板用来说服人的理论也都是正确的,只不过不适合公司的实际发展情况而已。还有一点要强调的是,不管公司现在处于第几阶段,坚决不能全盘否定其它阶段的付出和努力以及很多不得不犯的“错误”。之所以强调这一点,也是我们公司曾踩过的雷区,当我们发展到第二阶段的时候,公司就开始忙着空降领导,然后这些领导对我们之前的做法开始逐一否定,把做后台的哥们儿说的一无是处,搞得团队气氛极不融洽,吵架红脸的情况经常发生。这就好比我党在经历了长征、抗战和解放战争的原始积累后,在最终发动三大战役攻打大城市时,指着***的鼻子说:“你以前那套只敢打农村,打的过就打,打不过就跑的逃跑主义路线完全是错误的!”试想,如果党内空降领导都是这种态度的话,将会对我们党和战士们的积极性产生多大的打击!这种情况其实在长征途中就发生过,差点就葬送了党,好在遵义会议及时纠正了苏联空降回来的王明等人的左倾激进主义,挽救了党。而我们的公司,谁来挽救我们的公司呢!
★FLASH WEB GAME的系统架构
→我在这里把一款FLASH WEB GAME的架构分为三部分:系统架构、前端架构、后端架构。“系统架构”主要是指根据一款游戏的特点以及公司的实际情况选择合适的技术实现方案,主要包括美术方案,前端方案和后端方案;“前端架构”主要指FLASH前端的主程序以及模块划分;“后端架构”主要指即时通讯部分和数据库。这章先谈系统架构。
→谈到架构,我不得不说,那些所谓的完美架构,能够一次架构好,永远不用改的说法只能是传说,或者技术人员忽悠老板的说法,对于创业公司更是如此。创业公司初创时期更多的时候需要在游泳中学会游泳,因为大家都没有经验,失败是最好的教科书。就算大家知道应该怎么做,很多时候条件也不允许。比如我们在一开始就知道应该自己写socket服务器,可就是没socket的人才,于是不得不先使用FMS+PHP。公司一开始的美术更精通FLASH一些,而且我们计划的是要做“企鹅”,于是我们选用矢量图。可后来随着公司产品定位的不断改变,我们的架构和解决方案也会不断调整,当达到一个临界点时,修改的代价已经超过重新开发,我们就不得不对架构进行“重构”了!这时候聪明的老板应该支持程序员们的意见,充分调动他们的积极性尽快改完,全公司应全力配合,尽快度过难关。而不明事理的老板肯定会每天抱怨程序员无能,搭出一个垃圾架构不能满足产品的持续快速发展,拖了产品和市场的后腿,给程序员造成很大的压力,积极性没了不说,在长期经验积累之后本来可能是一次非常好的机会能做出一个相对完美的架构,满足日后很长一段时间的需求变更,结果因为老板过分催促和施压,又烙下了许多隐患,而这些欠下的债,总有一天要还的,这一天来临之时,责任虽然可以完全由程序员承担,但整个公司都要为之付出代价!所以关键时刻程序员该坚持还是要坚持自己的观点,要尽量说服老板,程序员的社交能力在这个时候就凸显作用了,你要明白你不但是在对自己负责,也是对公司负责!另外,真的很希望天下的老板们都能明白一个道理:能够根据公司实际情况不断调整的程序员才是最可爱最辛苦的程序员,而不是那些什么都不管,上去就提一大堆要求,必须都满足他,他才愿意做的程序员。
→就算时至今日,FLASH WEB GAME在国内发展差不多三年了,但我敢说FLASH WEB GAME还是没有什么行业标准的技术解决方案,尤其是前端,大家都是自成一派。在这个时候,让我们再次搬出那句老话:不管黑猫白猫,抓住老鼠的就是好猫。不过经过这几年的摸索,还是有一些规律可循的: 1,美术:如果游戏画面简单,色彩构成相对单一,场景内总体元件能控制在100个以下,则非常适合直接使用矢量图,画面各组成部分尽量拆分为能重用的独立元件。这样虽然牺牲了客户端的CPU,但能因为重用最大化而大大减少美术的工作量,也方便他们日后应对需求变更,比如某些元件的尺寸变动。在画面简单,元件又少的情况下,利用递归全元件位图缓存,拿少量内存还能换回大量CPU,找出这个平衡点,完全可以做出很好的用户体验。 可大部分时间,我们的游戏场景可能都非常炫,画面复杂,色彩鲜艳。使用矢量图的话,一方面不容易画出想要的效果和精细度,这时候使用矢量图反而增加了美术的工作量和难度;另一方面,使用矢量图还有可能导致客户端CPU严重飙升,超出普通客户端电脑的承受范围。这时候我们应当用位图做游戏背景,重用性不大的元件要尽量合并到背景位图里,减少位图总个数,一些简单的动画如果非要用FLASH做成矢量动画的话,也要尽量做成逐帧的,相信FLASH IDE玩的转的美术同志们应该知道怎么把一个渐变动画瞬间转换成逐帧动画。逐帧动画虽然会导致SWF文件体积增大,但相对于换回来的客户端CPU来说还是值得,这其实是牺牲了一些服务器带宽和用户等待时间,换回严重的客户端CPU超载。而如果你的动画非常复杂和精细,精细到只有AE等粒子特效软件才能表达的话,建议还是直接从AE里导出位图序列,在FLASH里弄成逐帧动画,太过复杂的动画绝对不能用FLASH直接做,不但很难做出想要的效果,而且复杂矢量图的SWF文件体积也会大大超过位图,有可能导致用户因为SWF文件加载时间过长,失去等待的耐心,这时候我们情愿牺牲美术的工作量和工作流程,换回想要的效果,减小SWF文件体积。还有一点要提醒的,时间轴动画不可见时,程序一定要记得将其stop掉,不像程序动画,时间轴动画不可见时,FP内部其实依旧在重绘,对CPU还是有影响的。 还有一种极端情况是场景元件超标,比如整个游戏内所有元素(包括各种MC、BTN、位图以及程序创建的di layObject,总量超过500,这时候你会发现,画面静止还好,但只要游戏上鼠标随便一晃,或者有几个人物随便走一下路,CPU都会狂飙,就算这500个元件都是位图也无济于事。其实这是FLASH的一个瓶颈所在,是目前所有FLASH大型项目都有可能碰到的问题,也是我觉得阻碍FLASH进一步发展的主要障碍之一。在一个元件超多的背景图上进行任何的鼠标动作、动画、文本渲染,都会导致CPU严重飙升,甚至画面很卡。要解决这个问题,本质的也是唯一的方案就是减少元件数量,要想尽一切办法降到200以下。而这需要美术、前端和策划通力合作才行,绝对不是前端程序员就能搞定的事。策划要从产品的角度上看能不能简化目前场景同一时间出现的元素,美术要把能合并成一张图的元件在绘图软件中合并成一张位图,前端AS程序要把不需要响应鼠标事件的元件的mouseEnable和mouseChildren都设置成false,一些能利用copyPixels合并的位图就合并成一张,比如可以平铺创建的房间地板和墙面,要copyPixels成一张图,而不是new出好几百个元件。 其实元件超标的情况是大多数没有经验的团队很容易发生的问题,这时候前端程序员要起到领头羊的作用,给大家讲明白道理,用事实让大家信服,组织大家一起把事情做的更好,而不是一味的在那里抱怨FP效率低。因为这时候你是团队唯一可以依靠的人,如果这个问题解决不了,虽然大家都有责任,但前端毫无疑问是罪魁祸首! 极端情况下的极端解决方案:如果游戏策划的非常酷,一个子弹爆炸效果就需要几十个元件支撑,画面上同时又需要几十个坦克混战,这时候常规的解决方案是根本达不到的,但不是说就一定无法做了,你可以利用强大的BitmapData类把每帧要显示的游戏画面完全计算好并且在内存中绘制,然后以一张图的方式渲染给用户,这时候用户玩你的游戏仿佛就像在看逐帧的动画,此时FP占用的CPU大部分都是计算耗用的,而不是渲染耗用的。其实AS的执行效率远远高于屏幕渲染,你把CPU的主要负荷转移给AS,反而能做更多更炫的事情。据我的初步研究,前段时间名噪一时的FLASH版3D雷神,还有现在很多国外效率高的“有点假”的TD类和飞机类单机游戏都是这么做的。可这种模式适合用来做多人联机并且有大量交互界面的FLASH WEB GAME么?我初步思考了一下,感觉是不可能的。首先,大量的交互界面意味着需要用鼠标点击,试想在一个逐帧动画中,每帧都要响应鼠标是什么概念?所以UI部分首先排除了;然后是大量的即时数据交互,每当一个异步的请求得到响应,画面就需要做出相应的改变,这将对本来还可能比较工整的内部绘制算法制造非常大的麻烦,难度太高!基本上也不可行;最后是很多FLASH WEB GAME的画面重用性并不是很高,比如像我们游戏的每个场景都是美术专门画的,而不是用地图编辑器编辑的,这就意味着你无法完全用程序拼出一个场景来;综上我觉得一个款FLASH WEB GAME基本不可能完全使用copyPixels完成,最多是部分实现,比如我上面说的墙面和地板。除非你的游戏策划很NB,知道什么游戏能最大限度的利用copyPixels,而这样的策划估计本身肯定也是个前端程序员。 2,前端:从系统架构的角度上讲,前端其实很简单。现在WEB GAME主流的前端技术无非就是AS和JS。JS的前端地位其实比AS要老,很多人的JS经过这么长时间的磨练,功力深厚,做一个策略类甚至简单的MMORPG都没问题。但现在用AS来做的话可能更简单,更容易做出更酷的效果和更好的用户体验。所以最近两三年,随着基于面向对象的AS3逐渐完善和普及,FLASH WEB GAME似乎逐渐成了唯一的主流。
其实除了as和js外,还有很多前端技术可以供我们选择,比如shockwave,java,还有那传说中的flash killer:silverlight和html5等等。每种技术都有其优劣势,比如shockwave在图形渲染方面比flash强了千百倍啊千百倍,因为它可以完全调用显卡,我在网页上玩过一个基于shockwave的CS,流畅度和操作感完全不亚于桌面版的CS,还有国外的哈宝以及国内的娜娜米米都是基于shockwave的。而Java和silverlight也都有强大的背景,HTML5最近也是来势汹汹。但不管怎么样,2010年,FLASH仍以其广泛的覆盖率、酷炫的效果和逐渐成熟的开发社区,以最高的综合评分独领WEB GAME业界风骚。所以任何公司和团队,如果现在想做WEB GAME的话,如果实际情况允许,FLASH还是最好的选择。 3,后端:后端不是我的强项,我就不多说了,我只根据我们公司的经验谈谈心得。我同意前后端编程有很大区别,但绝不同意前后端谁简单谁复杂之说。根据我这几年的观察,我发现,前端偏重的是效果,是用户体验和细节处理,有时候可能还要涉及一些图形算法;而后端则偏重数据结构和数据处理,讲究的是性能、安全和扩展性。前端工作量一般比后端大,而后端需要的工作经验比前端多,想依靠一个只掌握了理论知识的大学毕业生就支撑一个公司的后端架构是严重不靠谱的!前端架构师必须是一个编程高手,十几、几十万行代码要在他的手里安排的井然有序,后端架构师则必须有过大型项目经验,并且项目同时在线人数达到过一定规模。前端架构出现问题,会严重拖垮开发周期,而后端架构一旦出现问题,对公司将是致命性打击。所以在公司里宣传所谓前端重要还是后端重要的说法,是完全错误的,任何一款好的产品,必将是策划、美术、前端、后端都达标的产品,缺失任何一块儿,都成功不了!不同部门之间的比较和较真儿没有任何正面影响! 至于后端的技术解决方案,我感觉如果是需要大量即时交互,并且对即时性要求很高的游戏,就必须使用socket服务器。而如果对即时性要求不高,完全可以用PHP,部分的即时交互可以用socket实现或者HTTP轮询也可以。如果你的公司也像我们一样刚开始没有合适的C或者J***A socket程序员,选择fms和sfs也未尝不可,这样至少可以让前端人员代劳,让项目可以启动。切记这只是为解燃眉之急的下下策,长久不了,公司要想办法尽快找到一个合适的人,在合适的时机重构。
★FLASH WEB GAME的前端架构与人事分工
→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的,而这些很大程度上又是由项目本身决定的。纵观现在国内绝大多数FLASH WEB GAME的规模和难度,我觉得前端AS人员大概需要2-7个之间,主程序有效代码一般不会超过10W行。在这种情况下,人事分工应当以功能和模块进行划分,尽量避免多人维护同一份代码,每个人各司其职,减少维护和协作的成本。这种模式非常适合人手不够,制度不健全,而且追求效率的初创公司。
→根据各种游戏类型的不同,分工也应该不同。策略类更注重界面开发,分工上应该向UI偏重,MMORPG类注重主架构一些,而像我们的海底世界,是更新驱动类社区游戏,每周都要发布新内容,还需要大量的小游戏和场景功能支撑,所以需要更多的模块和小游戏程序员。
→下面就以我们公司为例详细谈一下,我们公司最多的时候,一共5个AS程序员,分工是这样的:1个主架构,1个主UI,1个小游戏,2个场景和模块程序员。主架构同时负责FMS的sever端;主UI同时负责前端人员管理和文件管理;小游戏人员以平均每月两个单机或者联机游戏的速度循环不停开发,是相对最独立的一部分;而两个模块程序员,负责每周发布的新场景和新模块功能,他们的工作量其实蛮大的。
→先谈前端主架构,前端程序主架构有两个主要任务:1,要从架构高度合理划分前端各模块,提出可行的实现方案;2,从AS级别搭建程序架构(非文档级别),制定前端编程规则和接口,规范程序各部分的职责划分。这两个任务其实包括很多具体工作,比如:游戏启动流程制定,确定哪些SWF文件需要外部加载,那些功能可以从主程序剥离出去单独实现,前端配置文件怎么处理,公共素材怎么处理,MVC三层怎么划分,主程序框架的选定,主程序怎么和后台通讯,主程序如何与模块协作,哪些代码应该放在主程序中,哪些代码应该放在模块里,主程序如何既能提供模块所需要的一切功能和数据,同时又相对模块自我保护等等等等。其实我谈的还只是一些大的方面,具体到实现的级别,还有大量细节工作要做。而这些工作在项目启动之初都是非常重要的,直接影响到项目中后期的开发和维护效率。
→上面提到的那些点,我不可能全讲一遍,不然就不叫“浅谈FLASH WEB GAME”了!我只挑两个比较核心的内容跟大家略做探讨,就是前端AS框架和模块划分的问题。先谈前端框架:现在市面上流行很多前端框架,不管是针对“FLASH”的,“FLEX”的还是“通用的”都有。我们是否一定需要框架,或者必须使用某个框架,这完全是仁者见仁智者见智的事,从最终的结果上讲,争论这个问题意义不大,我相信一个5W行左右的项目,任何有5年以上编程经验的人,不管用什么作战策略,最终都能攻下山头,把项目做出来。但有一点至关重要:你必须能完全把握你的架构和你使用的框架,并能跟你的前端同事解释清楚。那好坏架构的区别在哪里呢?区别在于好的架构在开发过程中会更轻松,你不用天天担心的你代码,不用每天不停的写文档,以防止自己忘了复杂的逻辑,你可以在任何时间开始写代码,在任何时间去玩会儿游戏然后回来接着写;区别在于好的架构更符合业界标准,更容易被传统和正统的程序员接受理解;区别在于你可以用很简单的几句话就把你的架构思想描述清楚,用几个很简单的文档就能让别人接手你的代码,在人事变动和工作交接的时候让自己更轻松;区别在于当你掌握了一种通用框架或者自己总结一套成熟的架构后,你几乎可以套用以后的大部分项目,并不断完善它,开发越来越轻松,速度却越来越快!
→我们的项目,主程序使用的是pureMVC框架,而主UI部分是自己写的。主程序和主UI相互独立,可以单独编译测试。主程序是纯代码,用FLEX SDK编译,而主UI则是界面和AS混写并用FLASH编译。这样就把MVC中的V从物理层面上完全独立了。pureMVC框架正如其名字,是一款“纯粹”的MVC框架,在我看来,他只是帮我们实现了MVC的编程思想和套路,其它多余的功能一点没有,这使它具有更高的通用性,也是它最可爱的地方。根据我们的经验,pureMVC单核心版就已经完全可以应对主程序有效代码在10W行以下的项目了。但在我跟很多没有用过框架的前端朋友聊天中,发现他们对这些框架本身就有抵触心理,或者有些对MVC模式都理解的不深刻,用起MVC框架又怎能得心应手?还有一些更过分的朋友把自己的问题也归结到框架上,说什么用了pureMVC框架后,自己的项目编译一下要十几分钟,我听了之后哭笑不得,项目编译慢一般是因为没有合理划分模块导致主程序过大才导致的,跟框架有什么关系?如果因为大家的种种误解和这些人的言论而导致一些新人错过学习这么一款优秀的框架,我觉得实为憾事! ureMVC既然是一种MVC框架,这就意味着你首先要熟悉MVC。这种熟悉绝对不是对MVC的直译:模型、视图、控制器,而是要真正理解为什么要把程序划分成这几部分,在划分主程序模块时,要时刻能站在MVC的角度考虑问题,而当面对一段实际的代码时,能快速准确的判断,这段代码应该放在MVC中的哪部分。《pureMVC最佳实践》这份短短几十页的文档中,可以说处处闪烁着MVC的思想火花,不但清楚地阐述了怎么使用框架,而且时刻从MVC的角度告诉我们应该把哪些逻辑放在哪些部分中,应该注意什么问题。这个文档早已经有中文版,有兴趣的朋友可以自己去看看,文中有的,我这里就不赘述了。我只结合自己的体验谈一些文中可能没有涉及的,也是在真正开发中才会碰到的问题。 1,模型部分在实际开发中除了存储数据,还有其他作用么?是的,其实它的实际职责非常多。它要给Command和Mediator提供接口,响应用户操作,进行数据操作或者请求远程数据服务,进行数据的序列化和反序列化,得到异步数据后可能还要检查数据合法化。但不管怎么样,它始终是在和数据打交道,同时也应该是你的主程序中唯一可以直接和数据打交道的管道,别的部分要想和数据有接触,首先要问问它同意不同意。模型处理完数据会以Notification的消息方式通知Command或者Mediator。但绝对不能在Proxy中直接调用Mediator,这是为了保证数据层的独立性、可移植性和重用性,也简化了你的架构思想。不过可移植性这个优势,估计很多搞FLASH WEB GAME的朋友暂时都没啥机会体验,呵呵。 2,Command,Command,Command!连叫三声“Command”,希望可以引起大家的注意。因为Command的使用,在很大程度上反映着你对pureMVC框架的理解,甚至是对MVC模式的理解深度。在pureMVC框架中,各部分通讯是用Notification消息,Proxy可以给Command和Mediator发消息,Command可以给Command和Mediator发消息,Mediator可以给Command和Mediator发消息,怎么样?你现在是不是点晕了,这是正常的,其实我也有点晕!当你代码写到一定规模后,你会更晕。其实pureMVC框架这么设计本来是为了让MVC各部分尽量脱耦,但这带来一个负面情况就是消息发送与接收机制设计的太灵活了,灵活对小项目是好事,但对大项目来说,往往意味着混乱,甚至会导致灾难。那怎么办呢?只能靠我们的自觉性自我约束,简化架构思想了。根据《pureMVC最佳实践》中的建议,我的做法是这样的,尽量使用Command,让Command成为Mediator与Proxy之间通讯的唯一桥梁,Mediator和Proxy中发出的Notification,接收者一定是某个Command,然后再由Command处理并将结果转发给真正的消息接收者,Command就算仅仅起一个转发作用,仅仅有不到10行代码,也要创建一个Command类。这样不仅使你的架构更加清晰,而且也更符合MVC思想,Command类的大量存在还使你架构的业务逻辑具有了更好的封装性和扩展性,可谓是一箭三雕,何乐而不为?唯一的负面影响可能是你需要创建和维护更多的Command类文件,但相对于优势而言,这点影响不算啥。 3,我知道现在可能还有一些朋友在用FLASH IDE写代码,这些朋友的执着让人钦佩,但我想任何一个熟练使用过FLEX BUDIER、FD或者FDT的朋友,都绝不会再回头使用FLASH IDE写代码了。——不对啊?不是谈pureMVC的么?怎么扯到IDE上去了?这是因为我现在要讨论的问题就和IDE有关,假如你现在用的还是FLASH IDE的话,除了随时写文档外,我真的很难想出一个很好的方案可以让你在没文档支撑的情况下,轻松掌握和随时维护几万行代码。可如果你使用的是FDT,就可以在没有文档的情况下,利用“ctrl + r”和“ctrl + 鼠标左键”,以及全文件搜索等工具,瞬间搞清楚代码之间的联系和逻辑,找出要修改的地方。OK,终于到pureMVC了。如果你使用的是FDT,并且开始尝试使用pureMVC框架,可在使用的过程中,你发现你在写主程序时,还是不停的使用“ctrl + 鼠标左键”,而不是“ctrl + r”,这说明你必须重新审视你对pureMVC框架的理解了,请审查你的Mediator类,看里面是不是充斥着大量的public方法,如果你的对象之间依旧是通过public方法进行引用,而不是通过Notification通讯的,那你也没有必要继续使用pureMVC框架了。 4,单例模式影响到底有多大?pureMVC是一个完全依赖单例模式的框架。单例模式似乎在AS界一直有很大争议,这样的话,pureMVC肯定也会有相应的争议了。持反对意见的人,大多集中在“性能”和“团队协作”方面,他们认为一个单例持有过多引用会带来性能问题,而且生怕在团队协作中自己的单例类被人无意修改,引发离奇的BUG。性能方面,我之前也没做过10W以上的项目,不敢妄言,但10W行以下的项目,绝对没有问题,如果你两三万行的架构就开始碰到主架构性能问题,估计十有八九是自己的代码写的有问题;团队协作方面,我觉得pureMVC的Façade模式是非常灵活好用的,大家可以略做讨论,制定一个简单的规则,比如模块只能通过façade获取数据和发送Notification,不能直接调用主程序其他CLASS,只要架构程序员不犯错,模块程序员甚至连犯错的机会都没有,如果他们有,还是你的架构思路有问题,请继续审视自己的代码。反正单例模式的问题到底是什么,我到现在也没完全搞懂,主要是我们的项目没碰到过此类问题,希望碰到过的朋友能再仔细跟火山说说,我也好弄清楚问题到底出在哪里了,自己以后可以更好的避免此类问题发生。 额,框架部分先谈上面4点吧,赶快进入下一个话题,模块划分:模块划分主要包括“核心模块划分”和“子模块划分”。核心模块的划分思路是这样的:它们是游戏启动所必须的,相互之间是紧密联系的,还要经常的被子模块调用;而相对的,子模块的划分思路是:他们在游戏启动过程中不是必须的,可以在游戏过程中再加载,子模块相互之间基本上完全没有联系,一个子模块的增加和删除不会影响到任何其他子模块,子模块可能需要调用主程序的接口或者获得主程序的数据,但主程序绝对不应该依赖某个子模块。 明确了模块划分思路再具体看看哪些部分应该划分为核心模块,哪些部分应该划分为子模块。一般情况下,核心模块按照游戏启动顺序包括:一个壳子SWF → 配置文件包 → 登录注册SWF → 主程序SWF → 主UI的SWF → 公共素材包。而子模块相对来说简单很多,比如具体的某个小游戏,某个场景,以及某个场景里的触发功能等等。下面我对核心模块逐一略做解释。“一个壳子SWF”:这是一个体积很小,但意义很大的SWF;它后面总是跟着随机变量,确保每次用户加载的都是最新的;它里面定义着一些需要经常更新而且每次更新都必须保证用户也在第一时间就得到最新值的变量;它里面最好有一个简单背景图,保证用户在超低网速的时候输入游戏网址不至于长时间面对一片空白;它里面有安全策略的设定,是我们游戏和很多第三方平台合作的基石;它里面还定义着主程序被加载进来之前的游戏启动流程等等。“配置文件包”:核心模块版本号啊,全局文字说明啊,service接口定义啊,各个核心模块需要的配置信息啊什么的,一般是一些XML文件。“登录注册SWF”:这个简单,在加载重量级的SWF前,先加载登录注册SWF,可以保证用户第一时间就能打开登录注册界面,而且可以有效节省服务器带宽。“主程序SWF”:这个就是我前面费了好大劲讲的主程序部分了。“主UI”:主程序和主UI为什么要分开两个SWF,我前面已经提过了,后面还有说明,这里暂时不讲。“公共素材包”:公共素材包是一个游戏不可缺少,但也不能过分依赖的东西。它包括一些全局的道具和效果,比如表情、技能特效、场景传送门等等。公共素材包里面最好就是一些简单的动画,体积小功能简单,严禁在公共素材包里添加上百K的东西,或者代码上百行的小模块,公共素材包建议500K以下。 看了上面的讲解,你可以能觉得核心模块分那么多,太麻烦了。不错,在我看来,对SWF加载流程的***和控制,对异步程序的掌控正是衡量一个AS程序员是否经验丰富,是否足够老道的重要指标,很多从其它语言转到AS并有多年编程经验的朋友,架构方面可能和AS程序员差不多,甚至比很多自学成才的AS程序员做的更好,但这方面往往不如长期与CPU和SWF体积搏斗的老牌AS程序员。核心模块划分的越合理,用户体验往往越好,后期编写和维护代码的效率会越高,但在前期会比较麻烦,而且对架构师的架构经验和能力必须提出更高的要求。什么都不分,主程序、素材、核心模块都弄在一个SWF里,用户一开始必须先下载完这个SWF,或者弄了一堆核心模块和超多公共素材,用户一开始必须面对loading条不停的周而复始,必须等所有核心要素全部加载完成才能进行一些基本操作的做法,从架构角度上讲,是最简单的做法,因为不用过多考虑复杂的异步和SWF拆分问题,但从用户体验和长远的开发维护上讲是非常不利的。根据我们的经验,用户登录前加载的所有资源体积应该控制在200K左右,而用户进入游戏主场景前,加载的资源总数应该控制在1M左右。还有前面提到过的那位用了pureMVC后项目编译一下要十几分钟的朋友,估计就是把所有东西都弄到一个SWF里的做法。主程序随便改动测试一下,就要十几分钟,牵一发而动全身,开发效率从何谈起?根据我们的经验,任何主程序、核心模块还有子模块的编译,都必须在10秒以内,这才是合理的——我的机器是07年花了3000多买的戴尔品牌机。
→谈完主架构,接着谈主UI。主UI一般指主要的人机交互界面,这里的主UI区分于主架构中的mediator,当你看过pureMVC文档后,你就知道了,mediator只不过起到一个真正的V和pureMVC框架之间的桥梁作用,pureMVC里的mediator其实并不实现什么功能,真正的功能都是在主UI里实现的。但主UI又不得不算是主程序的组成部分,因为它不像其他模块,基本上只需要调用主程序的接口就行了,本身并不需要对主程序提供接口。而主UI作为用户操作界面,必须大量的向主程序的mediator提供接口,或者发送events。所以主程序和主UI之间的配合必须非常密切才行。 不同的游戏类型,可以选择的UI解决方案也不同。策略类非常适合用FLEX;MMORPG这类标准网游,非常适合用ASWING;而像我们海底世界这类游戏界面非常夸张,没什么标准规则,又不是太复杂的界面,还是适合自己开发。相信任何有过游戏项目经验的人都应该能理解,UI也是FLASH开发中的重头戏,很多细节的处理非常麻烦,在项目早期具有很大的工作量。还是以我们的项目为例,我们的UI架构思路是这样的: 1,所有的界面组件都是直接拖放在stage上的,其功能代码大部分都是在发布时编译的,基本上不用new的方式。这种方式的好处是方便编辑界面,从总体上直观的把握所有的UI,减轻程序运行时的负担,同时避免addToStage带来的诸多问题。缺点是,当UI膨胀到一定规模时,可能会需要你有一台配置比较好的电脑——哎,说到这里我就伤心啊,我那台玩魔兽效果全关还卡的电脑,一直陪伴我的整个UI开发历程。 2,UI的FLA层次结构是这样的:第一层是文档类或者与UI主类关联的某个MC,我们选用的是MC的方式,因为MC的方式更灵活;第二层是这个MC里的所有组件,这些组件大部分是根据功能划分在一起的一组元件,比如你的个人面板,而这个组件本身也是个MC;第三层是组件里的所有元件或者共用组件,元件就是背景啊,按钮啊什么的,而共用组件比如滚动条啊翻页组件啊什么的;主要的就这三层,其实那些共用组件MC再往里面双击还可以划分一层。对应FLA的层次结构,AS的结构如下:文档类或者主MC关联的类是第一层,这个类里持有所有的界面元件的引用;第二层是这些界面元件对应的组件CLASS,组件的功能都是在这里实现的,比如个人面板的MC将会对应一个MyPanel的CLASS,这个CLASS里实现MyPanel的所有功能。至于CLASS和元件之间是怎么对应的,我用的是一种松耦合的代理模式,也就是将MyPanel对应的MC作为参数传递给MyPanel这个CLASS,而这个CLASS会有自己的私有变量记录对应MC里需要进行操作的元件,具体到功能实现时,从代码层面上看,就好像CLASS操作的都是自己的私有变量,而不是直接操作界面元件,这样,当界面元件修改名字时,CLASS的改动很小。而且这种代理模式可以实现一个CLASS代理不同的元件,当界面只是需要修改外观,不需要修改功能时,非常方便。那么这些CLASS是在哪里初始化并获得它要代理的MC呢?正是在主MC对应的UI主类中,比如当获得MyPanel对应的MC后,就会立刻public var myPanel:MyPanel = new MyPanel(myPanel_mc);当所有的组件注册完成后,这个UI主类就持有了所有组件的引用,可以方便主程序调用;代码的第三层其实就是共用组件,比较特殊的是,我的共用组件,比如滚动条,也是用代理模式写的。 3,完全代理模式为我们创造了一种可能,就是把UI和UI对应的代码分开编译。这跟FLEX的皮肤更换机制有异曲同工之妙,只不过它的组件是要new出来的,布局是要代码控制的,皮肤都是一个个CLASS,整体效果一般都要编译后才能看出来;而我的组件是直接拖到舞台上的,布局大部分是直接在FLASH IDE里手动布置好的,皮肤都是一个个命名过的MC,整体效果编译之前基本上就能看出来。FLEX在更换皮肤的时候,CLASS名绝对不能变,而我的UI在更换皮肤时,MC的名字和层次结构不能变。FLEX关联皮肤是在编译时完成的,而我的UI关联皮肤是在运行时,当启动程序加载完UI代码的SWF和皮肤的SWF后,动态指定的。把皮肤和功能代码分开编译成两个SWF有个好处,就是在实际开发过程中,我们会碰到有时候只需要修改代码,而有时候只需要修改界面的情况,当然,就算你把代码和界面一起编译成一个SWF文件了,也完全可以对应这种情况,无非是编译一次的时间稍微长了一点点。可当你面对这样的情况呢:某次游戏版本更新出现状况,需要你目前功能不变,但画面必须退回到上一个版本。这时候你傻眼了吧?你开始对策划们咆哮:“你们能不能想想好再让我们做啊?”但你还是不得不重新打开已经做好的UI,把里面最新的界面再修改回老版本,同时还不敢把最新的删了,因为下一个版本估计马上又要替换回最新的画面了。可如果你的皮肤和代码是分开编译成两个SWF的,这种情况就简单了,你可以让运维从SVN上拉出上一个版本的皮肤SWF重新发布一下就好了,你所要做的只不过是动一下嘴皮。 4,最后谈一下UI的数据层吧,UI是否需要数据层呢?***是肯定的。尽管你可以从主程序那里获得任何你想要的数据,尽管大部分时间你只是需要数据来显示一下而已,但UI自己记住某些数据会大大方便自己写代码。UI的数据层不需要主程序那么复杂,每个组件有自己的数据变量,然后整个UI再有一个存放公共数据的地方就足够了。
→谈完主程序和主UI,最后再简单谈一下小游戏、场景和模块。先说小游戏吧,小游戏是相对最独立的一块,可能只需要主程序提供用户数据,并在游戏结束后将分数发送给主程序就行了。所以这部分从管理的角度上来讲是相对轻松的,但这不意味着小游戏开发就简单了,有时候,麻雀虽小五脏俱全,想开发出一个性能和用户体验俱佳的小游戏绝非朝夕之功,要是碰到一些算法复杂的小游戏,那就有得头痛了。其实对于海底世界这类儿童社区游戏,小游戏应该走创意和简单路线,搞得太复杂了,既不好开发,小孩子又不一定玩得来。 相对于小游戏,场景和模块就和主程序甚至是主UI关系密切了,但不管怎么密切,大部分时候它们都是在所要数据,发送事件,或者触发某个界面的显示与隐藏。如果某个模块的修改需要经常波及到主程序,或者很多模块在做同一件事,重复写着同一段代码,这时候就必须重新审视架构,看是不是某些地方架构的不合理了,不合理的地方,只要时机允许,一定要尽快改掉,绝对不能放任自流,一块儿小毒瘤最终可能引发癌症。模块和场景程序员在我们公司其实是非常累的,因为每周都需要发布新的版本,每次都很赶。在这种情况下,场景和模块程序员的责任心就非常重要,他们随便哪里随意了一下,会直接导致糟糕的用户体验,因为大部分时间,用户直接接触的东西都是他们的作品。架构写的再好,最终模块都做的很糟糕,对用户来说没有任何价值!所以,一个老道的,有责任心的,能够快速开发出优良用户体验的AS模块程序员,完全有理由拿高薪,因为他们能做到的,一些所谓的纯架构师未必做得到!
本帖最后由 jimohuoshan 于 2010-2-26 11:38 编辑
虽然有精华了,分还是打一个

参考资料

 

随机推荐