中国虚拟军事网(VME)- 专注于武装突袭系列虚拟军事游戏

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 5718|回复: 21

[新闻] 武装突袭3(ARMA3)引擎将支持任何一种能够编译后兼容Java虚拟机(JVM)的编程语言!

  [复制链接]
发表于 2011-12-19 19:44:05 | 显示全部楼层 |阅读模式
官方原话:http://forums.bistudio.com/showpost.php?p=2073101&postcount=3

Few random remarks:

  • the engine should be be able to run code written in any programming language that can compiled for Java Virtual Machine but we did not experiment with it so far ( quite few, Logo anyone )
  • for now, bridge to all existing scripting commands is present
  • it is possible create new scripting commands to take full advantage of JVM (performance, nicer interface)
  • Arma 3 is going to build upon this technology, so if you can, Take On Java now and help us to shape it up

我靠,官方难道想用JVM来驱动整个可扩展环境?

针对大家的疑问,我仅从我个人对JVM的理解给大家抛砖引玉一下:

  • JVM不等于Java,JVM是一种编译层技术,他可以将任何支持JVM字节码的语言编译为具体的机器指令,JVM是跨平台的,Java是一种“平台无关”的语言;
  • 目前不知道官方对JVM的应用是怎么样的,结合运行效率问题我认为可能仅仅是将JVM用于扩展环境,用于将客户脚本编译为游戏运行的具体指令,所以在效率上应该影响不大;
  • 用JVM的好处有很多,首先是支持大量的流行的脚本语言,比如Lua,可以实现真正面向对象的脚本编程,可以利用各种语言语法的先进性和灵活性实现更加优秀的开发效率和效果;
  • 跨平台,这个结合ARMA一贯的Windows/Linux服务器端非常好理解,我觉得这是选择JVM的根本原因所在,你不能让在Windows上写的脚本在Linux上无法运行。
  • 集成开发环境,现有的Java和Lua等语言都能够在Eclipse等开源继承开发环境(IDE)下进行搞笑开发和项目的管理,想一想语法着色、错误提示、智能感知、源代码管理甚至可视化编辑就让人万分的激动!


在我看来,这是ARMA系列有史以来最令人激动人心的革命性改进之一!ARMA3的可扩展性将达到一个前所未有的高度,任何游戏都将继续在其扩展性面前战栗!

另外,从此以后,写ARMA3的脚本再也不会被视为不务正业了,神马SQS、SQF,老子用的是Lua和Java,正经的编程语言!木哈哈哈!


以下是官方在《驾驭直升机》(TOH)补丁中使用新的脚本系统的说明,看来我猜想的没错:

Hi fellow scripters,

Initially we had hoped to release the major upgrade to our scripting technology with Patch 1.03, but we were not able to get it fully implemented in time. Therefore we're pushing the ability to use Java to the next patch

Why is this awesome™?
  • Using a widespread, proven and robust language with loads of documentation and tutorials.
  • Using IDEs such as NetBeans and Eclipse for development and debugging.
  • Using Object-Oriented programming architecture and design.
  • Using generally much higher performance script execution.
  • Using many standard Java libraries instead of reinventing the wheel.

Note: this will not replace SQF scripting, so the transition should be smooth.               

发表于 2011-12-19 20:19:54 | 显示全部楼层
那缺点呢?
发表于 2011-12-19 20:25:47 | 显示全部楼层
msy 发表于 2011-12-19 20:19
那缺点呢?


缺点我个人担心运行效率问题,脚本什么的用虚拟机没什么问题,毕竟本来就是运行在游戏平台之上。但是如果插件的定义都用虚拟机的方式运行有可能会有效率问题,当然好处肯定是方便插件开发了,咱可以用熟悉的语言写脚本,就是不知道能不能直接用于模型定义上。
发表于 2011-12-19 20:30:11 | 显示全部楼层
其实可以想到,估计这个项目最早是从ARMA2手机版开始的。
 楼主| 发表于 2011-12-19 20:47:52 | 显示全部楼层
msy 发表于 2011-12-19 20:30
其实可以想到,估计这个项目最早是从ARMA2手机版开始的。


我敢保证一点关系也没有,那个手机版完全是为了在安卓系统上运行,不牵扯引擎级的使用。
 楼主| 发表于 2011-12-19 20:48:07 | 显示全部楼层
已添加我个人的详细看法!
发表于 2011-12-19 20:57:52 | 显示全部楼层
本帖最后由 hiddenzone 于 2011-12-19 22:14 编辑

IL这样的编译过的东西?
发表于 2011-12-19 21:25:55 | 显示全部楼层
如果说游戏运行的同时要并行运行虚拟机,多少对效率是有影响的吧。当然也许影响不大,但是Java虚拟机本身效率我就有些担心,我印象很深的一个就是大红曾经用Java写过一个继承算法的寻路应用,效率很不理想。但是第二次他改用Ruby效率大大提高。当然我觉得如果BIS要搞,最好是搞成等同Java虚拟机原理的一个编译器,游戏运行前把虚拟机可读懂的脚本等语句编译成BIS游戏语句然后执行,这样游戏运行时不带虚拟机运行,对效率肯定就没影响了。
 楼主| 发表于 2011-12-19 21:47:30 | 显示全部楼层
cycle6 发表于 2011-12-19 21:25
如果说游戏运行的同时要并行运行虚拟机,多少对效率是有影响的吧。当然也许影响不大,但是Java虚拟机本身效 ...

你还是没搞清楚JVM,在我看来,BI利用JVM只编译游戏运行指令即可,JVM他也仅仅用很少一部分功能,效率上应该不会有太大影响。
发表于 2011-12-19 23:46:47 | 显示全部楼层
Alex.XP 发表于 2011-12-19 21:47
你还是没搞清楚JVM,在我看来,BI利用JVM只编译游戏运行指令即可,JVM他也仅仅用很少一部分功能,效率上应 ...

你是说编写指令仅仅是符合虚拟机读取格式,BI依然要把用Java或其他JVM兼容的语言编译成游戏可读的语句然后再执行是么?也就是说游戏运行时并不直接跟虚拟机有什么联系?
 楼主| 发表于 2011-12-20 08:59:32 | 显示全部楼层
cycle6 发表于 2011-12-19 23:46
你是说编写指令仅仅是符合虚拟机读取格式,BI依然要把用Java或其他JVM兼容的语言编译成游戏可读的语句然后 ...

ARMA执行脚本的时候是把脚本预编译成游戏引擎所支持的指令,所以JVM也仅仅会是做到这一层,当你的脚本编译完成之后,JVM也就不会直接参与引擎级别的运行了。
发表于 2011-12-20 09:15:33 | 显示全部楼层
Alex.XP 发表于 2011-12-20 08:59
ARMA执行脚本的时候是把脚本预编译成游戏引擎所支持的指令,所以JVM也仅仅会是做到这一层,当你的脚本编译 ...


哦,那就好那就好,我也就是担心以下效率问题。其实我想也应该如此。
发表于 2011-12-20 10:51:30 | 显示全部楼层
如果用Eclipse开发A3的脚本,我会很感兴趣!哈哈{:soso_e113:}
发表于 2011-12-20 12:39:34 | 显示全部楼层
不懂,就是想问问,以后如果玩的精了,能不能过计算机二级或者三级什么的玩玩?虽然我很反感考试,但是如果顺手考过,我还是很乐意的。
发表于 2011-12-20 13:26:06 | 显示全部楼层
不错哦,Java没怎么接触过,C++还可以,看来有机会借助A3学学Java了
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-5-3 21:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表