写点什么

对话《X 幻想》贾可:与客户端媲美的 Java 网页游戏引擎 JGnet

  • 2013-07-10
  • 本文字数:2168 字

    阅读完需:约 7 分钟

在电脑游戏领域,这几年的一个显著变化就是基于浏览器的网页游戏的用户量越来越大,逐渐取代了传统 PC 客户端网络游戏的统治地位。随着 Web 技术的成熟,网页游戏的运行、渲染效果,已经越来越接近传统的客户端。

《X 幻想》是一款网页游戏,该项目被描述为“拥有媲美客户端网游的精美画面及炫丽特效”,整体基于 JGnet 引擎开发——这是一款由中国团队自主研发的 Java 游戏开发引擎。

为什么要选择 Java 来进行 RIA 引擎的开发?开发过程中最大的挑战在哪里?Web 技术的成熟对网页游戏的开发都造成了哪些影响?InfoQ 编辑与《X 幻想》背后的公司,汉森信息技术有限公司的 CEO 贾可进行了沟通,对以上话题进行了探讨。

嘉宾简介:贾可,1997 年进入游戏业,任新浪游戏制作论坛版主,曾被《互动软件》杂志评为“2002 年中国游戏业十大风云人物”之一,国内 RIA 概念主要倡导者之一,现任汉森信息有限公司 CEO。汉森信息成立于 2008 年,是一家跨平台云游戏开发公司,拥有自主知识产权的跨平台云游戏开发引擎 JGnet。目前是国内 4 屏 1 云网络游戏的主要产品提供商。公司总部在成都,在苏州和深圳有全资子公司。2013 年主要产品为网页游戏《X 幻想》、横跨 PC/Android/iOS/ 智能电视的超极网游《群侠传》。

InfoQ:您提到《X 幻想》是基于 JGnet 引擎开发的,而这是你们公司自己开发的一套与 J2SE 兼容的 RIA 引擎。这款引擎目前开发到第几个版本了?仍然是商业化引擎,没有开源么?

贾可:JGnet 引擎是汉森信息全自主开发的跨平台云游戏引擎,专门用于开发跨平台的网络云游戏,基于该引擎开发的游戏已经超过 7 款。

现 JGnet 引擎已经开发到 3.0 版本,除了服务器端采用 Java 之外,客户端还可以支持 Java、Flash、C++ 等多种语言。

《X 幻想》就是基于 JGnet3.0 开发的,服务器端和客户端全部采用 Java。JGnet 引擎我们还没有对外商业化,只是自己在使用。汉森信息 2009 年和甲骨文成立联合实验室的目的,也是希望能将 JGnet 引擎进行部分开源,让更多的开发者能使用 Java 开发高性能的跨平台云游戏。

InfoQ:当时,你们选择 Java 进行 RIA 引擎的开发,而没有选择 Flash 或 Silverlight 等 RIA 技术。当时选型的时候,是如何对不同技术进行考量和评估的?选择 Java,最主要的原因是什么?

贾可:因为我们在 2006 年就开始研发在浏览器上运行的即时战斗网络游戏。

那时,Silverlight 还没有出来,而 Flash 在那时,也根本不可能开发对效率要求极高的即时战斗网页游戏。

而 Java 是当时在网页上开发即时战斗游戏最有可能的语言了。我们在 2007 年开发出来了全球第一款即时战斗网页游戏《暗战》。此时,国外也只有一款 3D 的即时战斗网页游戏《RuneScape》。

InfoQ:对于 Web 游戏引擎而言,开发过程中最大的挑战在哪一部分?

贾可:当然是效率。

Web 游戏在开发难度上的限制非常多,远比客户端网游的复杂。特别是开发本身对 CPU、内存、带宽都有很高要求的即时战斗游戏,复杂度是翻倍的。

而《X 幻想》不仅仅是即时战斗网游,而且还是即时战斗游戏中,负载要求最高的海量角色即时格斗网游。所以,运行效率、表现力、稳定性,对我们来说是一个极大的挑战。这也是《X 幻想》从 2009 年 10 月开始,整整研发了近 4 年的主要原因,我们也因此成为中国研发时间最长的网页游戏了。

InfoQ:这几年浏览器技术、HTML5 等规范逐渐成熟,对 Web 游戏这个领域造成了哪些影响?

贾可:主要影响最直接的,还是来自于 Flash 在客户端编程效率的突飞猛进,原来 Flash 不能开发的高负载应用,现在基本上都可以开发。当然,服务器端,我们认为还是 Java 的天下。

Web 游戏现在已经开始全面替代客户端游戏,在技术上,现在就剩最高端的 3D 客户端游戏还没有被 Web3D 替代完,所有 2D 游戏、低面 3D 游戏,我们可以认为已经全部可以在 web 上实现全部效果。

