2009年1月28日星期三

【文章】一个新手眼里Flex开发的层次

【文章】一个新手眼里Flex开发的层次——
啸风子 于 2009年1月28日星期三 15:33 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

一个新手眼里Flex开发的层次

创建日期:20090128
更新日期:20090128

序——

因为我不是计算机或软件相关专业出身的,很多知识都靠自学,结果经常感到迷茫,不知道做什么,怎么做。没有与实际项目或者公司接触过,是我最大的障碍。像现在,我已经毕业了,一个人在外地找工作,周围都没认识的相关专业的人,能接触的只有网络,很容易迷茫。好在网络上几乎什么都有,只要自己善于搜索,就能得到自己需要的知识和朋友。为了摆脱迷茫,我给自己想做的Flex开发分了下层次,前途也就清晰明朗多了。现在我把自己所做的分析结果发出来,希望能对和我一样迷茫的新手有所帮助。

Flex开发概述——

从以下几点来对Flex开发做下概述。

为什么要做(Why):客户有项目需求,或者自己想做产品。

做什么(What):基于Flex的应用软件,主要是客户端应用,包括Web(Flash Player)、桌面(AIR)两个平台。必要时,也需要开发非Flex相关的程序。

怎么做(How):使用用例等工具做需求的分析,使用UML等工具做软件系统的分析设计,使用Flex SDK或Flex Builder等工具编码实现,以及测试、部署等。以上步骤可以不断迭代。

谁来做(Who):Flex开发者。复杂的项目需要团队合作,安排好分析、设计、实现、测试等任务。

以上是很简单的概述,以下将做详细的分析,但是不按照以上方式来讲,而是以符合我自己学习需要的方式来讲,即按照内容层次来讲,并结合我的练习项目“我的世界”和新手学习建议。关于项目“我的世界”,可以见我的相关文章,如此文:《“我的世界”项目分析之用户角度》,网址:http://tigerrrflash.blogspot.com/2009/01/blog-post_25.html。

层次综述——

分层分类有利于分工合作。比如IT,可以分为:硬件层、系统软件层、应用软件层等。比如一个信息管理系统,可以分为:客户层、服务层、数据库层等。

我现在要讲的层次是我根据自己需要划分的,具体包括:战略层、应用层、功能层、平台层,这些层次的划分并不是严格的,界限模糊。比如,加解密对于网站开发者来说属于功能层,但是对于专业加解密软件开发者来说就属于应用层了。因此,层次划分只作参考,不必苛求。

战略层——

战略层指的是比较高层的非技术性的内容。包括组织管理、资源、市场营销、发展前途等。在决定做一个应用前,比如下载软件,就要考虑这些问题:是否有足够人力物力来完成,是否有前途,市场是否饱和了,对自己找工作是否有帮助等。

战略层涉及很多知识,包括管理学、心理学、市场营销、当前社会状况等,还有很多专业性的知识。比如如果做一个教学系统,那么,就要了解些教育学知识和教育学现状。

项目“我的世界”战略层的部分描述:

人们需要个性化的网络展示,现有的博客个性化能力不是很强。即有发展前途。

基于Flex的RIA可以创造更有表现力的展示。即适合Flex。

即使是一个新手,也可以为增加博客等的表现力做点工作。即有人力物力。

等等。

新手学习建议:

对一些成功应用的战略分析。可以找一些资料,也可以自己思考分析。比如研究Facebook成功的社会学心理学因素。

心理学资料。经典心理学教程,如戴维.迈尔斯的《社会心理学》,里面案例比较多。

经济管理资料。了解些知识如长尾理论等,还是很有好处的。

等等。

应用层——

应用层指的是软件系统的具体应用内容。简单的说,应用层指的是做什么,比如,教学系统、电子商务、博客、网络游戏等,就属于应用层的内容。

应用层是软件开发的关键部分,要做好从大概描述到详细分析和设计的工作,其间要使用软件工程方面的知识,利用好UML等工具,还要了解一些专业领域的知识,比如做教学系统要了解教学的基本过程,做游戏要了解游戏设计的基本知识。

项目“我的世界”应用层的部分描述:

博客展示应用:利用博客网站的接口,读取博客信息,用3D层叠的形式展现博客,并能方便的放大缩小。热门博客可以突出显示。

相册展示应用:利用图片网站的接口,读取相册图片,用3D层叠的形式展现照片。并且可以添加装饰性图案,对照片做些处理(旋转、缩放等)。

装饰性应用:加个可爱的动画精灵,增加吸引力。

等等。

新手学习建议:

软件工程知识。比如面向对象分析与设计、软件开发流程、文档撰写方法、注释撰写方法、编码规范等。我看过的有《面向对象分析与设计(UML 2.0版)》、《编写有效用例》等。

应用领域知识。比如游戏开发需要游戏设计的知识,RIA开发需要Web设计开发知识等。我以前看过一些游戏开发的书,现在做RIA,就要找些Web设计与开发的书来看了。

分析现有成功应用。比如Facebook的界面设计、结构设计等,比如分析某个RIA网站的3D层叠效果等。与战略层不同,现在更偏重于技术。

等等。

功能层——

功能层指的是程序的功能,一般指常用的功能。比如,用户界面、加解密、网络传输等。拿游戏来说吧,功能层的内容还可以有血槽、全屏功能、角色移动等。功能层的程序一般可以做成类库,可以重复使用。

项目“我的世界”功能层的部分描述:

用户界面,加解密,3D层叠功能,图片处理功能,动画精灵,各个网站的API使用方法。

应用层描述需要什么功能,功能层描述功能怎么实现,可以找现有类库,可以自己开发。

等等。

新手学习建议:

学习、使用各种类库。包括Flex框架类库以及很多常用的功能类库。如果能复用优秀的类库,就不用自己费心开发了。必要时可以修改(开源的情况下)。

