Thursday 21 September 2017

Lumberyard: Building a Better Engine

Amazon decided to give a preview for the months ahead and share some features to be added to Lumberyard.

The focus for the next few releases is to make Lumberyard easier, more powerful, and more modular. The team is working hard to deliver new systems and features that align with these goals, and your feedback has played a crucial role in that process. 

A lot has changed since the engine was first launched: they’ve replaced over 60% of the original codebase, switching out older, redundant systems (e.g. CryEntity) for more modern, performant ones (e.g. Component entity systems)—and this will continue to be the case. While some new systems are still in preview, the team is working to provide a stable foundation for users’ current and future games, so you can build and innovate confidently moving forward. You can also expect more detailed tutorials and documentation to support these systems in the months to come.

So what exactly are these new systems and features? Here’s a glimpse of what you can expect in the next couple of releases:

  • Script Canvas – Script Canvas, the new visual scripting language, will provide a high performance, flexible scripting language in a familiar node interface, so content creators can build gameplay with little to no programming experience. Built entirely from the ground up to be compatible with Lumberyard’s component entity and Behavior Context system, Script Canvas enables teams to easily use any combination of visual scripting, Lua, or C++ coding in their game project. Script Canvas will replace Flow Graph.
  • Brand new animation system – Siggraph attendees got a sneak peek at new, robust animation solution, which was built from technology used by well-known publishers such as EA, Ubisoft, among others. The goal here is simple: help animators build amazing characters in Lumberyard with little to no engineering help. This new system will replace the existing CryAnim functionality, including Geppetto and Mannequin, and include functionality such as a visual state machine, support for linear skinning, joint scaling, and much more.
  • CryEngine Legacy Deprecation – In addition to streamlining the editor experience, the team will soon hide the legacy functionality to better signal to customers which systems are forward-looking. This effort will help developers migrate from legacy entity systems to the new component entity system, and will include a data converter tool for developers still using some of the older CryEntity systems. A significant number of legacy system data will be auto-converted to the new component model in the next few releases—all in an effort to remove CryEntity systems from Lumberyard early next year. 
  • More Cloud Gems and AWS Integration – soon, you’ll see a Cloud Gem that helps capture in-game surveys from your players, as well as a gem that leverages the power of Amazon Lex and Amazon Polly to build speech recognition, text-to-speech, and conversational gameplay experiences. From there, the roadmap considers new gems that reduce or automate engineering effort to build common connected and social features (e.g. push notifications, metrics, monetization tools, dynamic content, etc.), accelerate production (e.g. asset processing), and enable new player experiences. 
  • Component Entity Workflows – they will continue to improve the component entity workflows, especially in the areas around usability and interoperability with the Entity Inspector, Entity Outliner, and viewport. These improvements also include better support for working on large scale levels with lots of content, improved entity organization and manipulation capabilities, and better slice manipulation and collaboration tools – working towards the eventual ability to open and edit a slice that is not part of a level. 
  • Location-independent Game Project – they plan on delivering Project Configurator changes and build system improvements that enable customers to store their game and gems in any arbitrary location. This has been a popular request from the community.
  • Mobile Performance and Optimization – they are also improving mobile workflows and performance. Their efforts will continue to improve frame rate on minimum spec devices (iPhone 5S+ and Android Nexus 5 and equivalents), improve battery life usage for applications, and reduce memory and app size footprint on iOS and Android (currently at ~25MB minimum size, but we’ll continue to work to make it smaller).
  • Memory Management and Thread Unification – they have two on-going initiatives underway to improve runtime performance (especially for PC and console platforms) as well as stability. First off, they will unify and optimize Lumberyard’s memory management. The teams are focused on identifying and resolving existing memory leaks while improving the memory usage patterns throughout the engine. Second, they also plan on migrating the engine’s various threading mechanisms to the AZCore job system, enabling further threading performance improvements and load balancing.
  • New Shader and Material System – the short term objectives are to improve the usability of the material and shader system by converting sub-materials into individual material assets, enabling the concept of a shared material library, and letting a developer author a new surface shader without compiling C++. Longer term, they’re planning a full refactor and modernization of the material and shader system, but they’re going to spend the time to get this right, and this work will go into next year.
  • macOS – the vision has always been to provide a complete, cross-platform experience, so they are also providing the tools necessary for developing Lumberyard games on macOS. This includes the Lumberyard editor and all its associated tools, the asset processor, the shader compiler and, of course, the renderer. Mac support has been a popular request from the customers, especially the ones building iOS games.

© a.sergeev for 80lvl, 2017. | Permalink | One comment | Add to
Post tags: , ,

Feed enhanced by Better Feed from Ozh

Read the full article here by 80lvl

No comments: