As AWS continues to evolve, it moves from being an infrastructure as a service provider to a platform for application development and runtime infrastructure. While many AWS back-end services are tailored to the enterprise, other services such as Mobile Hub and Device Farm have commercial uses. And Amazon Lumberyard is the newest among those. Here's a deeper dive into Lumberyard features.
Amazon Lumberyard is a development platform and back-end engine for standalone connected, multiplayer 3D games with features that simplify scene and character creation, 3D modeling, image rendering, object motion, light physics, and audio and game play scripting. Similar to other game engines -- Unity, Unreal, Double Helix and CryEngine -- Lumberyard reduces the overhead and complexity of writing low-level rendering and physics code using DirectX, OpenGL and XNA. The service can also simplify the creation of interactive, multiplayer games using features that integrate them with Twitch, the live game-streaming platform and social network that Amazon acquired in 2014.
Lumberyard doesn't provide runtime for game play, meaning that single-player games that run solely on a client device and require no back-end cloud services can use Lumberyard as a free development platform. Connected games or those using back-end services like databases, rendering farms, user identification and authentication, or social connections that require online infrastructure can run on AWS, other cloud services or private servers. For example, Lumberyard works with Amazon GameLift, AWS' other game service, to provide the infrastructure to deploy, run or scale multiplayer games.
Deeper dive into Lumberyard features
The gaming service includes an integrated development environment (IDE) that includes editors for source code, characters, animations, particle effects and the game interface. The IDE simplifies development of indoor and outdoor game environments using a Photoshop-like canvas. Developers can use Lumberyard features, like the graphical editor to design the entire game environment, including creating levels, objects, terrain, lighting, animations and layers with 3D navigation controls familiar to gamers. Lumberyard generates C++ code that can be modified in its native editor or external IDE such as Visual Studio, Eclipse or Sublime Text using the AWS SDK.
Other Lumberyard features include the following:
- Cloud Canvas: A visual scripting interface to AWS that simplifies the use of services like DynamoDB, Lambda, Simple Storage Service, Cognito, notifications and message queues to create online game features like community news feeds, sharing scores and server-side combat resolution.
- Event bus: A general-purpose system for message handling that facilitates event-driven programming with support for concurrency, predictability -- proper handling of event order -- and debugging.
- Flow graph: A visual scripting system that simplifies the development of complex game logic without writing or modifying C++ code. Developers can start with and customize a library of prebuilt nodes to set up gameplay, control sounds and manage effects.
- GridMate: Networking subsystem designed for gaming with features that minimize latency and bandwidth use.
- GameLift: This service simplifies deployment, scaling and ongoing management of back-end game infrastructure using AWS. For example, developers can provision Elastic Compute Cloud (EC2) to scale from a single instance to hundreds or thousands on demand.
- Geppetto: Graphical editing tool for creating animated characters by associating one or more skinned models with an animation skeleton and a list of character animations.
- Lua scripting: Provides support for Lua, a scripting language that many graphical and gaming applications use. Developers can expose game functions written in C++ allowing them to be called by script files or console commands.
- Twitch ChatPlay: A framework for building customized game interactions between broadcasters and spectators on Twitch that can include chat commands, polls and surveys, some of which can be triggered by Twitch viewers through a chat channel.
- Twitch JoinIn: Uses GameLift session information and allows games that are broadcasted on Twitch to invite selected viewers into their game session.
Expanding beyond the board
The target audience for Amazon Lumberyard is game developers, which makes sense given that group's numbers and the size of the gaming market. But Lumberyard features -- real-time lighting, shading, special effects and post effects – that could also be useful for enterprise applications, like 3D CAD, data visualizations and graphics editing.
With virtual reality support "coming soon" and its potential to improve work like product assembly and inspection, various medical procedures and real estate design and sales, Lumberyard offers many opportunities for enterprises that need to speed the pace and quality of graphical application development.
Pricing and availability
Amazon Lumberyard is free; however, it's designed to use AWS as the back-end engine for compute and data via GameLift, which has launched in two AWS regions -- US East and US West -- where a basic GameLift deployment uses a c3.large EC2 instance. The AWS free usage tier provides 125 hours per month -- up to one year, after which rates are based on the on-demand EC2 usage rates plus 50 gigabytes per month per instance for Elastic Block Store and $1.50 per month for every 1,000 daily active users.
Lumberyard is still a beta product; version 1.4 was released in early August 2014 and includes more than 230 improvements, fixes and new features. The Lumberyard documentation includes several sample projects that illustrate its use.
Healthcare, HPC primed for AWS vertical growth
Amazon Lumberyard TOS feature nugget for TV watchers
AWS acquisition hints at IDE tool expansion