开发自己的类库。如果需要用到的功能没有现成的类库,或者类库费用太高,而自己又经常使用,那么可以自己开发类库。

模仿功能。如果发现别人开发的某种功能很好,但是不能直接借用,那么可以模仿开发自己的功能。比如觉得某软件的菜单很不错,可以自己模仿开发一个,以备自己以后使用或者分享给别人。

等等。

平台层——

平台层指软件开发的基础平台。如Flash平台、Java平台等。平台跟软件的具体功能无关,比如加密算法,既可以用ActionScript 3.0实现,也可以用Java实现。但是平台也很重要,比如Flash平台适合客户端开发,Java平台适合服务器端开发等。

项目“我的世界”平台层的部分描述:

用户界面使用Flex开发,动画精灵使用Flash开发,服务器端程序使用Java平台。

等等。

新手学习建议:

基础语法。如ActionScript 3.0语法。

工具使用。如Flex Builder 3的使用方法。

平台官方基础类库的学习。如Array的使用方法等。

对平台的分析。比如Flash能做什么,Flex能做什么等。

等等。

结语——

Flex开发新手,尤其是非计算机、软件相关专业出身的,需要的不仅仅是Flex相关的知识,还有很多知识要学,软件工程、应用领域知识、Web设计、数据结构和算法、做人做事等等。更重要的是,实践经验。很少有书讲Flex开发的实践经验,关键还要靠自己不断的动手,以及有经验者的指导:-)。

关于我——

网名:啸风子。真名:陆仕桑。

有事欢迎和我联系:-)。邮箱:lushisang@gmail.com。QQ:531042894。博客:http://tigerrrflash.blogspot.com/。

踏踏实实做事,潇潇洒洒做人。

2009年1月26日星期一

【过程】基本学习完官方教程《Flex 3 Getting Started》

【过程】基本学习完官方教程《Flex 3 Getting Started》——
啸风子 于 2009年1月26日星期一 19:14 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

进过几天每天不长的学习,基本把官方教程《Flex 3 Getting Started》学习完了。如果我英语水平高些的话,就学习的更快了。

其实很多内容我都了解了,但是我还是很认真的一字一字的看,结果导致学习效率不高。但是为了打好基础,我就硬着头皮看下去了。

接下来我就不再这么按部就班的学习了,而是以项目实践为引导,边做边学。项目暂时起名为“我的世界”,还没做好规划,只是写了一些讨论,见:【文章】“我的世界”项目分析之用户角度

接下来我就努力做项目吧。加油!!!

2009年1月25日星期日

【文章】“我的世界”项目分析之用户角度

【文章】“我的世界”项目分析之用户角度——
啸风子 于 2009年1月25日星期日 14:35 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

“我的世界”项目分析之用户角度

创建日期:20090125
更新日期:20090125

“我的世界”序——

“我的世界”是我准备做的一个练习项目,可以多人合作,参考此文:《关于Flex新手项目实践合作尝试的讨论》

简单的说,“我的世界”是一个用户个人在网络上的个性化门户,可以集中展示用户分散在其它网站上的博客、相册、帖子、留言等,以及用户定制的游戏,文章,收藏。最重要的是,用户可以自定义“我的世界”的表现,比如一座房屋,甚至一个虚拟星球,以充分展示用户在网络上的个性化存在。

因为我还是新手,也没有项目经验,所以,很多地方肯定会存在不足,大家可以帮忙指出,多谢!:-)

“用户角度分析”序——

从用户角度来分析,一是为了保证项目的务实性,二是因为我的Flex水平还不高,从Flex开发者角度来做比较完整正确的分析暂时比较困难,只能延后了。所以,本文就是纯粹以一个用户的角度来分析“我的世界”,表现用户对“我的世界”的要求。当然,现在所谓的“用户”只有我一个人,大家也可以多多提出自己的意见。

为什么需要“我的世界”——

做个也许不是很恰当的比喻吧。可以把Web 1.0时代比作原始生物时代,因为那时候人们上网只是为了获取信息资源。Web 2.0时代则是原始社会时代了,人们在各个网站聚集起来,过着群居生活,即便是个人Blog,也多是由网站提供的,个性化能力不是很强。随着计算机和网络的功能越来越强大,价格越来越便宜,人们将步入Web的文明社会时代了。人们拥有越来越多的网络资源,对私有化、个性化、自由化的要求越来越高,RIA时代的来临,就是一个标志。

所以,个人在网络上的存在,也会私有化、个性化、自由化。比如,一个属于自己的独特的网络之家。“我的世界”就是为了满足这种需要而设想的。

“我的世界”是什么——

如果把“我的世界”比喻为一个家庭住房的话,那么家里就有如下组成部分:仓库,厅堂,书房,娱乐室。下面一一详解。因为是从用户角度来分析的,所以不考虑功能的实现方法。可能的实现方法包括RIA、浏览器插件、AIR程序、网站服务程序等。

仓库:

集中管理自己的网络资料。把自己分散在各个网站的博客、帖子、留言等集中起来,便于管理和回顾。用户可以直接利用“我的世界”进行博客撰写等工作,然后发布到博客站点。当用户访问其它地方并撰写帖子或留言时,如果想保存或以后回顾,可以将其拖入“我的世界”仓库进行保存,保存的地方不一定是“我的世界”所在的空间,也可以是博客等已有空间,保存的方式不仅仅是文字链接,还可以有截图。用户之后访问“我的世界”时,可以回顾,甚至可以直接显示多个帖子或留言,以方便用户管理。同理,用户也可以用这种方式收藏不属于自己的网络资料。如果用户担心仅仅收藏链接可能在将来会访问不了,那么“我的世界”可以提供工具来复制资料到用户指定的地方,甚至本地电脑。

厅堂:

