Flash 开发者大会笔记—2010 年3 月28 日
(欢迎转载,但请注明原文地址)
大会照片和PPT
http://events.swfsh.com/2010-03-28/
Mochi Media
1 About Mochi Media
1.1 Mochi Analytic: Analytic clatabase
1.2 Mochi live update: Manager update your game whatever you are
1.3 Mochi Diatribution: Deliver game to player
1.4 Mochi Coins: handle to the pay issule
1.5 Mochi leader boards: For high score players
2 Games
2.1 www.mochimedia.com
2.2 join us
3 Question
3.1 Localization?
3.1.1 We will do it
3.2 Every thing is free?
3.2.1 Yes it ‘s free,50% income is from AD
3.3 Platform choose rule?
3.3.1 Mochi is most advanced
3.4 If adobe launch a simular system for flash game developers and players, what will mochi do?
3.4.1 It will not happened
3.5 Chinese user numbers?
3.5.1 25 million
3.6 What kind of game has published?
3.6.1 Flash game but not social and web game
Flash基于对象的优化技术
黄炎中—传奇世界主程序(阿中达人)
1 MMORPG 游戏中程序的对象需求
1.1 底层组件所需的对象多(图形,消息,网络,配置等)
1.2 游戏内容庞大,需要以对象为载体实现
1.3 相同类型的对象数量也很多
1.4 对象数量的增长很难预知
2 Flash 平台对象层面的特点
2.1 AS3 的语言特性需对象的支持
2.2 AS3 语言特点的代价
2.3 必须通过引用来控制对象—虚拟机50K 一个对象
2.4 单个对象占资源量大
2.5 GC 操作无法控制
2.6 类型判断可有可无
2.7 属性访问有性能开销
2.8 解决办法
2.9 UnitArray
2.9.1 属性的优化:串行化->并行化
2.9.2 使用条件
2.9.3 性能测试
2.9.4 几种应用场合
2.9.4.1 基于Map+Tile 结构的地图
2.9.4.2 GUI 系统
2.9.4.3 MMORPG 中玩家的属性
2.9.4.3.1 MMORPG 中玩家的属性由服务器保存
2.9.4.3.2 流动大,开销大
2.9.4.3.3 同屏玩家的属性
2.9.4.4 例子系统
2.9.5 好处
2.9.5.1 对象数:用更少的内存达到同样的目的
2.9.5.2 速度:提高访问速度
2.9.6 举例
3 总结
3.1 基于并联属性的对象优化技巧可以解决很多问题
4 问答
4.1 关于高速缓存?
4.1.1 C 中尽量使用CPU 而Flash 中尽量使用内存
4.1.2 以上提到的技巧的目的是降低内存开销而不是提高速度
4.2 关于GC?
4.2.1 Tag 标记法
4.2.2 主动调用GC
4.3 UnitArray 的方法增大了时间复杂度,对象需要多遍历一次?
4.3.1 是的,但是遍历全部对象的条件很少发生
4.3.2 适合简单类型,这并不是通用的方法,请参考刚刚讲到的适用场合
4.3.3 总的来讲,当满足以下条件时可以考虑使用UniyArray,并需要作出一些使用上的调整
4.3.3.1 对象数量极多
4.3.3.2 对象属性总数必须比对象数量要少
4.3.3.3 放弃对象类型判断
4.3.3.4 适当调整访问形式
4.3.3.5 带有FreeList 性质的对象也可以使用该方法
4.3.3.6 当属性都是简单类型时,可以用ByteArray 代替Array
4.4 如果我想把项目改成用你的方法,需要注意哪些事情?
4.4.1 先分析,最好是预先考虑这个问题并采用这个方法
4.5 怎么解决继承的问题?
4.5.1 继承层次不能太复杂,并且继承类需要增加访问接口
4.6 你刚刚提到一个对象占50K,占这么多的用途是什么,用什么办法看到的?
4.6.1 看的源码,拿到C 中new 一个并查看大小,包含了很多东西,比如引用计数,保留接口等等
4.7 盛大传奇web 版开发到什么程度了,能做到同屏20 人么,请给出关于同步上的建议
4.7.1 盛大传奇web 版简介
4.7.2 可以,比如中周城摆摊的画面同屏超过了20 人
4.7.3 服务器的问题在服务器底层解决
Flash物理引擎
王成—盛大创新院
1 什么是物理引擎
1.1 一个能模拟物理事件而不依赖与游戏引擎的独立世界,刚体运动,流体运动,布料模拟等
2 什么类型的游戏用到物理引擎
2.1 切割类
2.2 探索解密类(机械迷城)
2.3 道具摆放类(多米诺系统,疯狂机器)
2.4 绘制类游戏(神奇画笔,魔法画笔)
2.5 反弹类游戏
2.6 平衡类游戏(黏黏世界)
3 游戏对物理引擎的使用
4 目前物理引擎存在的问题
5 主流的物理引擎
5.1 2D 物理引擎
5.1.1 Box2D Flash 2.10 alpha
5.1.2 APE 0.5 alpha
5.1.3 Flade
5.1.4 FOAM 0.1 alpha
5.1.5 Fisix 0.5 alpha
5.1.6 Motor 2 release
5.1.7 Ffilmation 1.3.3
5.2 3D 物理引擎
5.2.1 WOW
5.2.2 JIGlib
5.3 现在主要使用的还是2D 物理引擎,3D 渲染加上3D 物理引擎很吃力
6 Box2D flash 和APE 的比较
6.1 视觉效果
6.2 资源消耗(刚体资源消耗比较)
6.3 碰撞检测流程
6.4 碰撞检测过程中的穿透现象
6.5 碰撞响应
6.6 功能比较
7 如何对物理引擎进行扩展
7.1 形状扩展
7.1.1 建立自己的几何模型
7.1.2 处理新增的几何模型和旧有的集合模型间的碰撞关系
7.1.3 连接扩展
8 我们该如何使用物理引擎
8.1 复杂:Box2D
8.2 简单:APE
8.3 其他语言平台:Box2D
9 关于Ffilmation
10 游戏演示
11 问题
11.1 Box2D 流程,哪些游戏中用到了Box2D
11.2 《Flash Action Script 3.0 动画高级教程》
Flash游戏图形开发杂谈
李明(云开)
1 概览
1.1 自我介绍
1.2 Flash 位图与矢量
1.3 Flash 位图圆滑技巧
1.4 Flash 滤镜与Blend Mode
1.5 游戏位图开发实践
1.6 展望
2 Flash 位图与矢量
2.1 位图按照最大的尺寸制作,只缩小不放大
2.2 混合使用位图和矢量
3 位图圆滑技巧
3.1 Flash 的旋转会产生锯齿,让美术用PS 调整而不要在Flash 中旋转
4 Flash 滤镜与Blend Mode
4.1 文字:描边算法
4.2 理念:简洁,马上可以用,参与到游戏中
4.2.1 好的思路可以有很大的帮助,实践出真知
5 游戏位图开发实践
5.1 怎么实现换装
5.1.1 拆解
5.1.2 AvatarRender 类
5.1.3 缓冲池
5.2 怎么实现Bitmap 字体
5.2.1 计算不准确
5.2.2 快照计算区域
5.2.3 预处理
6 展望
6.1 位图用来保存XML 等明文文件?
6.2 位图用来做加密算法中的Key?
6.3 用PixelBender 代替做大数据量的计算
Isometric位图引擎技巧
史珉(小王子)
1 投影法则
1.1 统称轴测法(Axonometic)
1.1.1 Isometric:模拟城市,模拟人生1/2,星际争霸
1.1.2 Axonometic:植物大战僵尸
1.2 特点:没有相交,没有远点
1.3 Note Tree
1.4 图格
1.5 位图渲染—MoveClip 到BitmapData 的异步渲染
1.6 一些技巧
1.6.1 对象池
1.6.2 不同大小物体的寻路
1.6.3 遮挡和排序
1.6.4 如何分割显示层
AIR的数据缓存及数据绑定的列表操作模式
Do it软件
1 谁在用Flex 做企业级的应用
2 PureMVC 是丑陋的框架,什么是合适的选择
3 问题
3.1 有比较好的C++服务器引擎支持Flash 的么?
3.1.1 Java:netty,xsocket
3.1.2 主持人说可以到QQ 群里面找他
3.2 大并发和Socket
3.2.1 数据合并,路灯系统
3.3 关于代码维护
3.3.1 AC:自动验收测试
3.4 关于单点登录
3.4.1 网站和客户端没有办法实现单点登录,除非一开始就跟服务器建立一个可信任的某种联系,然后绑定你的账号,这种方法有弊端也有优势
4 广告
4.1 Do it 软件是改变人类工作方式的软件
4.2 我们需要Ruby,AS,JS,Object C,C++人才(-_-|||)