videojuegos 2 - moodle2015-16.ua.es · • un motor de videojuegos podría ser visto como un...

Click here to load reader

Post on 01-Oct-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • VIDEOJUEGOS 2Motores para videojuegos

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    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

    2

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Qu es un motor?

    Sistema software para la creacin de videojuegos

    Proporcionan API y SDK para el desarrollo

    Algunos motores pueden permitir crear juegos sin necesidad de escribir cdigo

    Algunos proporcionan su propio lenguaje de script

    Conjunto de herramientas de edicin Algunos motores no proporcionan herramientas visuales, pero

    pueden existir herramientas de terceros

    3

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Origen de los motores (I) En los inicios Todo el juego estaba contenido en el ejecutable Intratable conforme avanza su complejidad

    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)

    Evolucin Definir el comportamiento tambin como datos

    4

    Pinball Construction Set, 1983

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Origen de los motores (II) A finales de los 80 las compaas hacan sus

    propios motores, normalmente cerrados Script Creation Utility for Maniac Mansion

    (SCUMM), de Lucas Arts Sierras 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 trmino motor de videojuegos empieza a utilizarse a mediados de los 90

    5

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    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 ms populares en la actualidad

    Hoy en da tenemos motores de propsito general El cdigo se reduce al mnimo, genrico y

    reutilizable Es necesaria extensa documentacin debido al

    aumento de su complejidad Algunos motores proporcionan Sistemas de

    Creacin de Contenidos (CCS)

    6

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Elementos de un motor

    7

    Grficos

    Fsica

    Entrada

    Audio

    Red

    I.A.

    Scripting

    Ficheros

    Vdeo

    Algunos motores slo incorporan funcionalidades de render 3D, como OGRE o Irrlicht

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Arquitectura del motor Orientada a objetos

    8

    EscenaServicios del motor

    Gestor de recursos

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Mdulos del motor

    9

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Escena del juego

    10

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Patrn fachada Ocultamos tras los mdulos del motor las libreras a utilizar No debemos utilizar sus clases desde otros mdulos Por ejemplo, slo accedemos a Irrlicht desde Graphics

    11

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

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

    12

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Scheduler Podemos aadir un scheduler a nuestro motor til para definir secuencias de acciones

    13

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Motores y Middleware Un motor de videojuegos podra ser visto como un

    middleware que nos permite desarrollar videojuegos Sin embargo, el trmino middleware de videojuegos

    se refiere normalmente a subsistemas que pueden ser integrados en el motor y se especializan en tareas concretas

    Ejemplos

    14

    Interfaz Scaleform GFx

    Vdeo Bink, CRI Movie

    Fsicas Havok, PhysX, Bullet, ODE

    Audio FMOD, Wwise, Miles

    Render y animacin SpeedTree, FaceFX, Umbra, Simplygon

    I.A. Kynapse, NavPower, PathEngine, Havok AI

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Ventajas de los motores (I) Mejoran el flujo de trabajo Separacin de programadores, artistas, msicos, diseadores, 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 Abstraccin del hardware Nos permiten desplegar en mltiples plataformas

    15

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Ventajas de los motores (II) Menor coste de desarrollo Algunos ofrecen entornos y herramientas que facilitan el trabajo Permiten llegar al mercado ms rpidamente (time to market)

    Evolucin del hardware Conforme aumenta la complejidad se necesita mayor organizacin El coste de hacer un motor propio crece con el avance de la

    tecnologa

    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, gestin de

    memoria, render, animaciones, fsicas, pipeline de contenidos, etc

    16

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Costes de desarrollo por generacin

    17

    Generacin CostePSX $2M - $5MPS2 $5M - $12MPS3 $10M - $25M

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Tipos de motores Segn las facilidades ofrecidas Libreras 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 programacin (scripting)

    Herramientas de creacin de videojuegos: GameMaker, ShiVa, Torque, Unity. Poco flexibles, a veces slo sirven para determinados gneros.

    Segn la licencia Motores comerciales (algunos con licencia gratuita) Motores OpenSource

    18

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Qu motor elegir? Un motor requiere aprendizaje y familiarizarse con las herramientas Es importante tomar una buena decisin

    El ms sencillo que se adapte a nuestras necesidades Motores como UDK pueden ser difciles de abarcar para pequeos estudios

    Una buena documentacin 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. Ms difciles de utilizar.

    No limitarse slo a motores gratuitos Las herramientas asociadas suelen tener un coste Hay motores excesivamente caros slo 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!

    19

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Motores de altas prestaciones

    20

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Motores casuales comerciales

    21

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Motores Open Source

    22

    www.ogre3d.org

    irrlicht.sourceforge.net

    jmonkeyengine.org

    libgdx.badlogicgames.com

    www.cocos2d-x.org

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Source Engine Se puede descargar desde Steam Se da acceso al cdigo fuente del SDK Para uso no comercial (til para crear mods) No existe licencia indie

    23

    Portal 2

    The Stanley Parable

    http://source.valvesoftware.com

    http://source.valvesoftware.com
  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    CryENGINE 3 Gratuito para educacin y uso no comercial Licencia indie en la que slo se pagan royalties (20%) Acceso al fuente para ttulos AAA

    24

    Crysis 2

    Ryse

    http://mycryengine.com

    http://mycryengine.com
  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Unreal Engine 4 Gratuito 5% de los ingresos brutos en royalties Acceso al cdigo C++ del motor Scripting visual mediante blueprints Integra middleware: OculusVR, Bink, Speedtree, Simplygon,

    Umbra, PhysX

    25

    Daylight Skara - The blade remains

    http://unrealengine.com

    http://unrealengine.com
  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Unity Permite la creacin de juegos 2D y 3D Versin gratuita con todas las funcionalidades La versin gratuita (Personal Edition) puede ser utilizada por

    entidades con ganancias inferiores a $100.000 anuales Se puede utilizar de forma comercial libre de royalties

    26

    rain

    Tiger Woods PGA Tour Online

    http://unity3d.com/

    http://unity3d.com/
  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Herramientas de creacin de contenidos Algunos motores incorporan una serie de herramientas En otros casos tenemos herramientas de terceros

    27

    Artistas Diseadores

    Blender 3D Studio Max Maya 3D Zbrush Mudbox SketchUp

    irrEdit GTK Radiant UnrealEd QuArK Physics Editor Tiled

  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Referencias Blog de Mark DeLoura http://www.gamasutra.com/blogs/MarkDeLoura/42524/

    Revisin de motores y middleware. Presentacin GDC 2011 http://www.slideshare.net/markdeloura/game-engines-and-middleware-2011

    Seleccin de un motor de videojuegos. Presentacin GDC 2009 http://www.slideshare.net/markdeloura/choosing-a-game-engine

    Revisin de motores de videojuegos http://www.gamasutra.com/view/feature/132226/

    engines_of_creation_an_overview_.php?print=1 Revisin de herramientas para la edicin 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/

    28

    http://www.gamasutra.com/blogs/MarkDeLoura/42524/http://www.slideshare.net/markdeloura/game-engines-and-middleware-2011http://www.slideshare.net/markdeloura/choosing-a-game-enginehttp://www.gamasutra.com/view/feature/132226/engines_of_creation_an_overview_.php?print=1http://www.worldofleveldesign.com/categories/level_design_tutorials/what-level-editor-game-engine-should-you-use-how-to-choose.php
  • Motores para videojuegos

    Videojuegos II 2015-2016 Depto. Ciencia de la Computacin e IA Motores para videojuegos

    V2

    Preguntas...?

    29