Diferencia entre revisiones de «Desarrollo de Videojuegos con Unreal Engine»

De Wikiversidad
Contenido eliminado Contenido añadido
Sin resumen de edición
Línea 245: Línea 245:
* [https://answers.unrealengine.com/ Sistema de preguntas y respuestas], [https://wiki.unrealengine.com/Main_Page wiki oficial de la comunidad de desarrolladores] y [https://forums.unrealengine.com/ foros oficiales] de Unreal Engine 4
* [https://answers.unrealengine.com/ Sistema de preguntas y respuestas], [https://wiki.unrealengine.com/Main_Page wiki oficial de la comunidad de desarrolladores] y [https://forums.unrealengine.com/ foros oficiales] de Unreal Engine 4


En segundo lugar, algo de información adicional (también en inglés, y algún documento también de la comunidad oficial de desarrolladores):
En segundo lugar, algo de información adicional (también en inglés, documentos provenientes en su mayoría de la comunidad oficial de desarrolladores):


* [https://en.wikipedia.org/wiki/Unreal_Engine Unreal Engine en la Wikipedia]
* [https://en.wikipedia.org/wiki/Unreal_Engine Unreal Engine en la Wikipedia]
* [http://www.hourences.com/ Sitio web de Hourences], uno de los mayores expertos en Unreal

* [https://wiki.unrealengine.com/UE3_to_UE4_Transition_Guide Guía para hacer la transición a UE4 desde la experiencia con UE3/UDK]
* [https://wiki.unrealengine.com/UE3_to_UE4_Transition_Guide Guía para hacer la transición a UE4 desde la experiencia con UE3/UDK]



Revisión del 10:07 13 ene 2015

Desarrollo de Videojuegos con Unreal Engine
Código: DVUE
Requisitos: Diseño y Desarrollo de Videojuegos
Duración: 50 horas
Evaluación: Trabajo final
Tema de estudio: Desarrollo de Videojuegos
Nivel: Universitario 2014-2015
Escuela: Facultad de Informática
Departamento: Ingeniería de Sistemas


Bienvenido a este proyecto de aprendizaje dedicado a conocer los fundamentos del entorno Unreal Engine y a utilizar sus diversas herramientas para desarrollar videojuegos de un nivel de complejidad entre básico e intermedio.

Este proyecto forma parte de la Wikiversidad. Te invitamos a saber más sobre ella y a averiguar cómo dar tus primeros pasos por aquí. Además te recomendamos consultar el manual de estilo y las políticas que aplican a la hora de trabajar en la edición colaborativa de estas páginas.

Objetivos

Este proyecto de aprendizaje nos ofrece la posibilidad de estudiar la organización interna y el funcionamiento de un entorno tan potente como es Unreal Engine (actualmente en su versión 4.6.1) y aplicarlo en el desarrollo de videojuegos de complejidad moderada, trabajando desde el punto de vista del diseñador de juegos, un perfil de desarrollador de videojuegos que debe contar con algunos conocimientos en creación y edición de recursos gráficos 2D/3D y sonoros y en programación orientada a objetos y basada en eventos. En este proyecto se hace especial hincapié en las herramientas imprescindible para construir escenarios, integrar personajes y objetos, realizar secuencias animadas y definir comportamientos en base a esquemas de programación visual.

Además se nos incita a poner en práctica lo aprendido desarrollando un proyecto real, es decir, un pequeño juego con los elementos necesarios para demostrar lo que es posible desarrollar en este entorno en poco tiempo y sin demasiado esfuerzo ni experiencia previa.

Materiales didácticos

Los principales materiales didácticos de este proyecto son las lecciones que se desarrollan colaborativamente entre todos los participantes. Estas lecciones, y en general cualquier actividad que se realiza en este proyecto de aprendizaje, puede tener asociadas una serie de lecturas recomendadas: fuentes bibliográficas, guías, tutoriales, enlace a la documentación oficial de Epic Games o de otros foros o comunidades de desarrolladores, etc. Las fuentes más relevantes a todo el proyecto de aprendizaje se recopilan en la sección de referencias de esta misma página.

Disponemos de un calendario, con las fechas reales del primer curso que se impartió y que sirvió como base para este proyecto y donde se anotaron las tareas reales que se iban realizando día a día. La idea es que estas fechas y tareas puedan servir como referencia a la hora de adaptar el proyecto de aprendizaje a las circunstancias concretas de cada participante.

Lecciones

A continuación se presenta un listado con las distintas lecciones que se van generando como material didáctico para este proyecto de aprendizaje. Es importante que sigas estos consejos para redactar lecciones a la hora de modificarlas o crear algunas nuevas.

Las lecciones están divididas en nueve grandes bloques. Las lecciones identificadas como "avanzadas" pueden ser ignoradas por aquellos participantes que todavía no tengan expereincia en desarrollo de videojuegos con Unreal Engine.

Bloque 1: Instalación y proceso de desarrollo

Lecciones:

  1. Requisitos
  2. Instalación
  3. Visión y uso general
  4. Ejemplo del proceso de desarrollo de un videojuego

Bloque 2: Creación de niveles y contenidos

Estas lecciones exponen cuestiones básicas que es necesario conocer acerca del entorno integrado de desarrollo de videojuegos Unreal Engine.

Lecciones básicas:

  1. Manejo básico del entorno (posicionar actores, etc.)
    1. Guía rápida
    2. Actores
    3. Etiquetas para actores
  2. Fundamentos de Unreal Engine (del motor)
  3. Fundamentos de Unreal Editor (el editor de niveles)
  4. Gestión de contenidos
  5. Niveles
  6. Cámaras (https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/UsingCameras/index.html en vez de llevármelo a gameplay)

Level Design

Los entornos integrados de desarrollo de videojuegos Una panorámica del entorno El motor Unreal y sus herramientas La plataforma Unreal Engine 4 Requisitos e instalación de Engine 4 (llevármelo muy al principio) Los primeros pantallazos El marketplace Recursos para aprender Los proyectos (una vez hayan visto uno abierto y tal…)

Lecciones avanzadas:

  1. Unreal Engine avanzado
  2. Unreal Editor avanzado
  3. Gestión de contenido avanzada (mucho)
  4. Creación de contenidos [para Artistas]... parte al bloque 3, seguramente
  5. Transmisión de niveles (para mundos contínuos... y persistentes -MMOG y similar-)

Bloque 3: Creación de escenarios y efectos visuales

Estas lecciones...

Lecciones básicas:

  1. Renderizado (geometría, mallas estáticas y de otros tipos)
  2. Texturas
  3. Iluminación
  4. Materiales y sombreadores
  5. Sistemas de partículas
  6. Efectos de post-procesamiento

Lecciones avanzadas: (ya para enriquecer escenarios)

  1. Rendering avanzado?
  2. Iluminación avanzada
  3. Materiales avanzados
  4. Creación de materiales [para Artistas]
  5. Sistemas de partículas (¿y otros efectos especiales?) avanzados
  6. Efectos de post-procesamiento

Bloque 4: Programación de sucesos y comportamientos

Estas lecciones hacen referencia al ...

Lecciones básicas:

  1. Modelo del juego, de sus niveles y escenarios (conceptos básicos de gameplay, armazón/arquitectura de Unreal con pawn, character, etc.)
  2. Programación textual (C++) y visual (esquemas)
  3. Entradas del usuario
  4. Maneras y recomendaciones para comunicar esquemas https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/BlueprintCommsUsage/index.html
  5. Encontrar actores dentro de esquemas https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/FindingActors/Blueprints/index.html
  1. Lógica del juego (mediante esquemas/blueprints)
    1. Guía sobre cómo hacer...
  2. Dinámica del nivel (mediante esquemas/blueprints)
    1. Guía sobre cómo hacer...
  3. Mecanismos del escenario (mediante esquemas/blueprints)
    1. Guía sobre cómo hacer...
    2. Líneas de tiempo
    3. Sobre cómo mover cámaras: https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/UsingCameras/Blueprints/index.html
  4. Simulación física
    1. Colisiones y fuerzas a nivel básico
  5. Inteligencia artificial
    1. Guía sobre cómo hacer
  6. Programación en C++ [Programadores]

Lecciones avanzadas:

  1. Entradas del usuario avanzadas (touch?)
  2. Lógica del juego avanzado (mediante esquemas/blueprints)
    1. Guía sobre cómo hacer...
  3. Dinámica del nivel avanzado (mediante esquemas/blueprints)
    1. Guía sobre cómo hacer...
  4. Mecanismos del escenario avanzado (mediante esquemas/blueprints)
    1. Guía sobre cómo hacer...
  5. Simulación física
    1. Vehículos
  6. Inteligencia artificial avanzada
    1. Hacer Splines con esquemas:

https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/Blueprint_Splines/index.html

https://docs.unrealengine.com/latest/INT/Videos/Player/index.html?series=PLZlv_N0_O1ga0aV9jVqJgog0VWz1cLL5f&video=wR0fH6O9jD8&utm_source=uelauncher&utm_medium=software&utm_campaign=learntab

    1. Behavior Tree, como este tutorial de Víctor Blanco.
    2. Guía sobre cómo hacer..
  1. Programación en C++ avanzada [Programadores], tal vez con su lógica, dinámica y mecanismos

Muy bueno, sobre cómo ir gestionando la creciente complejidad en los blueprints que programamos: https://www.unrealengine.com/blog/managing-complexity-in-blueprints

Programar sistemas de uso de objetos, como este tutorial de Víctor Blanco.

Los Blueprints vienen siendo un Kismet 2 (internamente las clases C++ que los compilan se llaman Kismet, de hecho). Aunque ya no haya UnrealScript, los blueprints se compilan a UnrealScript bytecodes: https://docs.unrealengine.com/latest/INT/Engine/Blueprints/TechnicalGuide/Compiler/index.html

Ahora ya hay un inventario hecho con Blueprints y UMG también, en los tutoriales oficiales.

Bloque 5: Gestión de recursos audiovisuales

Lecciones básicas:

  1. Música
  2. Sonidos

Lecciones avanzadas:

  1. Integración de video (Media Framework, para el inicio)

Bloque 6: Creación de animaciones

Lecciones básicas:

  1. Sprites y flipbooks (con Paper2D?)
  2. Sistema de animación Persona
  3. Animación por fotogramas clave
  4. Animación esqueletal
  5. Editor de cinemáticas Matinee
  6. Cinemáticas

Lecciones avanzadas:

  1. Paper2D avanzado
  2. Animación por fotogramas avanzado
  3. Animación esqueletal
  4. Cinemáticas (secuencias interactivas o no interactivas, basadas en fotogramas clave) avanzadas

Efectos especiales y cinemáticas | Gráficos que se mueven y otras cuestiones

Animation discussion, including Animation Blueprint, Persona, Skeletal Meshes, and more.

Bloque 7: Creación de la interfaz de jugador

Estas lecciones hacen referencia al ... interfaz gráfica del usuario/jugador

Lecciones básicas:

  1. Menú del juego (con esquemas, tal vez Slate básico [Programadores?])
  2. HUD in-game (con UMG y esquemas)

Lecciones avanzadas:

  1. Menú del juego (Slate avanzado, [C++? Programadores] se puede hacer hasta un editor de Unreal)
  2. HUD in-game avanzado (con UMG y esquemas)

Bloque 8: Optimización y distibución del juego

Estas lecciones hacen referencia al ...

Lecciones básicas:

  1. Análisis de rendimiento (profiling)
  2. Implantación (generar el juego)
    1. Compilar el código fuente, "cocinar" el contenido para la plataforma, empaquetarlo todo...
  3. Distribución y ¿comercialización? [Marketing]

Lecciones avanzadas:

  1. Análisis de rendimiento avanzado
  2. Optimización de rendimiento avanzado (eliminación de características para realidad virtual, por ejemplo)
  3. Implantación para plataformas específicas
    1. Web
    2. Móvil
      1. Android
      2. iOS
    3. Realidad virtual
      1. Rift
  4. Distribución y ¿comercialización? avanzada [Marketing] (subida al marketplace y tal)

Bloque 9: Desarrollo profesional de videojuegos

Estas lecciones hacen referencia al ... futuro, a seguir aprendiendo... son todas lecciones avanzadas

Lecciones avanzadas:

  1. Trabajo colaboratorivo (Engine Source, con Subversion y Performe... plugin para Git/GitHub)

Trabajo futuro | Seguir aprendiendo y experimentando Más blueprints Trabajando con programación en C++

Discuss GitHub, using source code to modify the engine, and the creation of engine plugins.

Sobre qué directorios y ficheros ignorar cuando se trabaja con el proyecto compartido en un sistema de control de versiones: http://gamedev.stackexchange.com/questions/72248/which-unreal-engine-4-project-files-can-i-ignore-in-source-control

Generación procedural de contenidos. Un videotutorial de Training Twitch (no se encuentra directamente en el buscador de la documentación oficial) https://docs.unrealengine.com/latest/INT/Videos/Player/index.html?series=PLZlv_N0_O1ga0aV9jVqJgog0VWz1cLL5f&video=mI7eYXMJ5eI

Así se presenta una demo en la GDC: https://www.unrealengine.com/blog/demo-your-project-at-the-game-developers-conference

Plugin de Mercurial, pero también otras formas de hacer interfaces de usuario: http://lycaeum.ultimacodex.com/unreal-engine-4-gets-coherent-mercurial/

Posibles cursos que se organicen, como el curso que está intentando montar Víctor Blanco en la Facultad de Informática de la Universidad Complutense de Madrid

Asegurarnos de que este curso TRINIT es de Unreal 4, no UDK: http://trinit.es/curso/Curso_13_09_14_Taller_Iniciacion_Unreal_Engine_Centro_Recursos

Anexos

Para complementar y resumir el contenido más relevante de las lecciones se pueden generar anexos complementarios a estas.

Actualmente tendríamos uno en proceso de construcción:

Referencias

A continuación se presentan las lecturas recomendadas y a la vez las fuentes más utilizadas para conseguir información en este proyecto de aprendizaje.

En primer lugar, la información que puede obtenerse de Epic Games, los propios creadores de Unreal Engine (todo en inglés):

En segundo lugar, algo de información adicional (también en inglés, documentos provenientes en su mayoría de la comunidad oficial de desarrolladores):

Y finalmente, información generada por la comunidad de habla hispana:

  • Unreales, comunidad hispana de UDK y Unreal Engine 4

Participantes activos

Participantes activos en este grupo de aprendizaje: