Está en la página 1de 29

VIDEOJUEGOS 2

Motores para videojuegos


V2 Motores para videojuegos

Puntos a tratar
• ¿Qué es un motor?
• Origen de los motores
• Elementos de un motor
• Arquitectura del motor
• Ventajas de los motores
• Tipos de motores
• ¿Qué motor utilizar?
• Motores disponibles
• Herramientas asociadas

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 2


V2 Motores para videojuegos

¿Qué es un motor?

• Sistema software para la creación de videojuegos

• Proporcionan
• API y SDK para el desarrollo
Algunos motores pueden permitir crear juegos sin necesidad de
escribir código
Algunos proporcionan su propio lenguaje de script

• Conjunto de herramientas de edición


Algunos motores no proporcionan herramientas visuales, pero
pueden existir herramientas de terceros

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 3


V2 Motores para videojuegos

Origen de los motores (I)


• En los inicios
• Todo el juego estaba contenido en el ejecutable
• Intratable conforme avanza su complejidad
Pinball Construction Set, 1983

• Con el surgimiento de los sistemas de ficheros surgen nuevas


posibilidades
• Separar “ejecutable” y datos
• Permite cambiar contenidos sin cambiar el gameplay
• Tenemos motores reutilizables (data-driven)

• Evolución
• Definir el comportamiento también como datos

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 4


V2 Motores para videojuegos

Origen de los motores (II)


• A finales de los 80 las compañías hacían sus
propios motores, normalmente cerrados
• Script Creation Utility for Maniac Mansion
(SCUMM), de Lucas Arts
• Sierra’s Creative Interpreter (SCI) de Sierra

• En 1993 aparece Doom Engine


• Tanto datos como comportamiento se define en
ficheros WAD
• Se trata de un motor abierto
• Cualquiera puede editar WADs

• El término “motor de videojuegos” empieza a


utilizarse a mediados de los 90

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 5


V2 Motores para videojuegos

Origen de los motores (III)

• El enfoque de Doom es aplicado a futuros juegos


• Quake (id Software), donde surge el motor id Tech
• Unreal (Epic Games), donde surge Unreal Engine,
uno de los motores más populares en la actualidad

• Hoy en día tenemos motores de propósito general


• El código se reduce al mínimo, genérico y
reutilizable
• Es necesaria extensa documentación debido al
aumento de su complejidad
• Algunos motores proporcionan Sistemas de
Creación de Contenidos (CCS)

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 6


V2 Motores para videojuegos

Elementos de un motor

Gráficos Vídeo Scripting

Física Audio I.A.

Entrada Ficheros Red

Algunos motores sólo incorporan funcionalidades de


render 3D, como OGRE o Irrlicht

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 7


V2 Motores para videojuegos

Arquitectura del motor


• Orientada a objetos

Gestor de
recursos

Servicios del motor Escena

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 8


V2 Motores para videojuegos

Módulos del motor

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 9


V2 Motores para videojuegos

Escena del juego

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 10


V2 Motores para videojuegos

Patrón fachada
• Ocultamos tras los módulos del motor las librerías a utilizar
• No debemos utilizar sus clases desde otros módulos
• Por ejemplo, sólo accedemos a Irrlicht desde “Graphics”

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 11


V2 Motores para videojuegos

Alternativa: Componentes
• Podemos utilizar una arquitectura orientada a componentes
• Adecuada cuando tenemos gran número de tipos de entidades
• Reutilizamos sus componentes en diferentes entidades

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 12


V2 Motores para videojuegos

Scheduler
• Podemos añadir un scheduler a nuestro motor
• Útil para definir secuencias de acciones

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 13


V2 Motores para videojuegos

Motores y Middleware
• Un motor de videojuegos podría ser visto como un
middleware que nos permite desarrollar videojuegos
• Sin embargo, el término middleware de videojuegos
se refiere normalmente a subsistemas que pueden
ser integrados en el motor y se especializan en
tareas concretas
• Ejemplos
Interfaz Scaleform GFx
Vídeo Bink, CRI Movie
Físicas Havok, PhysX, Bullet, ODE
Audio FMOD, Wwise, Miles
Render y animación SpeedTree, FaceFX, Umbra, Simplygon
I.A. Kynapse, NavPower, PathEngine, Havok AI

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 14


V2 Motores para videojuegos

Ventajas de los motores (I)


• Mejoran el flujo de trabajo
• Separación de programadores, artistas, músicos, diseñadores, etc
• Cada componente del equipo trabaja sobre sus ficheros de datos

• Reusabilidad
• Nos permite reutilizar el mismo software para varios videojuegos
• Data-Driven Development

• Portabilidad
• Abstracción del hardware
• Nos permiten desplegar en múltiples plataformas

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 15


V2 Motores para videojuegos

Ventajas de los motores (II)


• Menor coste de desarrollo
• Algunos ofrecen entornos y herramientas que facilitan el trabajo
• Permiten llegar al mercado más rápidamente (time to market)

• Evolución del hardware


• Conforme aumenta la complejidad se necesita mayor organización
• El coste de hacer un motor propio crece con el avance de la
tecnología

• Utilizar un motor ya implementado permite centrarse en lo que