这和我在 2007 年演讲的时候,预计的 Web 游戏在技术上,全面替代客户端游戏的时间点基本接近。

InfoQ:现在,开源和不开源的商业化游戏开发引擎已经很多。如果现在要选择,你仍然会选择自己研发一套引擎吗?还是会考虑使用一个现成的商业化引擎?

贾可:大部分知名的商业化引擎,都是踏着无数实验者的尸体成名的。使用没有开发出多个稳定产品的引擎来做商品,得冒极大的风险。

现在要选择的话,两者都会考虑。我们现在研发的产品比较多了,多用两种技术路线,可以降低整体风险。

InfoQ:对于 Java 技术在页游领域之后的发展,您如何看?

贾可:2011 年 3 月,我在甲骨文总部和 Nandili 聊的时候,提到过希望甲骨文对 Java 开发跨平台云网游的有专门的支持,我们也很愿意贡献自己的经验。不过,这几年感觉动作还是慢了一些。眼看着 Flash、U3d 这些技术在跨平台云网游领域越来越强大,我们却越来越孤独。

就现在来看,Flash 在页游领域的地位几乎是统治性的。

而现在的手游领域,Java 编写的网游,只能运行在 Android 手机上,还不能高效的在 iPhone 上面运行。这对原本在手机游戏上占有统治地位的 Java 生态,有直接的影响。

甲骨文可以选择几个跨平台的开源引擎,几个坚持用 Java 开发网游的公司,与他们深度合作,多做几个“一次研发,Windows 桌面 +Web、iOS、Android 多平台直接运行”的高效运行商品出来,真正让 java 的核心理念“一次开发、多平台运行”,在游戏市场上成为现实。

我始终坚信,跨平台开发是未来,人们需要一次开发、多平台运行的游戏。

2013-07-10 02:102619

评论

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

2. 妈呀,Jackson原来是这样写JSON的

YourBatman

Java json Jackson Fastjson

腾讯面试题: 百度搜索为什么那么快?

小松漫步

面试

架构师训练营第八周笔记

Melo

架构师训练营第八周学习总结

张明森

高能预警!Apache Flink Meetup · 上海站返场啦

Apache Flink

flink

【区块链+通证经济】从量变到质变区块链发展的下一阶段是什么?

CECBC

数字货币 防篡改 通证

胡继晔:发挥我国优势把依法治网落实到区块链管理中

CECBC

CECBC 胡继晔 依法治网 数字货币监管

阿里巴巴大规模应用 Flink 的实战经验:常见问题诊断思路

Apache Flink

flink

主宰操作系统的经典算法

苹果看辽宁体育

后端 操作系统

报志愿|想学区块链,要上什么大学?报什么专业?

CECBC

高考 报考志愿 区块链专业 高校学院

推荐 16 款 IDEA 插件,让你的开发速度飞起来!

Bruce Duan

idea插件

CDN百科第七期 | 关于CDN的原理、术语和应用场景那些事

阿里云Edge Plus

CDN

Flink Weekly | 每周社区动态更新

Apache Flink

flink

LeetCode题解:1. 两数之和,JavaScript,双循环暴力解法,详细注释

Lee Chen

大前端 LeetCode

Vue 学习笔记-3

多选参数

vue.js Vue vuejs

Vue 学习笔记-2

多选参数

vue.js Vue vuejs

英特尔中国研究院宋继强:芯片、系统、软件成为异构计算的三层级

最新动态

JVM系列之:对象的锁状态和同步

程序那些事

JVM GC 同步

脑洞:基于Enterprise Continuum证明DDD用于构建汽车的可行性

冯文辉

企业架构 领域驱动设计 DDD 架构演进

LeetCode001-两数之和-easy

书旅

算法 LeetCode 数据结构与算法

第7周作业

文古

敏捷软件开发宣言及十二原则

BigYoung

敏捷开发

IO系列——用户空间与内核空间

Java联盟

io 零拷贝 用户空间 内核空间 zero copy

最高法主张加强数字货币产权保护有法可依

CECBC

数字货币 法偿货币 中国人民银行 虚拟财产

除了技术,加密货币开发者更应关注可使用性

CECBC

加密货币 用户为本 可使用性 容错机制

OAM 深入解读:如何基于 OAM Runtime 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

如何识别刷屏文章中的伪科学

Lee Chen

大前端 随笔杂谈

关于中台,可能都是正确的废话

FinClip

中台 业务中台

性能优化

独孤魂

Demo 示例:如何原生的在 K8s 上运行 Flink?

Apache Flink

flink

四十个鹏城春夏,一场数字繁花

脑极体

对话《X幻想》贾可:与客户端媲美的Java网页游戏引擎JGnet_Java_sai_InfoQ精选文章