向来访者个性化地展示自己。用户可以将博客、相册等展示性资料以个性化的方式显示在“我的世界”厅堂里,比如以一本书的形式,或者提供3D层叠显示效果等。同样,用户还可以把“我的世界”访问页面做成一个星球的样子,大陆代表分类,城市代表文章等等。“我的世界”提供编辑器,以专门编辑个性化的页面,或者提供接口,用户可以用其它编辑器比如Flash CS4编辑个性化页面,然后利用接口连接到“我的世界”程序。

书房:

提供各种常用的工具和资料。“我的世界”可以利用一些网站的API提供常用的服务,比如天气预报、计算器、新闻等。用户可以自己定制这样的服务,以方便自己的工作和生活。

娱乐室:

娱乐和游戏的地方。“我的世界”不但可以集中各种小游戏或者视频等娱乐资料,其本身也可以是一个娱乐工具。比如和网游结合起来,这种结合的一种方式是和网游公司合作,让“我的世界”用户编辑自己的地图,另一种方式是自定义网游,几个志同道合者利用网游引擎和一台服务器做一个迷你网游,在“我的世界”所在的空间上放上自己制作的地图,供同属于一个迷你网游的来访者来挑战。

当然,以上部分只是一个功能的说明,并不是指“我的世界”就应该分成这么几类,实际上完全可以进行有机的组合和扩展,比如天气预报工具,也可以放在厅堂里展示给来访者。

在哪里部署“我的世界”——

“我的世界”的基本组成就是一些swf文件,或者再加些HTML页面,用户只要有一个可以上传并能将其嵌入网页中的空间即可,比如,可以上传和显示Flash的博客,或者一个专业的“我的世界”托管网站。当然,最好是有自己的网站空间和域名。我猜想未来拥有个人网站空间和域名的人会越来越多。

有些功能可能需要浏览器插件,AIR程序,网站服务程序等作为辅助。

“我的世界”的目标用户是谁——

理论上来说,每个经常上网的人都是“我的世界”的目标用户。硬要做下限制,那就是想要在网上展示自己的人,比如喜欢写博客和发帖的人。

结语——

以上就是我以用户角度来对“我的世界”所做的分析,欢迎大家一起讨论,并提出自己的想法:-)

还有一些开发者角度的问题,比如怎样设计开发实现“我的世界”,什么时候能完成,商业模式是什么,因自己水平暂时有限,延后再叙。不过欢迎大家提出和讨论这方面的想法。

关于我——

网名:啸风子。真名:陆仕桑。邮箱:lushisang@gmail.com。QQ:531042894。博客:http://tigerrrflash.blogspot.com/。有事欢迎和我联系。:-)

2009年1月22日星期四

【文章】关于Flex新手项目实践合作尝试的讨论

【文章】关于Flex新手项目实践合作尝试的讨论——
啸风子 于 2009年1月22日星期四 18:51 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

关于Flex新手项目实践合作尝试的讨论

创建日期:20090122
更新日期:20090122

缘起:

很多Flex新手没有项目实践经验,没有工作经验,也没有合作经验,但是这些经验从书本中很难得到,需要通过实践才能得到。所以,新手们迫切需要项目实践。但是一个人常常很难做好一个看得过去的大项目,只能做一些很小的入门级项目。也可以参加高手们组织的大项目,但是这样的机会并不多。如果有这样的机会,那么新手应该好好抓住,努力参与。在没有这样的机会的情况下,我们还可以选择另一种方式,就是新手们自己组织起来,合作完成一个相对较大的项目实践。效果怎样,还待检验。

啸风子的建议:

首先,要选择一个大项目,这个项目可以分解为一些小部分,每部分可难可易,适合不同水平的初学者,或者适合初学者不同的发展阶段。

其次,我觉得即使是新手,在合作前也要具备独立开发的能力。所以,合作的第一阶段是各自选择一个比较容易的小部分,各自独立完成。

第三,在各自独立完成自己的那个小部分后,并且大家都比较熟悉后,再一起合作完成一些需要合作的比较有难度的部分,当然事先要计划好,直到最后完成整个大项目。

第四,在合作过程中,大家要记录好各自开发的过程,以及合作开发的过程,以便于互相学习,也有利于后来者学习。

我个人建议选择一个这样的项目,暂时起名为“我的世界”吧。简单的讲,就是博客或者个人空间的一个外壳,独立于博客本身,至少耦合度要低。数据来源主要是博客的数据比如文章,图片,或者是外部网站比如天气预报等。承载“我的世界”的载体就是一些swf文件,可以嵌入到原有博客页面,或者在原有博客主页上添加链接,让来访者自己选择,因为有些人可能更喜欢原有博客页面简单的风格。“我的世界”的效果就是让个人博客更加绚丽和个性化。

这个项目可以分解,并且可难可易,比如有天气预报,记事本,时钟等简单的部分,也有帖子阅读器,相册浏览器,聊天窗口等相对复杂的部分,还可以有Flash游戏,模拟房屋等可以很复杂的部分。我们可以先独立做简单的部分,等以后水平高了,互相熟悉了,再一起合作做复杂的部分。

如果大家有自己的见解可以提出来,大家一起讨论。我也会把大家的见解贴到主贴里,让更多的人看到。:-)

2009年1月21日星期三

【文章】啸风子的几个RIA应用想法,欢迎大家一起讨论

【文章】啸风子的几个RIA应用想法,欢迎大家一起讨论——
啸风子 于 2009年1月21日星期三 21:41 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

啸风子的几个RIA应用想法,欢迎大家一起讨论

创建日期:20090121
更新日期:20090121

序----------

RIA应用,我的理解就是把客户端的功能更好的发挥出来,不管它是用什么技术实现的,Flex也好,Silverlignt也好,Ajax也好,JavaFx也好。如果需要脱离浏览器的限制,那么就把AIR等技术也包括进来吧。

在我学习Flex的同时,我也在想它有什么用,现在技术能力还不是很强,也没有什么实践经验,所以很多想法可能很幼稚,让大家见笑了。

1. 论坛外壳----------

