让世界最速开发成为可能!承担《生化危机7》开发任务的卡普空新引擎RE ENGINE(1)...

本文主要是介绍让世界最速开发成为可能!承担《生化危机7》开发任务的卡普空新引擎RE ENGINE(1)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:最近在读游戏引擎架构,然后读到了这篇去年的文章,深有感触,书中提到的很多东西在这里都有呈现,同时此文无论在引擎设计还是游戏优化方面,以及对于游戏架构的学习上都有很多启发

原文载于:https://cgworld.jp/feature/201702-cgw222T2-bio.html

 

2017年1月26日发售的生化7。用来开发这个游戏的是卡普空社内研发的引擎[RE ENGINE]。融入浓厚的卡普空游戏哲学的最先进的本引擎,待我们来详细了解。

※本文从 月刊「CGWORLD + digital video」vol. 222(2017年2月号)转载

EDIT_藤井紀明 / Noriaki Fujii(CGWORLD)、山田桃子 / Momoko Yamada
©CAPCOM CO., LTD. 2017 ALL RIGHTS RESERVED.

 

可以制作3A游戏的新引擎

        游戏引擎正如其名是用来驱动和推进游戏开发,现在引擎这一工具,已经被当今世代很多游戏的开发所使用。卡普空也不列外,至今为止开发的游戏,都是长期以来使用被称为【MT FRAMEWORK】的社内研发游戏引擎所开发。然而,在卡普空代表作之一的「biohazard」系列的最新作「biohazard7 resident evil」(以下简称「生化7」)开发的时候,开发组希望能有一个能够提供更高表现力,提高开发效率的游戏引擎。「于是卡普空以“能够制作社内3A游戏的引擎”为目标,开始了名为「RE ENGINE」引擎的开发」(制作人 川田将央氏)。

 

       于是RE ENGINE和「生化7」并行开发,于2014年4月开始启动。然而开发的道路却似乎并不平坦。「2014年末「生化7」Vertical slice(※一种在场景内塞入游戏的主要功能的试作品)完成。在这里设下了目标有必要让RE ENGINE以某种程度的形式呈现」(Lead Programer 石田智史氏)。非常严格的日程表和极高的目标,为了实现两者,以当时作为RE ENGINE的总经理的田原武文氏和石田氏为首的3人的少人数团队进行了引擎的基本部分的设计。那之后,增加了4~5名如图形程序师三嶋仁氏等核心成员,现在以大约50人的规模继续开发。

 

以世界最快速为目标的「快速迭代(Rapid Iteration)」

        RE ENGINE主要的特征为,其开发迭代的快速。虽然在MT FRAMEWORK时代的卡普空在游戏开发效率上也非常重视,到了当今时代,asset的数量,整体容量等,伴随游戏规模爆发性的增大,到现在为止的引擎已经无法满足的情况增多了。比方说,游戏代码的一部分修改后的编译生成要花大概15分钟,从根本上进行游戏引擎的重新设计的必要性已经迫在眉睫。于是,RE ENGINE全部的架构已经焕然一新。以迭代速度为重点,进行各种功能的增加。

        首当其冲的,是以C#作为游戏代码的描述(A-1)。RE ENGINE的全部游戏逻辑由C++转为用C#进行coding,于是从C++时代的让人烦恼的长时间编译生成中解放出来。虽然用C#开发被泛用引擎Unity等所采用,伴随着开发效率的提高,在大规模化上的性能问题也经常被提到。于是卡普空为了使RE ENGINE能够承担3A游戏的制作,开发了独立的虚拟机「REVM」。于是即使使用C#开发,也和C++开发并无差异,根据不同场景,甚至实现了比C++更高的性能。「使用C#,因为有了自动内存管理,不但减少了内存泄漏、经常性的程序崩溃,程序的开发速度也获得了极大的提升」

        此外,RE ENGINE的远程实机编辑也成为可能(A-3).RE ENGINE实现了Runtime和工具组件(Tool)的完全分离。基于TCP/IP的同步,工具在PC上,Runtime在PS4上的分离成为可能。于是,在此之前为了在PS4等进行实机运行调试,必须要专门打个包,在实机上展开(deploy),而RE ENGINE则完全省略了这一过程。开发作业中能够进行实时(realtime)的实机调试确认。此外,也提供被称为Widget的Runtime上运行的工具,承担了一部分的作业效率化。VR等开发手法还未确立的领域,实机确认无论怎么实现,因为能和质量(Quality)直接联系,说这些功能是非常重要的应该是无可否认的。此外,基于Tool和Runtime的分离,MT FRAMEWORK时代的问题如运行时崩溃(runtime crash)导致的数据丢失也可以得到预防。

A-1 基于C#的实时编码(realtime coding)

RE ENGINE以迭代速度为优先,开发的时候,实现了把C#代码从IL(中间语言)向独立的微代码(micro code)的转换。由于这一点,无需重启即可实时呈现代码变更。

 

RE ENGINE 编辑器上进行游戏

 

增加了控制手材质(material)的C#代码

游戏运行无需中断,即可实时呈现。可以了解材质是否替换

A-2 基于REVM的性能比较

 

REVM的benchmark结果(PS4)。绿色的是C#(REVM),红色的是C#排除了其他功能(REVM),蓝色为C++。数值越小速度越快,REVM的性能并不比C++差,基于不同场景有时甚至会更好。

REVM开发时和发布(Release)时的性能比较。发布时实行以性能优先,C#代码由IL向C++转换。结果脚本的运行速度为原来的2~3倍

A-3 基于REVM性能比较

和PS4远程连接后,可直接在实机上进行编辑。画面左侧是RE ENGINE,右侧为PS4的实机画面。RE ENGINE上编辑的内容通过远程对象(remote object)即刻反应在PS4上。

 

后续:http://www.cnblogs.com/kira-trash-can/p/8290600.html

 

转载于:https://www.cnblogs.com/kira-trash-can/p/8290356.html

这篇关于让世界最速开发成为可能!承担《生化危机7》开发任务的卡普空新引擎RE ENGINE(1)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/348249

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者