Amazon Lumberyard: Introducción, Instalación, Primeras Horas
() translation by (you can also view the original English article)



Introducción
Lumberyard es el más reciente motor de juegos 3D que llega al mercado. Es un motor de plataforma multiplataforma que ofrece profunda integración tanto con la infraestructura de Amazon Web Services (AWS) como con Twitch para mejorar la experiencia de juego online.
La tecnología del motor de Lumberyard se basa en CryEngine. Amazon compró la licencia de una versión de CryEngine y tuvo acceso completo a su tecnología. Ello no significa que CryEngine dejará el mercado, ya que Lumberyard sólo representa una rama de la tecnología CryEngine. Ambas estarán presentes y lucharán por una cuota de mercado.
Lumberyard es un poderoso motor de juegos AAA lleno de funcionalidades que te permite crear juegos para la más reciente generación de consolas (Xbox One y PlayStation 4). El soporte para dispositivos móviles también es una meta (el motor ya tiene opciones de renderizado para iOS y Android).
La amplia gama de características de Lumberyard incluyen las siguientes:
- Técnicas de renderizado vanguardistas como: renderizado basado en física, iluminación global dinámica, ondulaciones dinámicas de la superficie del agua, destellos de lentes HDR, desenfoque de movimiento, profundidad de campo, entre muchas otras.
- Editor de juego en tiempo real que permite iterar en elementos de juego e inmediatamente ver los resultados.
- Red Robusta a través del uso de un subsistema de red flexible llamado GridMate. GridMate se integra con los principales servicios de red online y te permite manejar tipologías de servidor cliente peer to peer con migración de host.
- Modular Gems te ofrece una librería de varias características pre-elaboradas (cámara, controles, y entorno, entre otras) que pueden usarse para empezar nuevos proyectos rápidamente. Gems te da un mayor control sobre que tecnologías quieres incluir en tu proyecto.
- Desarrollo en C++, y acceso total a su código fuente en C++ nativo. El motor (y todo su código fuente) se puede descargar y usar gratuitamente. Sin embargo, Amazon espera generar dinero a través del uso de su servicio de computación en la nube AWS.
Toma en cuenta que Lumberyard aún está en fase beta.
¿Quién Debería Leer Ésta Serie de Tutoriales?
Ésta serie de tutoriales está principalmente enfocada en dos grupos de desarrolladores de juegos:
- los que no están nada familiarizados con motores de juego
- los que están familiarizados con otros motores de juego (como Unity, Unreal Engine, o CryEngine), pero no con Lumberyard.
Asumo que tienes algún conocimiento de notaciones de gráficos en computadora, así que no cubriré exhaustivamente todas las notaciones.
Requisitos Previos
Para instalar y tener una experiencia aceptable mientras se utiliza Lumberyard, tu computadora debe satisfacer ciertos requisitos mínimos:
- Windows 7 o superior (sólo versiones de 64 bits)
- Intel Quad-Core (i 2300), AMD Octo-Core (FX810), o mejor
- 8GB de RAM (al menos)
- NVIDIA GeForce 6600Ti. Radeon HD790, o mejor
- 40 GB de espacio en disco
- Visual Studio 2013 (Community, Pro, o Ultimate) con la actualización 4
Nota que si estás en el umbral de los requisitos mínimos, puedes tener una experiencia de calidad inferior. En ese caso, recuerda que puedes disminuir la calidad de los gráficos en: File > Global Preferencies > Configure.
Instalación
El primer paso en éste tutorial es descargar Lumberyard. La versión actual (v.1.1) pesa unos 5.3GB. Mientras se realiza la descarga, debes registrarte con Amazon.com (si todavía no tienes una cuenta).
Para instalar Lumberyard, puedes descargar un completo paquete de archivos (.zip) o utilizar un instalador (.exe). Aunque el resultado es el mismo; éste tutorial usa la versión del paquete.
Paso 1: Extracción
Después de que se completa la descarga, extráelos a una ruta que no tenga espacios en el nombre. Por ejemplo, no extraigas los archivos a C:\Archivos de Programa\Lumberyard porque la ruta tiene un espacio en él. Un ejemplo de una ubicación aceptable es C:\Lumberyard.
Ahora tienes Lumberyard instalado en tu computadora, pero antes de ejecutarlo, necesitas configurar tu entorno y eventualmente instalar software adicional.
Paso 2: Configuración
El próximo paso es configurar el entorno para asegurar que tengas el software necesario para ejecutar el motor. Para tal propósito, utilizarás el lanzador de Lumberyard (LumberyardLauncher.exe), que puede encontrarse dentro del directorio donde previamente instalaste Lumberyard. Ejecuta el archivo LumberyardLauncher.exe y debería aparecer una interfaz similar.
El Lanzador te ayudará a asegurarte que siempre tengas el software necesario para la ejecución de tareas. Te muestra donde se ubica la ruta de instalación predeterminada y qué acciones pueden realizarse basándose en el software que actualmente está instalado.
Tu siguiente paso es seleccionar tres opciones:
- Ejecutar tu proyecto de juego
- Ejecutar el Editor de Lumberyard y las Herramientas
- Compilar el código del juego
Nota que tan pronto seleccionas una de las opciones mencionadas, la parte izquierda del Lanzador es modificada y varios menús aparecen (Install software , Install SDKs, Install Plugins). Una palomita verde significa que todo está OK, mientras que una cruz roja significa que algo está mal (falta algún software).
Si ves al menos una cruz roja, debes investigar lo que ocurre. Haz click en Next (esquina inferior derecha) o haz click en Ia opción Install software (Instalar software). Se presenta una lista de software disponible y faltante.
Necesitas instalar todo el software Faltante (Missing software). Continúa y haz click en Install it (Instalarlo) para cada software que hace falta. Cuando tengas una palomita verde en Install software, haz click en Next (Siguiente).
La interfaz Install Plugins (Instalar Plugins), como su nombre lo sugiere, "te permite usar ciertas características y funcionalidades entre software de terceros y Lumberyard". En éste punto no necesitas agragar ningún plugin, pero tómalos en cuenta. Son principalmente útiles cuando quieres importar recursos desde Photoshop, Autodesk Max, o Autodesk Maya. Haz click en Next.
Paso 3: Lanzador de Lumberyard
La interfaz Summary muestra registro de actividades (basado en acciones previas) y tres principales opciones:
- Configurar proyecto
- Lanzar el editor de Lumberyard
- Una lista de software opcional que pudieras querer instalar.
Ésta interfaz de aquí en adelante se llama Lumberyard Launcher (o simplemente Launcher). Haz click en Configure project (configurar proyecto).
El Project configurator muestra varios proyectos con configuraciones, paquetes y recursos específicos. Aquí puedes crear tus proyectos y seleccionar los recuros o configuraciones específicas que el proyecto utilizará.
Inicialmente tienes únicamente dos proyectos disponibles (MultiplayerProject y SamplesProject). Como el nombre lo sugiere, el primero es un proyecto multijugador, mientras que el segundo es un proyecto más genérico (inicialmente lo estarás utilizando).
Es más, si lo notas, el SamplesProject es resaltado con un palomita blanca. Ello significa que éste proyecto es el proyecto predeterminado cargado por Lumberyard. Haz click en Enable packages (Habilitar paquetes).
Aquí accesas a las Gems (Gemas) disponibles de Lumberyard. Una Gem es una colección de recursos y otros elemenetos para extender o modificar la funcionalidad en aplicaciones Lumberyard. Varias Gems están disponibles, como puedes ver.
Cierra ésta ventana y regresa a Lumberyard Launcher.
Recuerda que siempre puedes accesar al Launcher usando el ejecutable LumberyardLauncher.exe disponible en el directorio dev\Bin64 bajo tu ruta de instalación de Lumberyard. Ahora es momento de hacer click en el editor de Launch Lumberyard.
Paso 4: Editor de Lumberyard
Una nueva interfaz (Asset Processor) debería aparecer. El Asset Processor es responsable de cargar los recursos del proyecto predeterminado de Lumberyard (el resaltado en el Project Configurator). El tiempo estimado es de poco más de 10 minutos.
Pronto el Lumberyard Editor debería cargarse.
Espera a que el Asset Processor termine su trabajo. Más adelante, te presentaré un escenario donde cargas un proyecto que no tiene todos los recursos disponibles.
Recuerda que, al igual que con el Launcher, siempre puedes accesar al Editor utilizando el ejecutable Editor.exe disponible en el directorio dev\Bin64 bajo tu ruta de instalación de Lumberyard.
Layout (Maquetación) del Editor
Antes de utilizar el Lumberyard Editor, necesitarás aprender la configuración de su layout, y cómo navegar dentro de la Perspective Viewport (Ventana Gráfica de Perspectiva).
La interfaz del Lumberyard Editor se divide en las siguientes áreas (cada una representada numéricamente en la siguiente imagen):
- Main menu (menú principal): Accesar a todas las funciones y configuraciones del motor de juego.
- Editor toolbar (barra de herramientas del editor): las herramientas más comúnmente utilizadas (Select, Move, Rotate, Scale, Lock on, Ruler, Snapping, entre otras). Se compone de tres barras: EditMode, Object, Editors.
- Viewport header: barra de búsqueda y varias opciones de visualización para la Perspective Viewport (visualizar resolución, relación de aspecto, helpers, entre otros).
- Perspective Viewport: una vista previa de tu entorno 3D. Es dónde ocurre la acción.
- Viewport controls: varios controles para objetos seleccionados, ubicación del mouse, velocidad de navegación, detección de colisión de la cámara, AI/Físicas y otros.
- Console: Muestra de elementos de entrada y salida entre el usuario y el Editor.
- Rollup Bar: Accesar a objetos y herramientas para crear y gestionar contenido en la Perspective Viewport.



La Rollup Bar es más compleja de lo parece inicialmente, ya que maneja todas las propiedades, definiciones y características de todos los objetos dentro de la Perspective Viewport. Por lo tanto, es importante enumerar sus pestañas:
- Objects: contiene opciones para Inteligencia Artificial, Entidades (Actor, Arquetipo, Componente, Geometría, Partículas), Audio, Pinceles, y Prefabs, entre otros.
- Terrain: contiene opciones para aplicar, modificar, y remover terrenos, vegetación, agujeros, Niebla, Viento, Nubes, Skyboxes y otros.
- Modeling: contiene opciones para el manejo de la geometría, como selección de tipos de geometría y mostrar tipos (prototipo, asignación de un color único, geometría total).
- Display: contiene opciones concernientes a la configuración de renderizado, es decir, nubes, caminos, Niebla, Terreno y Sky box (cielo), entre otros.
- Layers: como su nombre lo indica, contiene opciones para organizar tus recursos por capas.
Abrir el Primer Nivel
Ahora es momeneto de abrir tu primer nivel y jugar con él. Dentro de la ventana Welcome to Lumberyard Editor, haz click en Open level.
Luego, expande el GettingStartedFiles, elige el getting-started-completed-level, y haz click en Open.
Nota que la lista de archivos y ejemplos presentados aquí pertenece al proyecto que es establecido por defecto.