理由:
也许有人了解Flash虚拟社区(如“梦境家园”),或者Flash网游(如“乐土”),知道Flash在客户端能做很多事。那么,作为交流场所的论坛,特别是娱乐论坛,可否也能增加一些表现力更好的Flash部件?或者,干脆加一个更好的论坛外壳吧。

细节:
比如,聊天面板,更适合版聊。
比如,把论坛做成地图的样子,一个版面就是一个地区,热门度等可以通过颜色来表现,帖子就是一栋栋楼房,帖子热门度表现为颜色,回帖数表现了楼房高度,等等。可以通过RIA技术改善交互界面,当然,不一定要拟真,但是可以增加娱乐性和艺术性。对于一些娱乐论坛还是有好处的。设计适当的话,对服务器的负担不一定会大很多。

好处:
对论坛主办方,可以增加娱乐性,艺术性,吸引更多的人,增加用户黏度。对开发者,可以提高网站前端设计能力。如果类似富客户端应用流行起来的话,也能增加项目需求和就业机会。

2. 高级收藏夹----------

理由:
我不知道有没有更高级的收藏夹,除了浏览器的收藏夹,我知道Google收藏夹,以及一些网摘工具。我上网经常发现一些不错的文字或图片,但是当时可能没时间好好分析、复制或保存,也没必要保存整个网页;直接收藏一个链接的话,很容易忘记,加标签也嫌麻烦,而且也不好找,如果有一个更高级的收藏夹,比如能给网页截图,就好了。
还有,像我这种到处留言,喜欢逛论坛的人,回复通知很有用,但是有些地方没有回复通知,如果能通过客户端程序判断这种回复就好了。

细节:
比如,网页截图,可以是缩略图等。这样可以减少回忆难度。
比如,回复通知,可以判断某些网页是否有针对自己留言的回复。这里不是指留言处博客等的服务端回复通知,而是自己判断的回复通知,可以保证对某些没有回复通知的博客等的判断。
比如,本地收藏,可以收藏自己电脑上的本地文件上的一些文字或者截图,像很多PDF文件,可以用这种方法做笔记。
这种高级收藏夹可以做成类似浏览器插件或者AIR程序(需要对本地资源进行操作时,AIR就很必要了),当然,也可以做成服务器端的,像Google收藏夹一样,只是有些功能需要本地桌面程序支持。

好处:
增加资料搜集效率,如果做成想Google收藏夹一样的服务,那么还可以有分享的功能。

3. 真实感强烈的电子书----------

理由:
像Word一样的电子文档程序,和真实的书相比,最大的一个缺点就是浏览不方便。比如,快速翻页找图片。如果是真书,我拿起书来,快速翻页,就大概知道要找的图片在哪个位置了,而电子书用滚动条很不方便,也很少以及很难记忆滚动条位置。

细节:
比如,可以像真书一样快速翻页,翻页时也像真书一样有模糊的印象图。
比如,可以在书上划线做笔记等。这点功能我很想要,还可以和高级收藏夹结合起来用。
比如,增加电子书厚度,在书侧面可以看出每章大概厚度和页数,用鼠标一点就能到达相应页数。
比如,可以折页或者加书签,而且能在外观上有跟真书一样的表现,这样也能便于回顾。

好处:
看书更加自然方便了,做笔记也更加自然方便了。还能提高书的精美度。

4. 教学系统----------

理由:
网络上有无数的资料,在网络上交流也非常方便了,但是在线学习还是很困难,一个原因就是客户端功能不好,比如输入一个简单的公式都可能很困难。

细节:
增强教学客户端的功能,比如支持公式编辑,图形绘制,实时演示等等。当然,服务器端的支持也很重要。

好处:
百年树人,科教兴国啊,这个好处还不大:-)

结语----------

先写到这里了,以后可能还有很多想法,这篇文章算是对我自己想法的一个整理吧。如果有谁有自己的想法,也可以提出来一起讨论。毕竟大家一起讨论,能增加可行性,减少一个人自己想可能出现的错误。如果大家想法一致,那么也可以合作开发,减少无谓的劳动浪费。

关于我----------

网名:啸风子。真名:陆仕桑。邮箱:lushisang@gmail.com。QQ:531042894。博客:http://tigerrrflash.blogspot.com/。有事欢迎和我联系。:-)

2009年1月18日星期日

【转载】网页游戏盈利模式单一遭投资者冷遇

【转载】网页游戏盈利模式单一遭投资者冷遇——
啸风子 于 2009年1月18日星期日 19:23 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

