Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
¿Qué es un motor?
• 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
• Evolución
• Definir el comportamiento también como datos
Elementos de un motor
Gestor de
recursos
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”
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
Scheduler
• Podemos añadir un scheduler a nuestro motor
• Útil para definir secuencias de acciones
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
• 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
Generación Coste
PSX $2M - $5M
PS2 $5M - $12M
PS3 $10M - $25M
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
www.cocos2d-x.org
jmonkeyengine.org
irrlicht.sourceforge.net
www.ogre3d.org
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
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
Crysis 2
Ryse
Unreal Engine 4
• Gratuito
• 5% de los ingresos brutos en royalties http://unrealengine.com
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
Artistas Diseñadores
• Blender • irrEdit
• 3D Studio Max • GTK Radiant
• Maya 3D • UnrealEd
• Zbrush • QuArK
• Mudbox • Physics Editor
• SketchUp • Tiled
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/
¿Preguntas...?