Pronto una pequeña aldea 3D es presentada:



Navegación de Nivel 3D
Navegar dentro de la Perspective Viewport es fácil, ya que utiliza los controles tradicionales de juegos de disparos en primera persona (FPS).
Acción | Tecla del Teclado |
---|---|
Desplazarse hacia adelante | W |
Desplazarse hacia atrás | S |
Desplazarse a la izquierda | A |
Desplazarse a la derecha | D |
Para que quede claro, nota que puedes modificar éstas teclas si quieres (más sobre eso más adelante).
Ya que escenas 3D se componen de objetos o entidades, puedes interactuar con ellos usando el mouse.
Acción | Botón del Mouse |
---|---|
Seleccionar objetos | Botón izquierdo del mouse |
girar a la izquierda/derecha, mirar arriba/abajo | Botón derecho del mouse |
paneo a la izquierda, derecha, arriba o abajo | Botón de en medio del mouse |
Acercarse, alejarse | Rueda del mouse o (botón derecho del mouse + botón de en medio del mouse) |
Antes de continuar leyendo el tutorial, puedes invertir algún tiempo en experimentar con éstos controles dentro de la aldea de ejemplo (o cargar cualquier otro demo de los disponibles). Para cargar otro demo sólo necesitas seleccionar File > Open y elegir otro ejemplo.
Instalación de Recursos
Lumberyard actualmente ofrece tres recursos y códigos adicionales listos para usarse que puedes utilizar como ejemplos:
- Woodland: Una colección recursos sobre naturaleza (bosque, vegetación y otros elementos naturales).
- Beach City: Una noche oscura y tormentosa que contiene varios recursos (autos, casas, vegetación).
- Legacy Games Sample: Un juego FPS listo para usarse, incluyendo complejos caracteres animados, vehículos y acciones inteligentes (IA) . Éste ejemplo usa los recursos del ejemplo woodland.
El primer paso es descargarlos todos.
Paso 1: Woodland
El recurso Woodland es el más fácil de instalar ya que viene empaquetado como una Gem. Descomprime el archivo zip Woodland en el directorio dev\Gems dentro de tu instalación Lumberyard predeterminada.
Para verificar que esté bien, abre el Project configurator > Enable packages; en la parte inferior deberías ver ahora la Woodland Asset Collection.
Para agregar el recurso Woodland al SamplesProject (tu actual proyecto predeterminado), sólo necesitas marcar la casilla y esperar a que el Asset Processor cargue todos los recursos.
Paso 2: Beach City
Para instalar el Beach City, debes seguir los siguientes pasos:
- Descomprime el archivo zip Beach City en tu directorio Lumberyard \dev.
- Navega hasta dev\_WAF_(dentro del directorio de instalación).
- Edita el archivo *projects.json y agrega lo siguiente al final del archivo antes de la última llave de cierre:
1 |
{
|
2 |
...
|
3 |
"BeachCity": { |
4 |
"product\_name": "BeachCity", |
5 |
"executable\_name": "BeachCityLauncher", |
6 |
"code\_folder": "Code/BeachCity", |
7 |
"project\_directory" : "BeachCity", |
8 |
"modules" : ["BeachCity"] |
9 |
}
|
10 |
}
|
Ahora abre el Project configurator, haz click en Configure project, selecciona BeachCity y haz click en Set as default.



