写点什么

盛大游戏黄炎中——"悍将传世"开发经验谈

  • 2013-01-04
  • 本文字数:3516 字

    阅读完需:约 12 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

此文是针对游戏开发领域系列采访中的第三篇,我们会采访到目前游戏开发比较热门的技术和公司来对问题进行解答,问题主要涉及游戏简介、开发中 5 件对的事情、5 件可以改进的事情、美工设计以及开发经验分享等。话题主要涵盖开发、发布、平台、开发工具和创新工具等展开。本文是针对盛大游戏技术团队成员黄炎中的采访,以下是采访的具体内容:

InfoQ:请首先做下自我介绍?

黄炎中:我是黄炎中,从小立志做游戏。曾自主创业。2005 年进入盛大,曾参与《疯狂赛车》,《英雄连》等项目研发。2008 年开始负责页游开发。先后负责《纵横天下》,《传世群英传 Web》版网页游戏的研发工作。目前工作重点在《悍将传世》项目。

InfoQ:盛大游戏的《悍将传世》在市面上很受欢迎,能否对产品理念做一下简单的介绍?

黄炎中:《悍将传世》是从 2011 年下半年开始做的项目。当时的 ARPG 游戏主要分两种,一种是强调 PK 的仿传奇类产品,这类游戏初步实现了 PK 玩法,但是画面相比端游有较大差距。还有一种是强调休闲玩法的 ARPG 游戏,画面比较精美,但是完全没有 PK 的感觉。所以通过市场调研,我们认为《悍将传世》这类可以同时满足两方面需求的页游应该会获得用户的认可。而 Flash 11 的推出,也为实现这一目标提供了底层技术保障。

InfoQ:在游戏的设计和开发过程中,请列举 4 件认为做的对的事情(4 “Rights”,请配以具体事例,分别说明)?

黄炎中:我分享几个重点在做的事情给大家吧。

  1. 在非常早的时候就开始评估 Flash11,做各种技术储备。
    例如游戏开发比较关心的每秒 Fps 是否能够达到 60 以保证流畅性;以及在 Fps 为 60 的状态下,每秒能够绘制多少次多边形。包括使用了 GPU 加速,需要把贴图从内存传输到现存,这个过程中有多少开销,会不会卡等,都属于测试范围。 在前期的时候,测试结果非常不理想,非常卡。一个是 Fps 上不去,或者半途中会突然出现卡顿的情况。这甚至让我们对 Flash11 平台产生了怀疑。经过团队深入研究后发现,虽然用户主动上传到 GPU 的内容渲染起来速度还是可以保证的。但是 Flash 会进行合成操作,也就是把原来非 GPU 的 2D 内容,和 GPU 渲染后的内容进行合成。其过程是先将 2D 内容进行拍照然后作为贴图传输到 GPU 里,再次合成渲染。这个过程造成了几乎 50% 以上的开销,其触发机制几乎是不可控的。

    如果用户的图片上传比较密集的话,最直接的结果就是直接卡个 1、2 秒。导致游戏无法进行。发现这个问题后,我们也找了很多解决方案,在内部机制无法改变的情况下,对游戏能够使用的资源以及加载策略进行了大幅删减和优化。这种情况才得以好转。当然 Flash 11 在后续的几个版本上对此进行了优化,现在的版本已经基本解决这些问题。也幸亏在早些时候就发现了这些问题,否则贸然使用 Flash 11 既是对项目不负责了。

  2. 保持和 Adobe 方面的紧密沟通。
    为了使用 Flash 11,而且当时世面上基本没有可参照的产品,所以为了拿到第一手信息。保持和 Adobe 进行有效沟通是必须的。 Adobe 有一个非常专业的传教士团队。而负责游戏方面马鉴( @7Yue )和黄峻( @Peter )是我的经常联系的。他们非常资深,对 Flash 极其了解。甚至 Flash 里有一部分代码是 7Yue 编写的。我去年底告诉他们决定使用 Flash 11 开发项目。他们非常兴奋,之后我们几乎每 2 周都要电话会议一次。我把我们发现的问题,可以通过这个快速渠道直接反馈给 Adobe,并且尽快加到他们的版本里去。而 Adobe 确认的修改项也会通过他们直接反馈给我。

    有一次我一口气和 Adobe 反应了几个亟待解决的问题,其中有一个就是对 GPU 支持不完整的问题。当时 ATF 格式只支持 DXT1,这个格式是不能带 Alpha 通道的。随后,他们告诉我,很快就能支持 DXT5 了,这是种能够带 Alpha 通道的格式。果然在今年 8 月份发布的 Flash 11.4 版本里就带上了这个功能。Peter 后来说,原来他们早就有这个计划了,但是为了完整测试保证万无一失,所以直到 8 月份才对外公布。这也体现了 Adobe 作为 IT 界巨头,不但小心谨慎而且对游戏开发非常了解,让人非常放心。到现在为止,我们仍然保持着紧密沟通。这也为整个开发过程提供了保障。

  3. 谨慎使用新技术进行产品开发。
    Flash 11 本身是一个网页中的插件,那么做过网页开发的同学都应该知道,兼容性是摆在每个 Web 开发者面前的问题,很有可能在不同的浏览器下面看到的内容是完全不一样的。虽然 Flash 本身已经屏蔽了很多这样的问题,但是数据显示直到 2012 上半年为止,全国仍然有 20% 的玩家无法使用 GPU 加速。各种原因都有,例如某些浏览器捆绑了 Flash 10 的版本,或者浏览器强制无法使用 GPU 加速,或者用户本机显卡过旧导致无法打开 GPU 加速。 对于这种情况,一旦玩家无法使用 GPU 那么就无法正常进行游戏了。出于谨慎考虑,我们利用了以前客户端的经验,在资源流程上修改美术导图工具,原始图片在导出的最后一步分别导出成 Flash 10 的 Png 格式以及 Flash 11 的 ATF 格式。在程序上分成了 Flash 10 版本和 Flash 11 版本。在程序启动的时候检查是否能启动 GPU 加速,如果不行的话,直接使用 Flash 10 的渲染器和 Png 格式。事实上做这样改进虽然工作量几乎翻了一倍,但是挽留到不少用户。

  4. 使用 Monical 不断优化代码,增强游戏运行时的体验。
    Flash 是在 2007 年加入了 Avm2 才能够实现大型项目开发。而到现在为止,Avm 的性能一直为人诟病。但是你真要找到其性能低下的地方,还真不容易。除了要在代码上精心设计,而且需要不断在资源动画上精雕细琢。这是件非常花费时间的事情。 在今年 7 月份,Adobe 发布了全新的调试工具 Monical 能够以图形化的形式精确查看程序运行时的状态,实在是雪中送炭。在早期的测试版本里,最核心的功能,就是能够将 Flash 内部运行的几大块,AS 代码,内存对象使用,Native 代码,GC 机制用颜色进行明确区分。最厉害的还能够在每一帧,对运行了多少代码进行精确评估排序。我们可以直接的定位那些调用次数较多,并且跑的比较慢的代码。在这种机制保证下,程序运行几乎是透明的。大大节省了我们找问题的时间。这个工具目前已经随着 Adobe 的 GAMING Tools 一起打包发布了,并且换了个更时髦的名字 Adobe Scott,强烈推荐大家使用。

InfoQ:请列举在开发过程中,您认为还值得改进或提升的 3 件事情?

黄炎中:Adobe 要把 Flash 打造成互联网的游戏机,那么我认为以下几个事情是必须做的。

  1. 提升 ActionScript 的运行速度
    Flash 和传统游戏相比,AS3 的速度要比 C++ 慢上几乎 1000 倍,这样的速度的运行速度已经严重影响了大型游戏登陆的可能性。目前已经有 C++ 登陆 Flash 的解决方案,比如 FLACC。这得以让一部分传统游戏开发者上 Flash 开发。但是我必须指出的是,目前 Flash 开发者还是希望 AS 能够运行的更快一些。

  2. GPU 方面需要增加对失量图形的支持
    现在矢量图形的渲染,仍然是 CPU 完成的。特别大部分 2D 动画是使用 FlashCS 制作的 SWF 文件尤其需要这个特性。如果能够做到的话,那么不但能借助 GPU 大幅提高游戏流畅性,而且由于内容产生流程的完整,将对产业产生深远影响。我们期待这个功能的尽早实现。

  3. 投入更多资源,做好 Flash 的推广工作
    目前卡在使用 Flash 11 进行游戏开发的问题上,Flash 的市场保有率仍然是头等大事。Flash 一个新版本发布到市场覆盖率达到 60% 有大约 8 个月时间。而达到 90% 以上至少需要 1 年。其中还存在哪些浏览器捆绑 FLASH 老版本的情况出现。这些兼容性问题都会导致游戏运行异常。开发商必须花费更多精力去解决兼容性问题。所以希望 Adobe 尽可能保证 Flash 版本更新后的推送工作。

  4. 走过的弯路
    在最初期的时候,我们本来希望做一个版本,能够解决所有兼容性问题。但前面也说了,Flash 11 的普及率没有我们想象中的那么高,大约比普通页游底 10 来个点。为此,项目组也承受了很大的压力。 经过多次评估之后,我们不得不从头开始把美术导出流水线重新进行改造,一套专门导出 Flash 11 版本的,一套专门给 Flash 10 版本使用的。当用户打开游戏的时候自动检查版本号,并且使用对应的资源。

    转换成 Flash 10 版本后,所有东西都保存在内存中,无法使用显存的任何资源。而原来的内存是不够用的。这个转换工作花费了很长时间。美术制作规范几乎推翻重来,我们不得不把角色进行缩小,因为角色是最吃内存的,每个方向,每个动作,每一个画面,都是相乘的关系,人一多,内存使用直接上升。 所以必须进行调整,此外在策划玩法上也做了一定限制,比如某些战场地图,所有玩家的衣服都是和本行会的服装一致的。这样如果只有 2 个行会进行战斗的话,只要用男女各两套,一共 4 套衣服就可以了。这也是可以分享给大家的经验,以后美术上得悠着点用。