转载出处:http://tech.sina.com.cn/i/2009-01-17/13342759660.shtml
----------------------------------------------------------------------

  网页游戏:风投的爱与恨

  杨阳

  临近春节,关熙的心里却充满了挫折感。他是北京一所重点大学计算机系的研究生,在2008年10月,他和三个同学自己掏了点钱又向亲友借贷,攒了18万元开发了一款“猜谜”的网页游戏,但就在前几天,由于资金问题这款游戏刚刚失去了开始运营的机会。

  现在,有关熙这样遭遇的网页游戏开发小组太多了。“我甚至见过一个人开发网页游戏的。”一位业内人士透露,但是现在很多开发小组都已经退出了。

  事实上,就在这些开发者决定进入这个行业的时候——2008年9月至11月期间,网页游戏已经达到了几乎白热化的阶段,大量网页游戏涌现出来。但现在,他们却几乎都走到了资金上濒临枯竭、运营上一头雾水的时刻。

  看着热闹,其实很难做——在易凯资本董事总经理倪凡看来,网页游戏这特别像曾经红极一时的“博客”和社区论坛,这个产品注定不会产生像巨人那样的巨头公司。

  火爆一时

  网页游戏又称Web游戏,用浏览器玩而不用下载客户端,任何地方、任何时间、任何一台能上网的电脑只要能打开IE浏览器,10秒钟即可进入游戏,关闭或者切换极其方便,尤其适合上班一族,再也不用担心上班玩游戏被老板逮个正着。

  这种在上世纪90年代昙花一现的网页游戏,从2006年开始再度复苏。网页游戏的“前景”被描述得十分诱人:针对白领人群;玩家进入门槛低;网络游戏现成的盈利模式都可以移植过来;开发成本低廉。2007年里,这些基于网页的小游戏已经为美国的同行带来2.1亿美元的收入。

  在某风险投资商手中的一份可行性投资报告中,清楚地写着:网页游戏在获收益模式上独特且丰富,一切大型网络游戏可用的盈利模式,都可以照搬过来——广告+卖道具,也可以达到与各种加值服务实现结合,并可轻易地和同业和异业共同合作等等。

  “最初的成功来自于盛大的纵横天下。当时的收入已经很高了。”艾瑞咨询分析师赵旭枫告诉本报,而现在收入相对较高的就是九维互动的武林系列网页游戏和杭州乐港两家公司。

  一位业内人士透露了一个很惊人的数字,现在至少有300个开发小组在做网页游戏,市面上曾经出现的这类产品可能已经将近400款——然而,盈利的仅仅约十款。

  两头遇冷

  纵观VC投资界,这个被宣传得无比诱人的市场却遭遇了投资者的冷遇。

  ChinaVenture分析师潘金菊认为,在2007年到2008年投资在网络游戏的45个案子中,只有两笔投给网页游戏,公开的一笔是 “51wan”得到的红杉资本的250万美元,在网络游戏投资总额中占比非常少。

  另一个更让人感觉冰冷的数字是,腾讯游戏频道“2008腾讯网络游戏风云榜”调查过程中2323万张选票中仅有8万多张投给了网页游戏,占整个投票比例的0.34%。

  赵旭枫认为网页游戏不受VC看好的原因有两个:最重要的一点是网页游戏投资少回报也少,VC不会投这么小的案子。其次是时机问题,2008年7月网页游戏开始热起来的,那个时候金融危机的影响已经出来了。很多案子都是开始时还在看,慢慢地就取消计划了。

  尽管网页游戏上手容易,专为白领设计,但盈利模式也比较单一。

  一位风险投资商透露,他当初也曾经看过网页游戏的案子,但研究了三个星期之后他就选择了放弃——“钱”途有限。倪凡也赞同 “门槛低成就不了大事业”,小规模的投资人根本走不到运营和营销那一步。

  腾讯网游戏频道主编戴冰则认为,网页游戏就其本质来看,无论从感官上来讲还是从配置来讲,都是游戏的一种倒退,这种产品只能是网络游戏的一种补充,永远成不了主流产品。

  资本结

  事实上,资金门槛低既是网页游戏蓬勃发展的助推剂,却也是限制这个产品成功的绊脚石。

  “创意的实现和宣传渠道,个人的财力是达不到高标准网页游戏的要求的。”赵旭枫认为,网页游戏主要问题在于对市场的把握不好、内容少,而且没有给人留下想象的空间,目前网页游戏走的还是传统网络游戏宣传的路子。戴冰甚至预测,那些成功的网页游戏厂商可能会转做传统游戏。

  同时,正是由于个人网页团队在资本上的这种困境,成就了渠道的春天,运营平台的公司都很赚钱。51wan获得红杉资本注资后,拉开了联合运营的序幕:新浪、百度等互联网巨头也开始运营网页游戏平台,盛大、九城、巨人、完美时空、金山等网游大鳄明里暗地也开始开发网页游戏;后来猫扑、迅雷、康盛等公司纷纷试水网页游戏联合运营。

  《篮球经理》一位运营者称,2009年上半年网页游戏将出现一轮重整,一些小公司将加速倒闭。赵旭枫认为未来不会有很多的网页游戏运营商,因为市场没那么大,以后还将是大厂商占主流。此外,是可能做手机平台,另外可能与传统游戏厂商融合,作为辅助的游戏形式产生。

  (本报记者余德对本文亦有贡献)

【过程】决定专注于RIA开发

【过程】决定专注于RIA开发——
啸风子 于 2009年1月18日星期日 19:19 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

对于一个专注Flash平台的程序员来说,RIA开发都是比较好的选择。无论从现实角度(工作挣钱)还是理想角度(教育事业)来看,RIA开发和Flash应用,都是比Flash游戏更好的选择。也许有人不同意,但是从我这几天所查看的资料来看,确实如此。

所以,我决定专注于RIA开发,对于Flash小游戏,主要是作为兴趣,对于Flash网页游戏和虚拟社区,因为其比较大型,很多方面偏向于RIA应用,比如聊天窗口、交友窗口等等,所以还是可以关注的。

接下来就努力学习RIA开发的相关知识吧。并在以后做出些自己的作品,尽量参加一些项目,即便是无偿的也好,以作为自己以后找工作的资本。

对于与Flash平台无关的RIA比如Ajax等,我也可以学习些。

2009年1月12日星期一

【过程】撰写《啸风子与Flash之起步——小荷才露尖尖角》

【过程】撰写《啸风子与Flash之起步——小荷才露尖尖角》——
啸风子 于 2009年1月12日星期一 21:00 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

今天花了半天时间写了篇文章,叫《啸风子与Flash之起步——小荷才露尖尖角》。作为我前段时间学习和实践的总结,也作为我以后继续学习和实践的开头。文章内容见前一篇博文。

继续努力吧。

【文章】啸风子与Flash之起步——小荷才露尖尖角(20090112更新)

【文章】啸风子与Flash之起步——小荷才露尖尖角——
啸风子 于 2009年1月12日星期一 20:10 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

啸风子与Flash之起步——小荷才露尖尖角

网络原文地址:http://tigerrrflash.blogspot.com/2009/01/flash_12.html
创建日期:20090112
更新日期:20090112
存档日期:

