Diferencia entre revisiones de «Desarrollo de Videojuegos con Unreal Engine»
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, |
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
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:
- Requisitos
- Instalación
- Visión y uso general
- 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:
- Manejo básico del entorno (posicionar actores, etc.)
- Guía rápida
- Actores
- Etiquetas para actores
- Fundamentos de Unreal Engine (del motor)
- Fundamentos de Unreal Editor (el editor de niveles)
- Gestión de contenidos
- Niveles
- 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:
- Unreal Engine avanzado
- Unreal Editor avanzado
- Gestión de contenido avanzada (mucho)
- Creación de contenidos [para Artistas]... parte al bloque 3, seguramente
- 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:
- Renderizado (geometría, mallas estáticas y de otros tipos)
- Texturas
- Iluminación
- Materiales y sombreadores
- Sistemas de partículas
- Efectos de post-procesamiento
Lecciones avanzadas: (ya para enriquecer escenarios)
- Rendering avanzado?
- Iluminación avanzada
- Materiales avanzados
- Creación de materiales [para Artistas]
- Sistemas de partículas (¿y otros efectos especiales?) avanzados
- Efectos de post-procesamiento
Bloque 4: Programación de sucesos y comportamientos
Estas lecciones hacen referencia al ...
Lecciones básicas:
- Modelo del juego, de sus niveles y escenarios (conceptos básicos de gameplay, armazón/arquitectura de Unreal con pawn, character, etc.)
- Programación textual (C++) y visual (esquemas)
- Entradas del usuario
- Maneras y recomendaciones para comunicar esquemas https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/BlueprintCommsUsage/index.html
- Encontrar actores dentro de esquemas https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/FindingActors/Blueprints/index.html
- Lógica del juego (mediante esquemas/blueprints)
- Guía sobre cómo hacer...
- Dinámica del nivel (mediante esquemas/blueprints)
- Guía sobre cómo hacer...
- Mecanismos del escenario (mediante esquemas/blueprints)
- Guía sobre cómo hacer...
- Líneas de tiempo
- Sobre cómo mover cámaras: https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/UsingCameras/Blueprints/index.html
- Simulación física
- Colisiones y fuerzas a nivel básico
- Inteligencia artificial
- Guía sobre cómo hacer
- Programación en C++ [Programadores]
Lecciones avanzadas:
- Entradas del usuario avanzadas (touch?)
- Lógica del juego avanzado (mediante esquemas/blueprints)
- Guía sobre cómo hacer...
- Dinámica del nivel avanzado (mediante esquemas/blueprints)
- Guía sobre cómo hacer...
- Mecanismos del escenario avanzado (mediante esquemas/blueprints)
- Guía sobre cómo hacer...
- Simulación física
- Vehículos
- Inteligencia artificial avanzada
- Hacer Splines con esquemas:
https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/Blueprint_Splines/index.html
- Behavior Tree, como este tutorial de Víctor Blanco.
- Guía sobre cómo hacer..
- 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:
- Música
- Sonidos
Lecciones avanzadas:
- Integración de video (Media Framework, para el inicio)
Bloque 6: Creación de animaciones
Lecciones básicas:
- Sprites y flipbooks (con Paper2D?)
- Sistema de animación Persona
- Animación por fotogramas clave
- Animación esqueletal
- Editor de cinemáticas Matinee
- Cinemáticas
Lecciones avanzadas:
- Paper2D avanzado
- Animación por fotogramas avanzado
- Animación esqueletal
- 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:
- Menú del juego (con esquemas, tal vez Slate básico [Programadores?])
- HUD in-game (con UMG y esquemas)
Lecciones avanzadas:
- Menú del juego (Slate avanzado, [C++? Programadores] se puede hacer hasta un editor de Unreal)
- 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:
- Análisis de rendimiento (profiling)
- Implantación (generar el juego)
- Compilar el código fuente, "cocinar" el contenido para la plataforma, empaquetarlo todo...
- Distribución y ¿comercialización? [Marketing]
Lecciones avanzadas:
- Análisis de rendimiento avanzado
- Optimización de rendimiento avanzado (eliminación de características para realidad virtual, por ejemplo)
- Implantación para plataformas específicas
- Web
- Móvil
- Android
- iOS
- Realidad virtual
- Rift
- 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:
- 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:
- Glosario de términos y acrónimos de cara a establecer una traducción coherente entre el inglés y el español
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):
- Documentación oficial de Unreal Engine 4, incluidos los foros
- Videotutoriales del canal oficial de video de Unreal Engine 4
- Recursos del sitio web oficial de Unreal Engine 4 como libros, guías y presentaciones
- Sistema de preguntas y respuestas, wiki oficial de la comunidad de desarrolladores y foros oficiales de Unreal Engine 4
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):
- Unreal Engine en la Wikipedia
- Sitio web de Hourences, uno de los mayores expertos en Unreal
- Guía para hacer la transición a UE4 desde la experiencia con UE3/UDK
Y finalmente, información generada por la comunidad de habla hispana:
- Pequeño espacio para conocer a desarrolladores españoles en los foros oficiales de Unreal Engine 4, así como a desarrolladores latinoamericanos
- Serie de tutoriales en Español sobre Unreal Engine 4 (del blog de Fernando Castillo, alias nan2cc)
- Unreales, comunidad hispana de UDK y Unreal Engine 4
Participantes activos
Participantes activos en este grupo de aprendizaje:
- Federico Peinado (Iniciador del proyecto)
- <-- Apunta tu nombre aquí