相关内容

访谈:人人游戏高级总监顾雷谈游戏设计与开发

谈谈哥们网的游戏开发理念

2013-01-04 20:302576
用户头像

发布了 156 篇内容, 共 50.1 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

提升您的 MQTT 云服务:深入探索 BYOC

EMQ映云科技

物联网 云服务 mqtt

led显示屏保养技巧

Dylan

故障 LED显示屏 设备日常保养

一文回顾 Boundless Hackathon at Stanford 首期 Workshop

鳄鱼视界

挖掘算力产业的创新力量和新型机遇|2023开放原子全球开源峰会先进计算分论坛即将启幕

开放原子开源基金会

开源 算力 先进计算

智能出行 驱动未来|2023开放原子全球开源峰会CARSMOS开源智能出行生态年会即将启幕

开放原子开源基金会

开源 智能出行 CARSMOS

WaveMetrics Igor Pro 9 for Mac(科学计算和数据分析软件)

理理

苹果软件资源站 mac科学计算软件 WaveMetrics Igor Pro 9 Igor Pro 9破解

华为教育中心:奇趣“童”行庆六一 多彩儿童应用助成长

科技热闻

百度倾力出品|《神经网络机器翻译技术及产业应用》正式上线

飞桨PaddlePaddle

人工智能 深度学习 百度飞桨

Mac电脑ps ai beta安装教程及ai绘图如何使用

理理

ps AI绘图 ps ai beta Firefly AI使用教程

开源创新 协同融合|2023开放原子全球开源峰会开源协作平台分论坛即将启幕

开放原子开源基金会

开源 开源协作

AI2023下载 Illustrator mac版 2023 年 4 月版(版本 27.5)的新增功能

理理

AI2023下载 Adobe Illustrator2023 AI2023完美解锁版

对应用数据开发还有疑惑?看这篇就够了!数据存储、管理,通通掌握!

HarmonyOS开发者

HarmonyOS

CodeWhisperer 初体验

天黑黑

AI 亚马逊云 CodeWhisperer

abaqus有限元仿真常见问题(一):数值仿真在产品研发中的作用

思茂信息

CAE abaqus abaqus软件 abaqus有限元仿真

复杂Flink任务Task均衡调度和优化措施

Openlab_cosmoplat

大数据

一次网络请求中的流量分发过程 | 京东云技术团队

京东科技开发者

数据传输 企业号 6 月 PK 榜 流量分发 网络请求

FC红白机游戏600合集 for mac(小霸王游戏) 单机离线版

Rose

Mac游戏下载 FC 红白机游戏 任天堂游戏下载 小霸王游戏

Scrum敏捷项目管理真实案例

顿顿顿

Scrum 敏捷开发 敏捷开发管理 敏捷项目管理 scrum工具

技术的交流 思想的碰撞|2023开放原子全球开源峰会TOC面对面分论坛即将启幕

开放原子开源基金会

开源 社区 TOC

秒验 iOS端集成指南

MobTech袤博科技

世界500强开滦集团的财务共享建设路径

用友BIP

财务共享

重新思考流处理与流数据库

吴英骏

开源 云原生 流处理 ​Rust 实时数据库

植物大战僵尸mac版下载

Rose

植物大战僵尸 mac 植物大战僵尸中文版 植物大战僵尸下载 mac塔防游戏

一文回顾 Boundless Hackathon at Stanford 首期 Workshop

西柚子

客服都要下岗了? 当ChatGPT遇见私有数据,秒变AI智能客服!

WorkPlus

乘云而上,山西软件行业CXO思享会在晋起航

说山水

如何在大学校园内合作运营共享电单车

共享电单车厂家

校内共享电单车 共享电动车投放 共享电单车合作 共享电单车厂家

Java 高效处理千万级数据:技巧与最佳实践

xfgg

Java 大数据

在软件定义汽车的时代,低代码究竟给车企数字化转型带来了什么?

优秀

低代码 车企 车企数字化

软件测试/测试开发丨接口测试学习笔记

测试人

程序员 软件测试 自动化测试 测试开发

mac电脑如何远程控制win?微软远程桌面连接工具来帮你!

Rose

Mac远程控制软件 mac电脑如何远程控制win microsoft remote desktop 微软远程桌面连接工具

盛大游戏黄炎中——"悍将传世"开发经验谈_C++_贾国清_InfoQ精选文章