Building a Better Engine – The Road Ahead
“So, what’s next for Lumberyard..?”
We hear this question a lot—and for good reason. So we thought we’d give you a preview for the months ahead and share some features that have us all really excited here at Lumberyard.
Simply put, our focus for the next few releases is to make Lumberyard easier, more powerful, and more modular. We’re working hard to deliver new systems and features that align with these goals, and your feedback has played a crucial role in that process. Thank you once again for helping us shape the future of this engine.
A lot has changed since we first launched the beta: we’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, we’re working to provide a stable foundation for your 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, our 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 our new, robust animation solution, which was built from technology used by well-known publishers such as EA, Ubisoft, among others. Our 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, we 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. (Note that we don’t expect CryLua, CryAnim, and Flow Graph to have data migration support.)
- More Cloud Gems and AWS Integration – We will continue to build out our portfolio of Cloud Gems. 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, our 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. We’ve gotten lots of great ideas from our customers already, and look forward to seeing more on the Cloud Canvas forums!
- Component Entity Workflows – We will continue to improve our 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. We believe these workflow improvements will result in greater efficiency for you, especially if you’re building large, high-fidelity levels, or games that rely on massive amounts of content.
- Location-independent Game Project – We 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 our community, and we’re excited to deliver it.
- Mobile Performance and Optimization – We are also improving our mobile workflows and performance. Our 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 our 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 – We have two on-going initiatives underway to improve runtime performance (especially for PC and console platforms) as well as stability. First off, we will unify and optimize Lumberyard’s memory management. Our teams are focused on identifying and resolving existing memory leaks while improving the memory usage patterns throughout the engine. Second, we 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 – Our 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, we’re planning a full refactor and modernization of the material and shader system, but we’re going to spend the time to get this right, and this work will go into next year.
- macOS – Our vision has always been to provide a complete, cross-platform experience, so we 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 our customers, especially the ones building iOS games, and we’re excited to give you a first look in the coming months.
And much more
Our team is moving fast, and there are even more initiatives on the horizon as well—we look forward to sharing them in future updates. As always, let us know what you think. Send us your questions and comments at firstname.lastname@example.org.