Abre el Editor y abre el nivel (Open level > BeachCity_NightTime). Si todo está funcionando, deberías poder navegar dentro el entorno de Beach City. Nota que por defecto éste recurso no tiene un Camera Framework, así que solo puedes (por ahora) navegar en el modo Editor.



Paso 3: Legacy Game Sample
La instalación de Legacy Game Sample es similar a Beach City.
- Descomprime el archivo zip de Legacy Game Sample en el directorio de tu motor.
- Navega hasta dev\_WAF_(dentro del directorio de instalación).
- Edita el archivo projects.json y agrega lo siguiente al final del archivo antes de la última llave de cierre:
1 |
"GameSDK": { |
2 |
"product\_name": "GameSDK", |
3 |
"executable\_name": "GameSDKLauncher", |
4 |
"code\_folder": "Code/GameSDK", |
5 |
"project\_directory" : "GameSDk", |
6 |
"modules" : ["GameSDK"] |
7 |
} |
El projects.json completo es ahora:
1 |
{
|
2 |
"SamplesProject": { |
3 |
"product_name" : "Samples Project", |
4 |
"executable_name" : "SamplesProjectLauncher", |
5 |
"code_folder" : "Code/SamplesProject", |
6 |
"project_directory" : "SamplesProject", |
7 |
"modules" : ["SamplesProject"], |
8 |
|
9 |
"android_settings": { |
10 |
"package_name" : "com.cryengine.sdk", |
11 |
"orientation" : "landscape" |
12 |
}
|
13 |
},
|
14 |
"MultiplayerProject" : { |
15 |
"product_name" : "Multiplayer Project", |
16 |
"executable_name" : "MultiplayerProjectLauncher", |
17 |
"code_folder" : "Code/MultiplayerProject", |
18 |
"project_directory" : "MultiplayerProject", |
19 |
"modules" : ["MultiplayerProject"], |
20 |
|
21 |
"android_settings": { |
22 |
"package_name" : "com.cryengine.sdk", |
23 |
"orientation" : "landscape" |
24 |
}
|
25 |
},
|
26 |
"BeachCity": { |
27 |
"product_name": "BeachCity", |
28 |
"executable_name": "BeachCityLauncher", |
29 |
"code_folder": "Code/BeachCity", |
30 |
"project_directory" : "BeachCity", |
31 |
"modules" : ["BeachCity"] |
32 |
},
|
33 |
"GameSDK": { |
34 |
"product_name": "GameSDK", |
35 |
"executable_name": "GameSDKLauncher", |
36 |
"code_folder": "Code/GameSDK", |
37 |
"project_directory" : "GameSDk", |
38 |
"modules" : ["GameSDK"] |
39 |
}
|
40 |
}
|
Antes de probar el Legacy Game Sample necesitar realizar un paso adicional. Abre un Command Prompt en tu directorio dev de Lumberyard y ejecuta el siguiente comando:
1 |
lmbr_waf configure |
Si tienes algún error, debería resolverse por los siguientes pasos:
- Abre el Launcher.
- Selecciona Compile the engine y asset pipeline.
- Instala el software requerido.
Ejecuta de nuevo el comando lmbr_waf configure
.
Para probar éstos recursos sólo necesitas abrir el Project configurator, haz click en Configure project, selecciona GameSDK y haz click en Set as default. Espera hasta que el Asset Processor cargue todos los recursos. Ahora puedes jugar un completo FPS dentro de Lumberyard.



Para ingresar al modo de juego, debes seleccionar desde Main menu la opción Game > Switch to Game.
Conclusión
Ésto concluye éste tutorial introductorio a Lumberyard. Aprendiste dónde y cómo descargar, instalar y configurarlo. Luego aprendiste las notaciones básicas de la interfaz y la navegación. Finalmente, descubriste cómo importar, configurar y utilizar los recursos externos disponibles.
Si tienes alguna pregunta o comentario, como siempre, con toda confianza escríbelo en la sección de abajo.