Now Available – Lumberyard Beta 1.4
We are excited to announce the release of Lumberyard Beta 1.4, which you can now download here. Lumberyard Beta 1.4 contains over 230 improvements, fixes, and new features.
With each release of Lumberyard we get closer to our vision of an ideal game engine – a collection of tools and services, deeply integrated with the AWS Cloud and Twitch, which enable the creation of the highest quality, community-driven games. We want to enable designers and developers to spend more time creating games and connecting with fans, and less time thinking about the tools they use.
Beta 1.4 focuses on two areas: First, you’ll find new improvements to help you build more cost-effective multiplayer games – we help you make more efficient use of cloud resources than was previously possible, and take more control over your network traffic. Second, we’ve focused on continuing to reduce your team’s iteration times, so you can build high-quality gameplay with faster workflows.
Build More Cost-Efficient Multiplayer Games
Amazon GameLift now allows you to run more than one instance of your game’s server code, or one or more instances of multiple game servers, on a single EC2 instance. This flexibility lets you optimize cost and performance when deciding how to structure your multiplayer game’s servers. So if you’re building a game that doesn’t require much computational horsepower, like a Kart Racer, you might be able to run ten instances of your game server on one machine, potentially saving you 90% of the cost.
The design and structure of network data is a key consideration when building a multiplayer game. The size of the data and the frequency with which it is sent has a direct impact on the game’s scalability – more data sent more often means a game server’s capacity will decrease, thereby hosting fewer clients. Some games, especially large community games like e-sports titles, may also require you to encrypt sensitive data so that it can be sent securely.
To this end, we’ve added native encryption support (OpenSSL) and a network traffic profiler that enables you to measure the amount of CPU time and replica bandwidth your game’s network layer is using.
These features let you quickly see the impact of your changes, so you can balance performance and security while staying within the processing time and bandwidth limits allotted to your game’s network layer. For example, using encrypted data can increase bandwidth and CPU usage, so being able to measure the result of such decisions is an important element of data design for games.
The Network traffic profiler
Reduced Iteration Times
To speed iteration times, we’ve added an in-Editor Lua editor and debugger and a new scripting API. If you’ve ever watched a game designer at work, you’ve seen that putting the “fun” into a feature is oftentimes a razor-edged balance of tweaking values – whether they’re timing a combat animation, tuning the amount of force on a springboard, or adjusting the height of an obstacle. Designers enter an almost Zen-like state of interaction with the editor – “the zone,” if you will – whereby they change values and examine the result, then iterate until the feature feels right. Every time the designer has to stop and wait, or switch to another application to make a change, it takes them out of the zone.
So how do we keep designers in the zone? We “hot load” both assets and code so that changes are reflected automatically and immediately with zero interaction required on the part of the designer. Our tools work together with a consistent interaction model, so that designers don’t have to think about how to use a given tool.
Lua can bind to C++ functions at a much higher than environments such as C#, meaning it is lighter-weight and thus more performant. Lua provides what we believe is a great balance of functionality and performance for a scripting system, whether you’re building a mini-game or a AAA extravaganza. Lua scripts no longer require you to switch to an external editor – you can edit them directly within Lumberyard. You can also debug Lua scripts during live gameplay. The ability to edit and debug scripts within the Lumberyard Editor lets game developers focus on designing without the distraction of switching between different applications.
Lumberyard’s Lua editor and Debugger
We’ve also provided a new API that lets designers and animators control an animated character’s Mannequin controller using Lua, making it possible for a developer to write complex animation behaviors that would previously have required an experienced C++ developer. We also streamlined the character animation pipeline, so your animators can do more in fewer steps. We added the ability to hot-load SKIN files, meaning that if you change a SKIN file on disk, the changes will be automatically reloaded into Lumberyard. To define how much of an improvement this is, we measured it. This used to be a four-step process that—depending on the speed of the machine—took roughly 40 seconds; we timed it ourselves to get a good idea of how much effort is saved.
You can also now add physics proxy rules when importing a character model from an FBX file, which saves time by eliminating the need to create and import a collision mesh using external tools. The streamlining of features related to character animation greatly reduces iteration time on what can be a long and arduous set of tasks.
I’ve called out a few of the features in our latest release, but we’ve made many other improvements as well. I encourage you to read the release notes for a comprehensive list of features and improvements. I also want to reiterate that the Lumberyard team always welcomes your feedback and suggestions —visit us on our forums, in our blog comment threads, or email us at firstname.lastname@example.org.
About the Author
Todd Gilbertsen has been building game engines, video games, and other software professionally since the late 1980’s. He is passionate about creating intuitive tools and technologies that enable game developers to focus on being creative. Todd is a Senior Technical Product Manager on Lumberyard.