为什么我总是拿AS3写半成品?

栏目: JavaScript · 发布时间: 6年前

内容简介:工作的前三年,我主要发展方向是 .net。中间涉及到网站、邮箱、桌面应用等等。同样的事情做久了肯定会觉得枯燥乏味。所以平时会写点有意思的东西,比如说游戏。而随着游戏业的发展,需要适应人们快节奏的生活,flash则是最好的选择。打开网页就能玩,打开flash就能敲代码。记得上一回,电脑显卡被我玩烧了,能能将独立显卡上的显示器接口插到集成显卡上。我电脑性能本来就不差,即便是集成显卡一样也可以干很多事。而我关注到 flash 主要就是因为可以使用 CPU 来模拟3D效果。当时flash player停留在9.0

工作的前三年,我主要发展方向是 .net。中间涉及到网站、邮箱、桌面应用等等。同样的事情做久了肯定会觉得枯燥乏味。所以平时会写点有意思的东西,比如说游戏。而随着游戏业的发展,需要适应人们快节奏的生活,flash则是最好的选择。打开网页就能玩,打开flash就能敲代码。

记得上一回,电脑显卡被我玩烧了,能能将独立显卡上的显示器接口插到集成显卡上。我电脑性能本来就不差,即便是集成显卡一样也可以干很多事。而我关注到 flash 主要就是因为可以使用 CPU 来模拟3D效果。当时flash player停留在9.0的版本,还没发展到后来的flash player 11 支持GPU绘图。而那时最著名的 flash3D引擎就是PaperVision3D了,它还出版过很多相关书籍。在体验flash的魅力的同时我还发现了一本非常有用的书,它是真正带我入门的flash书籍。《Flash ActionScript 3.0 动画教程》从一开始简单的小球碰撞到后面的用代码编写透视根据顶点和索引数据绘制3D物体。真正得由浅到深地教会了我什么是游戏画面,什么是游戏画面背后的数据以及背后的逻辑。

除了几个简单的小游戏外,真正动手做的是一款属于我自己的Flash3D引擎,做它仅仅是因为兴趣。最初设想的目标就是能够解析obj格式的网格,并根据UV数据绘制简单的纹理。这仅仅是最初级demo级别的构想。而正因为仅仅是兴趣驱动,很快我就对它失去了兴趣。我接了网友介绍的 3D 在线展示场景的外包项目,当时5000块钱对我来说是一笔不小的数目,我直接转向PV3D,使用天空包围盒显示用鱼眼照相机拍摄的场景。之后一个月里你无论怎么回头看,我肯定就坐在那儿安静得写着无聊业务逻辑。

万万没想到的是,最后我还是做完了那个demo级别的3D引擎。记得没错的话纹理绘制还有严重的bug,至今那个swf和fla文件都找不着了,真的找了好久。

经过了很长一段的时间,那时已经工作了,体会到了加班狗的快乐。节假日一定会花大笔的时间去敲属于自己的代码。那时准备用 flash 写一款网页在线的坦克大战。参考的游戏原型是 2D CS(至今我依然认为把它移植到手游上是一个很不错的 idea )。flex 用来写地图编辑器,而这个地图编辑器就是我的噩梦。由于时间断断续续,我相信很多人会遇到和我一样的问题,“咦,之前的代码原来这么丑。要不重构一下吧”。就这样,我的地图编辑器写过一个又一个版本。的确代码越来越精炼了,但是东西迟迟做不完。后来深入学习敏捷开发之后,我才知道这就是我连故事都没列清楚就写代码的下场。

为什么我总是拿AS3写半成品?
功能简介完善的坦克大战编辑器

为什么我总是拿AS3写半成品?

为什么我总是拿AS3写半成品?
地块以格子信息保存,原本资源是这样的
为什么我总是拿AS3写半成品?
绘制到一起会自动边缘融合
为什么我总是拿AS3写半成品?
而砖块层是这样的
为什么我总是拿AS3写半成品?
绘制后会自动计算出阴影

万万没想到的是,最后竟然有人替我写完了这个坦克大战。

再到后来,flash 进入了3D时代。从flash player 11开始,flash 开始支持 GPU 绘图,并且可以通过 Alchemy 技术将C++代码直接编译成 AVM 虚拟机可执行的字节码。网页上流畅运行的虚幻三场景亮瞎了我的眼睛。我便开始关注新的 flash 3d 技术。此时有一款在 flash player 9 时代卡得像幻灯片一样的3D引擎 away3d 迈出了很大一步。它使用优秀的性能和开源的方式抓住了我们的眼球,顿时群里聊得热火朝天。然后我那万恶的地图编辑器又开始了,它支持地形编辑、场景布置、纹理绘制、碰撞生成、自动分割场景、 lua 脚本绑定等各种功能。

为什么我总是拿AS3写半成品?
随心所欲的画笔
为什么我总是拿AS3写半成品?
自动拼接的道路
为什么我总是拿AS3写半成品?
随意扩展的地图
为什么我总是拿AS3写半成品?
万能的地形笔刷
为什么我总是拿AS3写半成品?
自动根据地图高度生成碰撞区域

为什么我总是拿AS3写半成品?

为什么我总是拿AS3写半成品?
绘制斜坡也非常简单
为什么我总是拿AS3写半成品?
随意控制物体

为什么我总是拿AS3写半成品?

万万没想到的是,无论我怎么优化,它在我的10年的安卓手机上始终不能跑到30fps。

再后来呢?听一位之前在adobe的员工跟我们说,原来好多页游公司都准备转3D,当时派了好多专业技术人员直接驻扎在那些公司里帮他们及时解决问题,但依然迟迟做不出东西。很快他们就意识到,转3D页游不如赶紧转手游来的赚钱呀!然后,away3d 也一年多没再更新了,adobe解散了。最后,手游真的吞噬了很大一部分页游市场。而手游从又从当时的乱世到现在的三足鼎立。今天的寒冬,大家都还好吗?


以上所述就是小编给大家介绍的《为什么我总是拿AS3写半成品?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Lua设计与实现

Lua设计与实现

codedump / 人民邮电出版社 / 2017-8 / 49.00元

本书首先介绍了Lua中的数据结构,比如通用数据是如何表示的、Lua的字符串以及表类型的实现原理,接着讨论了Lua虚拟机的实现,并且将其中重点的一些指令进行了分类讲解,最后讨论了垃圾回收、模块实现、热更新、协程等的实现原理。一起来看看 《Lua设计与实现》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具