Motores De Videojuegos

Motores De Videojuegos

Motores de Videojuegos Nicolas Gonz´alezSoto Universidad Cat´olica\Nuestra Se~norade la Asunci´on", Facultad de Ciencias y Tecnolog´ıa, Asunci´on,Paraguay. [email protected] www.universidadcatolica.edu.py Resumen Los motores de videojuegos o 'game engines' como son tam- bi´enconocidos, son herramientas que facilitan el desarrollo de los video- juegos en s´ı.En este documento se explicar´ael origen y la historia de los motores, as´ıcomo las opciones disponibles hoy en d´ıay su situaci´on actual para grandes empresas y estudios independientes. Keywords: Motores gr´aficos,videojuegos, desarrollo, herramientas, AAA, indie. 1. Introducci´on Hoy en dia los juegos pueden llegar a ser muy complejos. Anteriormente, los juegos se escrib´ıandesde cero. Cada juego era escrito para una plataforma es- pec´ıfica,es decir, el c´odigovariaba entre consolas y PC por ejemplo. Con el paso de del tiempo, los juegos se volvieron m´ascomplejos y con mas funcionalidades. Los juegos pasaron de blanco y negro a mostrar muchos colores en pantalla, de juego local con amigos a partidas en internet con extra~nos,niveles simples a jue- gos de mundo abierto con eventos ocurriendo en cada momento. Con el paso de la tecnolog´ıa,el c´odigoque se escrib´ıapara una plataforma deb´ıaser descartado. Los videojuegos resultaban muy caros de desarrollarse. Con el boom de los videojuegos en los a~nos'80, las compa~n´ıasempezaron a desarrollar sus propios motores para su uso interno y poder de esta manera, reutilizar c´odigodesarro- llado previamente. Sin embargo, el uso de motores de terceros no se populariz´o hasta la ´epoca de los gr´aficos3D en los '90. Hoy en d´ıa, la mayor´ıade los juegos se desarrollan con estas herramientas ya que aparte de facilitar el desarrollo, se puede abaratar los costos, apuntar a juegos multi plataformas sin mucho esfuerzo e incluso, abre las puertas para que peque~nosequipos puedan surgir y brindar sus ideas al mercado. 2 Motores de Videojuegos 2. Conceptos 2.1. >Qu´eson los motores de videojuegos? Los motores de juego son herramientas y/o entornos de desarrollo para fa- cilitar la creaci´onde videojuegos. Estos proveen funcionalidades comunes para el desarrollo como un motor de renderizado, ya sea en 2D o 3D, un motor que simula las leyes de la f´ısica,detecci´onde colisiones, manejo de sonido, scripting o algoritmos, inteligencia artificial, funcionalidades de red, manejo de memoria, soporte para localizaci´oninternacional, soporte para cinem´aticasentre otros. Es- to permite que los desarrolladores, los cuales incluyen a artistas, dise~nadores y otros programadores, puedan concentrarse en los detalles que hacen que su juego sea ´unicoy distinto [19]. Figura 1. Entorno de desarrollo del motor Unity. 3. Historia Como se dijo brevemente en la introducci´on,los motores de juego nacieron por la necesidad de facilitar el desarrollo de juegos y abaratar costos. Aunque el uso de motores no se populariz´ohasta los a~nos 90, incluso, el t´ermino no se utilizaba hasta esta ´epoca. Antes de esto, exist´ıanvarios \kits de creaci´onde videojuegos" que su finalidad era b´asicamente la misma que los motores de jue- gos. Entre ellos podemos mencionar Pinball Construction Set (1983), ASCII's War Game Construction Kit (1983), Thunder Force Construction (1984), Ad- venture Construction Set (1984), Garry Kitchen's GameMaker (1985), Wargame Motores de Videojuegos 3 Construction Set (1986), Shoot'Em-Up Construction Kit (1987), Arcade Game Construction Kit (1988) entre otros. Con la popularidad del 3D, y en espec´ıfico,los first person shooter (FPS), o disparos en primera persona, empezaron a surgir los motores de juego como m´etodo de desarrollo en las compa~n´ıas. Tanta fue la popularidad de Doom de la empresa Id Software, que, en lugar de realizar los juegos desde cero, los dem´as desarrolladores optaban por obtener licencias para utilizar segmentos de c´odigo de las mec´anicasdel juego y dise~narsus propios personajes, historias, niveles, armas y otros aspectos del juego. La separaci´onde contenido en los juegos sig- nific´oque los equipos de desarrollo pudieran crecer y especializarse. Los juegos que vinieron m´asadelante de Id Software, se dise~naroncon este enfoque en mente, siendo el motor un aspecto separado del contenido del juego. La pr´acticade licenciar los motores se ha vuelto una forma de ganancias impor- tante para muchas compa~n´ıasya que esta puede significar contratos de miles a millones de d´olaresa varias empresas. Muchos de los motores de hoy en d´ıason algunos de los software m´ascom- plicados que existen. La evoluci´onde estos, ha creado una separaci´onen los equipos de algoritmo, dise~node niveles, arte, entre otros. El manejo de hilos se est´avolviendo cada vez m´asimportante para los motores. El manejo t´ıpico de hilos involucra renderizado, audio y f´ısicas. Los juegos de carrera por ejemplo han estado al frente en este aspecto, ya que estos ten´ıanel motor de f´ısicas co- rriendo en un hilo distinto al principal. Por ejemplo, el juego \Forza Motorsport 2 " corr´ıasu motor de f´ısicaa 360 Hz mientras que el renderizado corr´ıaa 30-60 Hz [19]. 4. Impacto y usos Los motores son ampliamente usados hoy en d´ıay es considerada la norma a la hora de desarrollar videojuegos. Existen soluciones `first party' y `third party', siendo las primeras las soluciones ´unicamente para uso interno de la empresa, y el otro el sistema de licenciar el motor a cambio de ganancias monetarias. Respecto a este ´ultimo,existen varios modelos, sobre todo en los ´ultimos a~nosdonde se busca que los estudios indies sean capaces de acceder a estas he- rramientas. El modelo cl´asicose centra en pagar una licencia ya sea en pago ´unicoo en cuotas para acceder al motor durante un per´ıodo de tiempo definido. En 2013, Crytek decidi´olanzar su motor CryEngine 3 bajo un modelo \pay what you want" o \paga lo que quieras" donde los usuarios pod´ıandecidir si quer´ıan apoyar o no a los desarrolladores del motor [15]. Recientemente, este cambi´oa al modelo que utiliza Unreal Engine desde su 4ta edici´onque consiste en pagar el 10 % de todas las ganancias al equipo detr´asdel motor gr´afico[7]. Existe tambi´en el modelo implementado por Unity, donde se puede utilizar la versi´ongratis si 4 Motores de Videojuegos la compa~n´ıagenera menos de 100.000 USD al a~noo est´aobligado a comprar la licencia en caso contrario [17]. Desde finales de la d´ecadapasada, el uso de motores de juego se ha extendido a ramas fuera del ´ambito de videojuegos. Se utiliza para crear simulaciones realistas en el campo militar, medicinal e incluso estudio de f´ısicay la ciencia [9]. 5. ¿C´omofuncionan? Explicar exactamente c´omose realiza todo esto puede llegar a ser bastante complicado y, adem´as,espec´ıfico.Existen diferentes arquitecturas de motores que var´ıanen distintos aspectos, pero la mayor´ıasiguen un esquema similar de dise~no. 5.1. Gr´aficosy Renderizado Un punto importante de la venta de los motores de juego de alto perfil como CryEngine, son los gr´aficosimpresionantes que pueden mostrar, combinado con la facilidad de producci´on.Los juegos en 3D son creados con modelos 3D como base, que son normalmente dise~nadosen programas externos de modelado 3D como Maya o Blender para luego ser importados al motor. Figura 2. Captura de Hunt: Showdown (TBA), juego desarrollado con CryEngine V. Motores de Videojuegos 5 Una vez que el modelo ha sido insertado, pueden ser complementados con mapas de relieve o materiales reflexivos o transparentes y sombras para hacer un objeto realista. Esto ´ultimose logra gracias a tecnolog´ıasde iluminaci´on,que, en conjunto con el manejo de animaciones y part´ıculas,pueden darle vida al mundo del juego y los objetos dentro del mismo [4]. La mayor´ıade los componentes dedicados a desplegar las im´agenesen pan- talla, utilizan alguna API gr´aficacomo OpenGL, Direct3D o Vulkan desde a~nos recientes, para poder dibujar p´ıxelesy mostrar objetos 2D o 3D en los moni- tores. Estas funciones normalmente son implementadas como clases donde se le pueden pasar objetos y par´ametros,e iteran sobre todos los objetos del mundo del juego y los muestra al usuario [12]. 5.2. Audio El sistema de audio, se encarga de reproducir la m´usicade fondo del juego, as´ı como tambi´ensus efectos de sonido. El sonido normalmente no sale de los parlan- tes exactamente como fue grabado, ya que los motores se encargan de ubicar los sonidos dentro del mundo tridimensional y su volumen es alterado dependiento donde este ubicado el jugador con respecto al sonido. Tambi´enexisten muchos m´etodos para hacer mas realista el sonido como modificar el tono y a~nadirre- verbaci´onpara simular que rebota en las paredes de alrededor. No es lo mismo el ruido un disparo en un campo abierto a un disparo en un hangar por ejemplo [4]. En las librer´ıas de categor´ıa Open Source, OpenAL-Sof y PortAudio son buenas elecciones debido a que facilitan la implementaci´onde un sistema de audio independiente de su plataforma. Para decodificar audio, se suele integrar Xiph Theora para audio (.ogg) o Xiph Vorbis para video (.ogv) debido a que su eficiencia y libertad de regal´ıas[12]. 5.3. Inteligencia Artificial Todo motor de juego debe tener alguna forma de inteligencia artificial. Es- tos se encargan de controlar tus personajes no jugador o Non-Player Character (NPC) as´ıcomo los lugares donde aparecen. Normalmente, esto se logra con alguna librer´ıaencargada de encontrar rutas, ya sea de terceros o auto desarro- llada, combinado con las reglas de la l´ogica del juego que pueden ser controladas por el motor de algoritmos del sistema [12].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us