---------------------- 提纲 ----------------------



1. 起步过程

2. 笔记和第二大脑

3. 分而治之

4. 动手实践

5. 项目导向

结语

关于作者

----------------------- 序 -----------------------

此文简单介绍了自己的Flash起步过程,详见第1部分,然后讲述下自己的学习所得,列在第2~5部分。我不讲解具体详细的知识,而是说一下自己认为好的学习方法。:-)

------------------ 1. 起步过程 -------------------

上周基本完成了一个Flash教学游戏“贪学蛇”雏形的开发和调试,算是我做的第一个真正的Flash游戏,可作为我Flash起步阶段结束的里程碑。

很久以前,也许在大二大三的时候,就开始学习Flash创作工具的使用了,主要是通过帮助文档和一些视频教程学习的。当时也做过一些小东西,不过没用到ActionScript语言。之后的很长时间也只停留在起步水平,因为我并没有做过大点的项目。

一个多月前开始学习ActionScript 3.0,因为我以前有Java的基础,所以学起来很轻松。主要也是通过官方文档《ActionScript 3.0编程》打基础的,也看过一些视频教程,但是主要是作复习用途了。之后就要边学习边动手实践了。

在学习《ActionScript 3.0编程》的过程中,编写过简单的背单词Flash,目的是提高学习动力。但是后来很快学完《ActionScript 3.0编程》了,于是背单词Flash也没有进一步完善的必要了。之后还学习了《面向对象分析与设计(UML 2.0版)》,以提高程序设计知识水平。后来打算开发Flash教学游戏和Flash教程,到现在为止,Flash教程已经有了基本框架程序了,Flash教学游戏也有了一个雏形游戏了。

未来目标虽然还不是很清晰,但是近期一个主要方向是Flash游戏。

在美工方面,也下了一些视频教程和电子文档学习了下,但是还没有动手实践和深入学习。

--------------- 2. 笔记和第二大脑 ----------------

大脑存储容量和读写能力的有限性和模糊性要求我们需要一种辅助工具,以更好的学习和工作。这种工具,最简单的当然是笔记了。而且,一般书籍中的知识容量很大,很多我们并不需要,或者早已了解,而将我们需要的从这么多不需要的知识中分离出来,方法也是笔记。所以,学习中要想事半功倍一定要记笔记。

第二大脑,是我的自创词语,就是笔记的扩展,在电脑上其实就是一些文本文件和文件夹,必要时也可以包括Word文档、图片等。我的标题“小荷才露尖尖角”就是拜第二大脑所赐。

现在我讲一下自己对笔记或者说第二大脑的使用。

----------

首先,笔记要和自己形影不离。这也是我将其扩展称为第二大脑的原因。

在电脑上,要有一个临时记录文本文件,以便在使用电脑随时快速记录下自己的想法、问题、注意点、学习笔记等所有一切需要记录的东西,供以后整理。

在自己活动范围内,比如书桌上,床上,要有纸笔,也是为了随时记录。要不是卫生间公用,我还会在马桶边放上纸笔。

外出时,如果身边没有纸笔,可以记录在手机上,比如日历备忘、短信息草稿等。手机记录速度有点慢,而且要注意字数限制,以免自己写了半天最后发现后面写的都被截断了。

如果实在没有记录工具,比如挤公交或者洗澡,只好记在脑子里了。这时可以学习一些记忆术,比如将所想和数字序号联想挂钩。具体记忆术技巧可以上网搜索。偶尔还是能派上用途的。

----------

其次,建立一个文件系统。我称其为“第二大脑”。

这个文件系统的作用就是记录和整理自己的所有想法、问题、注意点等等,包括所有方面,不仅仅是Flash,因为各方面集合在一起,有利于触发灵感,发生联系。

临时记录可以随时记录内容,包括学习笔记、想法、问题等,之后抽时间把这些内容分类整理完善到不同的文件中。需要时随时建立新的文件,不要太注重分类的严格性,要注重灵活性。比如我想到“小荷才露尖尖角”,就想到了在Flash中利用“诗词”,接着就新建一个“题材”文件,记录我想到或搜集的题材,包括诗词。也许像诗词这些想法对有些人比如做动画的人来说是很正常的想法,但是对初学者来说就不一定了,而且你不一定能随时想到。及时记录,多多复习,以后需要时就能很快想到了。

在需要时,或者有空闲时,可以经常和第二大脑交流,对第二大脑进行整理,添加内容。现在我的第二大脑已经有很多文件和内容了,但是我暂时还是能驾驭它的。:-)

我的文件系统是以文本文件为主的,因为文本文件格式简单,便于转移(如果用Word文档写的文字,贴到网上后格式就可能乱掉)。而且打开和记录都很快速,对我这种现在还用256内存老电脑的人来说,这点很重要。不过文本文件需要注意的一点是,至少在我电脑上,复制文本内容时可能在每行末尾有换行符,所以,记得复制内容前格式改为“不自动换行”,撰写时再改为“自动换行”。

----------

第三,注重历史记录。

我有一个叫“记录表”的电子表格,像流水账一样,记录我每天的所做。这样便于将来总结和回顾。当然,还有博客和本地日记。博客可以记录专门性日记,比如我的Flash学习制作的过程成果等,不但有利于总结回顾,也可以作为展示自己的窗口。本地日记则记录私密性的东西,我还用来记录周记,每周一次的生活总结。

----------

第四,我记笔记的方法。

我记笔记一般不记录书本的知识系统或者书本认为的重点,而是记录自己需要的内容,即便是作者一笔带过,或者干脆没提到的(这时就算记录“问题”了)。

记录的笔记要标注好页码,以便以后查看详细内容。可以按章分类,这样看的时候更容易更快速地明白自己以前记录的是讲什么的。

当然,如有必要,如书本知识对我来说基本算全新的知识,也可以记录书本的知识系统。

----------

最后,在写代码时一定要及时记录注意点、想法、问题等。

写代码是一种实践,实践的反馈是非常重要的,是经验积累的基础。有利于以后避免错误等。


------------------ 3. 分而治之 -------------------

人类的平均短期记忆容量只有7个元素,近期看的一篇文章又说只有3个。那么人类能处理那么多信息的一个关键就是分而治之。比如“ActionScript 3.0”这个词,就可能被分为语言名称“ActionScript”、版本号“3.0”两块,“ActionScript”再被分为两个单词,然后再分。大脑也许就是这么处理的哈哈。:-)

以ActionScript 3.0知识为例吧,可以分为语法层、类库层、应用层、辅助层等。

语法层,包括基本语法、面向对象语法等。

类库层,包括各个类库的知识,可以参考官方文档《ActionScript 3.0编程》,如数组、时间、网络等等各个方面的。

应用层,比如就Flash游戏来说吧,可以有:进度条、滚屏、音量控制、计时器、血槽等。

辅助层,比如代码撰写规范、注释文档规范、测试方法、UML知识等。

当然,还可以有很多其它内容要学的。充分利用好第二大脑,对模糊的知识分而治之,清晰化,学习效率会高很多,也不会不知道自己该做什么了。

------------------ 4. 动手实践 -------------------

只看书看视频学习,而不动手实践,是菜鸟进步的阻力之一。不动手实践,看再多书,记再多笔记也没用,因为书本和项目本质上是两个不同的东西。

在学完《面向对象分析与设计(UML 2.0版)》后,我也想试着按书上的格式撰写教学游戏“贪学蛇”的文档,但是我对文档改来改去,浪费了很多时间,最后一点进展也没有,也不知道把文档转化为程序代码。原因很简单,我没有实际项目经验,写的文档根本不符合实际需要。最后,我只好抛开一切,先动手写代码,在写的过程中,不断学习相关知识,符合实际的想法也不断出现,并很快得到实践,最终,我完成了“贪学蛇”雏形的开发和调试。

当然,这只是新手学习时的权宜之计,真正的项目一边编码一边出现想法是很不可想象的。因为拙劣的设计会导致以后要花几倍于开发的时间来调试,“贪学蛇”在调试时几乎让我崩溃,浪费了我大量时间。

在实际编码过程中,要及时记录下注意点、想法、问题等,真正的知识和经验就是从实践中学到,或者得到理解和巩固的。

------------------ 5. 项目导向 -------------------

听说中美教育的差距就是中国教育都是结构化,按照知识结构一点一点来学习,而美国教育则是给学生以自由权,选择自己的项目,然后,需要什么就学什么。两种教学方法各有利弊。但是既然我们习惯了结构化的学习,现在就要强调项目导向的学习。

结构化学习用来打基础很不错,可以快速学习到需要的知识,但是一旦到了实际项目,就不行了。现在的教程也大多是结构化的,比如《ActionScript 3.0编程》,就是非常结构化的,介绍了语法和各个类库的知识。但是学完了这些,不等于就会编游戏程序了。

以Flash游戏为例吧,要想学会Flash游戏编程,在学完ActionScript 3.0基础知识后(结构化学习为主),就无需找一本Flash游戏教程来专门学习了,因为上面不但有很多我已经学过的知识,而且读到最后,一般会感觉学到的只是皮毛,示例也极其简单,浪费了很多时间很多钱,大部分教程都如此。

这时,可以采用项目导向,比如先给自己定一个项目,然后把项目分解下,就如我上面所说的,进度条、滚屏、音量控制、计时器、血槽等等,然后针对每个部分找资料学习,一点点细化,边做项目边学习。在项目完成后,总结下所学知识,就会发现自己学到了很多教程上根本没有的知识和经验。

这里项目分解很重要,如果不知道游戏项目分解为什么,那就上网找资料,或者找教程例子,然后利用好自己的大脑,以及第二大脑,好好思考,多多实践。这时是学习阶段,错误、问题出的越多越好,只要事后解决掉,那就不要当心浪费时间,况且还得到了很多经验。

---------------------- 结语 ----------------------

此文,作为我的Flash起步阶段的总结,以及结束标志。接下来,应该进入更加正式,更加专业的阶段,至于阶段名称?暂未想好。下一篇,也许是“啸风子与Flash之游戏开发”。

-------------------- 关于作者 --------------------

网名啸风子,真名陆仕桑。啸风子是虎的雅称。小时候崇拜虎,所以起了这么个网名。

毕业于北京交通大学。我反对看重学历和大学成绩,这些东西水分太多。我更看重的是态度和能力。

我与Flash。很早以前(大学中期)就开始学习和使用Flash创作工具了,之后是学习ActionScript 3.0。我以前专注过Java程序开发,所以在Flash方面偏向于选择程序开发作为我的专业技术,包括Flash游戏、软件、演示等,以及Web富客户端。必要时,我可以选择其它语言和工具,因为我非常注重务实的应用,而不仅仅是某种语言和工具。对于Flash动画,主要是兴趣爱好了,我对美术有浓厚的兴趣,偶尔也会下载些教程学习和练习。

我的教育理想。我是个现实的理想主义者。因为对现阶段中国教育的某些现象和制度很不爽,所以有一个为教育做贡献,改善教育现状的理想。这样,也不至于我一辈子碌碌无为。之所以说现实,是因为我更注重方法,而不只是简单地做个教师等。理想是用来实现的,不能只是来想想的。所以,我现在正在做一个所谓的“人本教学系统”项目,哈哈,暂时还是私人项目,完全做好可能要做很长时间。

生活博客地址:http://lushisang.blogspot.com/

啸风子Flash博客地址:http://tigerrrflash.blogspot.com/

“人本教学系统”项目博客地址:http://humanisticisp.blogspot.com/

2009年1月9日星期五

【杂】Flash CS4的ActionScript 3.0中Vector类unshift()方法有Bug

【杂】Flash CS4的ActionScript 3.0中Vector类unshift()方法有Bug——
啸风子 于 2009年1月9日星期五 20:09 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

Flash CS4的ActionScript 3.0中Vector类unshift()方法有Bug,用了后,Vector的长度并不能增加,结果导致原有的Vector元素丢失。我怎么都想不到标准库会有Bug,所以这个Bug浪费了我不少调试时间,杀死了不少脑细胞。我上网找了下,只找到一个Adobe上的Bug报告。网址:http://bugs.adobe.com/jira/browse/FP-361。可惜我打不开,通过Google快照的纯文本版本看到的,上面说对String和对象Vector有错误,基本类型能用。引用如下:


Vector.unshift() method removes items at end of vectors of strings and objects when inserting items at the beginning, instead of increasing the length of the vector. Works correctly for vectors of uints.


没有搜到其他人关于此的讨论。也许这个Bug已经被修正?但是我更新Flash CS4后仍然有错误,最后只好用Array代替了。

比如程序为(直接写源程序博客有问题,只好贴图):



输出为:


0
1
2
3
4
5
6
7
8
9


而不是期望的:


0
1,0
2,1,0
3,2,1,0
4,3,2,1,0
5,4,3,2,1,0
6,5,4,3,2,1,0
7,6,5,4,3,2,1,0
8,7,6,5,4,3,2,1,0
9,8,7,6,5,4,3,2,1,0

【过程】基本完成教学游戏“贪学蛇”核心功能的开发

【过程】基本完成教学游戏“贪学蛇”核心功能的开发——
啸风子 于 2009年1月9日星期五 19:48 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

进过周二、周三、周四的编程,在周四也就是昨天下午,基本完成核心功能程序的编写。随后便开始调试,直到现在,花了1天多。可以说,调试比编写还困难,费脑子啊,时间哗哗的流逝啊。

所以,虽然一开始就动手写有利于菜鸟保持动力,但是对后面的调试工作还是会带来很多麻烦的。如果一开始就好好设计程序功能逻辑的话,以后的调试也就方便的多了。

还有就是关于测试驱动的开发,我以前学过,但是还没试过,觉得麻烦,但是想想昨天和今天调试时的痛苦,觉得以后有必要试试。

教学游戏“贪学蛇”的核心很简单,就是用户要按顺序输入单词字母,蛇就会跑去吃那些代表单词的食物,蛇身就会变长,多了一节,上面有刚刚吃掉的食物上的单词。虽然很简单,但是还有很多细节需要注意,这里就不详细说了,等以后做好成品,在详细解释吧。

因为在Flash创作工具里测试影片,影片本身不能响应键盘输入,因为Flash创作工具把键盘输入用作快捷键了,所以有点小麻烦,只好打开独立的swf文件测试了。因为trace输出看不到了,所以就在影片舞台上加了一个动态文本框,自制调试信息显示平台了。

最后说一下,ActionScript 3.0的Vector类有一个Bug,浪费了我不少时间,真是没想到啊。我将在下一文中说明。

2009年1月6日星期二

【过程】开始开发教学游戏“贪学蛇”

【过程】开始开发教学游戏“贪学蛇”——
啸风子 于 2009年1月6日星期二 23:56 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

在昨天初步确定并测试成功“跟小虎学Flash之起步篇”的框架程序后,就该添加具体内容了。

具体内容有动画、视频、互动练习、互动展示、游戏等内容,为了以后找工作方便,我决定先做一个教学游戏,因为游戏用到的ActionScript 3.0知识比较多,可以提高自己的程序开发能力。

所以,今天就开始开发教学游戏“贪学蛇”。理论上,是重启教学游戏“贪吃蛇”的开发,并改了下名字,但因为以前只写了教学游戏“贪吃蛇”的一点文档,而没有有意义的编程,所以,实际上是新的开始。

而且,以前写的文档对现在来说也没有什么用了,就把内容都转移到一个想法文件里了。现在的开发原则是一开始设计和编程时不要考虑太多太复杂的功能,只要实现基本的功能即可。这样可以提高效率,理清轮廓,尽快做好,增加自信。而以前是花了不少时间在撰写不切实际的文档上,还幻想了很多功能,而实际上这些功能凭我个人之力不可能一开始就能实现。

今天编写了一些程序,有了基本轮廓了,明天继续。

2009年1月5日星期一

【过程】初步确定并测试成功“跟小虎学Flash之起步篇”的程序框架

【过程】初步确定并测试成功“跟小虎学Flash之起步篇”的框架程序——
啸风子 于 2009年1月5日星期一 22:33 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

上周六到今天三天主要是给“跟小虎学Flash之起步篇”编写框架程序,并在现在终于初步确定并测试成功。

从一开始的没思路,到有思路,再到确定思路,经过了不少思考和尝试,放弃了某些花了不少时间思考和尝试的貌似漂亮的框架,选择了现在这个简单灵活的框架。虽然现在的框架程序很简单,但是已经算是确定了,以后再慢慢完善和扩展。

因为“跟小虎学Flash之起步篇”包括很多形式的内容,所以框架的大概样子有点类似浏览器,可以像浏览器加载网页一样加载swf文件,不过现在功能比较简单。当然,和浏览器还是有很大区别的。框架功能比浏览器简单,但是加载的swf文件则比一般的网页功能丰富得多,比如可以是一个游戏swf文件。这样做是为了减少耦合度,增加分工制作swf文件的灵活度。

前几天还设计过界面,但是以后也许会根据情况改变设计,不提也罢。

通过这几天的编程,我实践、复习、学习了很多ActionScript 3.0知识。很早以前就将官方手册《ActionScript 3.0编程》看完了,而且也看过它的例子了,但是这根本不够,因为没有实践,一切都是纸上谈兵。所以,“跟小虎学Flash之起步篇”我一定会有我一直强调的动手实践的重要性的。