hace a nuestro juego diferente
• El motor se ocupa del ciclo del juego, modelo de objetos, gestión de
memoria, render, animaciones, físicas, pipeline de contenidos, etc

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 16


V2 Motores para videojuegos

Costes de desarrollo por generación

Generación Coste
PSX $2M - $5M
PS2 $5M - $12M
PS3 $10M - $25M

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 17


V2 Motores para videojuegos

Tipos de motores
• Según las facilidades ofrecidas
• Librerías de apoyo que facilitan el desarrollo: SDL, XNA, DirectX,
OpenGL. Gran flexibilidad. Mayor tiempo de desarrollo. Hay que
crear herramientas propias.
• Motores completos: OGRE, Unreal, id Tech. Requieren algo de
programación (scripting)
• Herramientas de creación de videojuegos: GameMaker, ShiVa,
Torque, Unity. Poco flexibles, a veces sólo sirven para determinados
géneros.

• Según la licencia
• Motores comerciales (algunos con licencia gratuita)
• Motores OpenSource

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 18


V2 Motores para videojuegos

¿Qué motor elegir?


• Un motor requiere aprendizaje y familiarizarse con las herramientas
• Es importante tomar una buena decisión
• El más sencillo que se adapte a nuestras necesidades
• Motores como UDK pueden ser difíciles de abarcar para pequeños estudios
• Una buena documentación y soporte de la comunidad es fundamental,
¡comprobar que no se haya abandonado!
• En algunos casos podemos necesitar modificar el motor
• OpenSource se puede mejorar y contribuir. Más difíciles de utilizar.
• No limitarse sólo a motores gratuitos
• Las herramientas asociadas suelen tener un coste
• Hay motores excesivamente caros sólo para equipos profesionales
• ¿Motor 2D ó 3D? En algunos casos permiten ambas modalidades
• Implementar un motor propio es bueno para aprender, pero no para un
desarrollo real
• ¡Probar varios antes!

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 19


V2 Motores para videojuegos

Motores de altas prestaciones

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 20


V2 Motores para videojuegos

Motores casuales comerciales

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 21


V2 Motores para videojuegos

Motores Open Source


libgdx.badlogicgames.com

www.cocos2d-x.org

jmonkeyengine.org

irrlicht.sourceforge.net

www.ogre3d.org

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 22


V2 Motores para videojuegos

Source Engine
• Se puede descargar desde Steam
http://source.valvesoftware.com
• Se da acceso al código fuente del SDK
• Para uso no comercial (útil para crear mods)
• No existe licencia indie

The Stanley Parable

Portal 2
Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 23
V2 Motores para videojuegos

CryENGINE 3
• Gratuito para educación y uso no comercial
• Licencia indie en la que sólo se pagan royalties (20%) http://mycryengine.com

• Acceso al fuente para títulos AAA

Crysis 2

Ryse

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 24


V2 Motores para videojuegos

Unreal Engine 4
• Gratuito
• 5% de los ingresos brutos en royalties http://unrealengine.com

• Acceso al código C++ del motor


• Scripting visual mediante blueprints
• Integra middleware: OculusVR, Bink, Speedtree, Simplygon,
Umbra, PhysX

Daylight Skara - The blade remains


Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 25
V2 Motores para videojuegos

Unity
• Permite la creación de juegos 2D y 3D
http://unity3d.com/
• Versión gratuita con todas las funcionalidades
• La versión gratuita (Personal Edition) puede ser utilizada por
entidades con ganancias inferiores a $100.000 anuales
• Se puede utilizar de forma comercial libre de royalties
rain

Tiger Woods PGA Tour Online


Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 26
V2 Motores para videojuegos

Herramientas de creación de contenidos


• Algunos motores incorporan una serie de herramientas
• En otros casos tenemos herramientas de terceros

Artistas Diseñadores
• Blender • irrEdit
• 3D Studio Max • GTK Radiant
• Maya 3D • UnrealEd
• Zbrush • QuArK
• Mudbox • Physics Editor
• SketchUp • Tiled

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 27


V2 Motores para videojuegos

Referencias
• Blog de Mark DeLoura
• http://www.gamasutra.com/blogs/MarkDeLoura/42524/
• Revisión de motores y middleware. Presentación GDC 2011
• http://www.slideshare.net/markdeloura/game-engines-and-middleware-2011
• Selección de un motor de videojuegos. Presentación GDC 2009
• http://www.slideshare.net/markdeloura/choosing-a-game-engine
• Revisión de motores de videojuegos
• http://www.gamasutra.com/view/feature/132226/
engines_of_creation_an_overview_.php?print=1
• Revisión de herramientas para la edición de niveles
• http://www.worldofleveldesign.com/categories/level_design_tutorials/what-level-
editor-game-engine-should-you-use-how-to-choose.php
• ¿Por qué crear nuestro propio motor?
• http://www.altdevblogaday.com/2011/12/17/why-on-earth-would-we-write-our-
own-game-engine/

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 28


V2 Motores para videojuegos

¿Preguntas...?

Videojuegos II © 2015-2016 Depto. Ciencia de la Computación e IA Motores para videojuegos 29

También podría gustarte