powered by CADENAS

Social Share

Motor de videojuego (22452 views - Game & Play & Gamification)

Un motor de videojuego es un término que hace referencia a una serie de rutinas de programación que permiten el diseño, la creación y la representación de un videojuego. Del mismo modo existen motores de juegos que operan tanto en consolas de videojuegos como en sistemas operativos. La funcionalidad básica de un motor es proveer al videojuego de un motor de renderizado para los gráficos 2D y 3D, motor físico o detector de colisiones, sonidos, scripting, animación, inteligencia artificial, redes, streaming, administración de memoria y un escenario gráfico. El proceso de desarrollo de un videojuego puede variar notablemente por reutilizar o adaptar un mismo motor de videojuego para crear diferentes juegos.[1]​ Hoy en día existen una gran variedad de motores completos y motores gráficos como OGRE 3D que es un motor gráfico gratuito con "open-source" para que el usuario pueda crear aplicaciones desde el lenguaje C++. Desarrolladoras grandes de videojuegos como Epic, Valve y Crytek han lanzado al público sus motores o SDKs para que los usuarios interesados en el desarrollo de videojuegos puedan descubrir como se elaboran y así tener una introducción amplia a la industria y el desarrollo. Otros ejemplos de motor de juego son el motor gráfico Doom Engine, Quake Engine, y GoldSrc, desarrollado por id Software y el cual fue utilizado para crear los exitoso juego Doom y Quake; otros motores famosos son Source, creado por Valve, y BLAM! Engine, desarrollado por Bungie, y en el cual se creó la saga de Halo.
Go to Article

Explanation by Hotspot Model

Motor de videojuego

Motor de videojuego

Un motor de videojuego es un término que hace referencia a una serie de rutinas de programación que permiten el diseño, la creación y la representación de un videojuego. Del mismo modo existen motores de juegos que operan tanto en consolas de videojuegos como en sistemas operativos. La funcionalidad básica de un motor es proveer al videojuego de un motor de renderizado para los gráficos 2D y 3D, motor físico o detector de colisiones, sonidos, scripting, animación, inteligencia artificial, redes, streaming, administración de memoria y un escenario gráfico. El proceso de desarrollo de un videojuego puede variar notablemente por reutilizar o adaptar un mismo motor de videojuego para crear diferentes juegos.[1]

Hoy en día existen una gran variedad de motores completos y motores gráficos como OGRE 3D que es un motor gráfico gratuito con "open-source" para que el usuario pueda crear aplicaciones desde el lenguaje C++. Desarrolladoras grandes de videojuegos como Epic, Valve y Crytek han lanzado al público sus motores o SDKs para que los usuarios interesados en el desarrollo de videojuegos puedan descubrir como se elaboran y así tener una introducción amplia a la industria y el desarrollo. Otros ejemplos de motor de juego son el motor gráfico Doom Engine, Quake Engine, y GoldSrc, desarrollado por id Software y el cual fue utilizado para crear los exitoso juego Doom y Quake; otros motores famosos son Source, creado por Valve, y BLAM! Engine, desarrollado por Bungie, y en el cual se creó la saga de Halo.

Glosario de aspectos relacionados

Assets

Los assets pueden ser traducidos como elementos que serán introducidos al videojuego. Estos elementos incluyen Modelos 3D, personajes, texturas, materiales, animaciones, scripts, sonidos, y algunos elementos específicos de cada motor. Cada motor trabaja de una manera distinta a otros lo cual puede aceptar "Assets" que otros motores no pueden manejar, sin embargo los ejemplos mencionados antes, son elementos que todos los motores de hoy en día usan.

Application Programming Interface (Interfaz de Programación de Aplicaciones)

Es un sistema de rutinas, de protocolos y de herramientas para desarrollar programas de aplicación. Un buen API hace más fácil desarrollar un programa proporcionando todos los bloques del desarrollo del programa. El programador pone los bloques juntos.

Entre estos los más importantes son el DirectX (de Microsoft) y el OpenGL (que trabaja con la mayoría de los sistemas operativos).

Render (renderización)

La renderización es el proceso de la computadora en mostrar en pantalla el aspecto visual de nuestro juego. La renderización se encarga de mostrar al jugador todo el poder gráfico que el desarrollador haya configurado en el motor, la renderización muestra todo lo que es el terreno o BSP, modelos, animaciones, texturas y materiales. La renderización contribuye todo el aspecto visual del juego.

Objetos 3D

Los objetos 3D son objetos "secundarios" podría decirse, que se agregan al escenario del videojuego (p. ej., baños, puertas, árboles, muebles, adornos, etc) Los objetos o modelos 3D son clasificados por polígonos al igual que todo elemento que tenga una composición tridimensional.

  • Low-Poly: Traducido como "Polígonos bajos" son modelos que su composición de polígonos es baja lo cual es probable que el modelo tenga un muy mal detalle y no se obtenga un resultado favorable. Estos modelos se usan para optimizar el rendimiento del videojuego y el "Low-Poly" es efectivo en modelos que no requieren mucho detalle (Ej, una caja o un jabón)
  • Mid-Poly: Traducido como "Polígonos medios" son modelos que su composición de polígonos es media y logran dar mejor detalle que los "Low-Poly" aunque su velocidad de procesamiento es más tardada. Estos modelos son más usados para modelos que requieren un poco más de detalle (Ej, Un arma, una casa)
  • High-Poly: Traducido como "Polígonos altos" son modelos que su composición de polígonos es alta y llegan a dar un detalle magnífico pero su procesamiento es más complejo y tiende a ralentizar el ordenador, dependiendo de la potencia que el Hardware de la computadora o consola cuente. Estos modelos son usados para modelos que precisan de un buen grado de detalle (Ej Un personaje, un vehículo).

Esto es en pocas palabras el LOD o Level of Detail (Nivel de detalle).

Comparaciones y medidas
Imagen
Vértices ~5500 ~2880 ~1580 ~670 140
Notas Detalle Máximo.
Jugador cerca del objeto.
Detalle Mínimo.
Jugador muy lejos del objeto.

Higher-order surfaces (superficies de alto orden)

Es una forma de renderización especialmente para terreno en un videojuego. Videojuegos de nueva generación como Gears Of War, Halo 4, Battlefield 4, Crysis 3, utilizan esta técnica para crear terreno de manera suavizada y realista.. Esta técnica se puede utilizar para otros modelos pero es exclusivo para modelos High-Poly puesto que se especializa en deformar con curvas.

Culling

Codificado que logra que los objetos que no se ven en determinado cuadro de la animación por causa de objetos que los obstaculizan (como una pared) no tomen tiempo de renderizado. Así se reduce la cantidad de trabajo del motor. El Culling es más fácil de implementar en juegos en donde la visión es controlada, como los RTS, en comparación con los FPS. Un método de Culling puede ser utilizando “Árboles BSP”.

BSP Tree Hierarchy (BSP Árbol de Jerarquía)

Un heightmap creado con Terragen

El BSP (Binary Space Partioning) es el modelo o terreno base que nuestro videojuego siempre va a renderizar en todo momento, el BSP se diferencía por ser la base de nuestro mundo o nivel, es lo que conforma el ecosistema y estructura de nuestro nivel (Ej. Un desierto, un mar, un castillo, un bosque etc) Un BSP se puede crear de muchas maneras pero hoy en día las técnicas más utilizadas son mediante Brushes y Heightmaps.

  • Brushes: Los Brushes es una herramienta codificada del software del motor, no todos los motores lo utilizan pero motores de nueva generación como Unreal y CryEngine lo utilizan y manejan High-Order surfaces para deformar la superficie mediante vértices. También, se pueden crear BSPs con Brushes que crean figuras geométricas simples como: Cuadrado, Esfera, Cilindro, Cono, etc.
  • Heightmaps: Los Heightmaps son mapas que funcionan a escalas de grises al igual que sus "hermanos" displacement maps. Los heightmaps están más codificados para deformar una superficie High-Poly o HOS mediante escala de grises y pixeles y solo modifican la altura. El color negro representa una altura nula o sea que no es modificada, y mientras más blanco sea el pixel representa más altura a la superficie.

Tesselation

Técnica usada por la característica de TruForm de ATI que consiste en agregar más polígonos a un modelo o a una superficie convirtiéndolo en un objeto High-Poly para poder agregar más detalle visual.

Iluminación (lighting)

La iluminación es un proceso de renderización en la que el motor ilumina todo lo que sea 3D ya sea por pixel o por vértice. La iluminación varia dependiendo la configuración que haya establecido el usuario al motor. La iluminación puede ser de las cosas más complejas al desarrollar un videojuego puesto que una iluminación cercana a lo "perfecto" puede dar un aspecto visual al juego espectacular, pero claro que no es fácil de obtener. Por lo general la iluminación es influenciada por APIs, como DirectX y OpenGL, por obvias razones, versiones más nuevas de esta API demuestran mejores resultados de iluminación. El sombreado es otro factor sumamente importante y que reacciona mediante la luz, si el mundo obtiene buena iluminación también tendrá un buen sombreado.

Vertex Lighting

Se determinan cuantos polígonos cruzan el vértice, se toma el total de todas las orientaciones de los polígonos (Normal) y se asigna la normal al vértice. Para cada vértice, un polígono dado reflejará la iluminación en una forma levemente distinta. La ventaja es que al hardware le toma menos tiempo el procesarlo, pero este tipo de iluminación no produce sombras.

Flat Shading Lighting (Iluminación de Sombreado Plano)

Consiste en que cada polígono represente un valor leve que se pase al polígono completo que genere una imagen plana del mismo, a esta imagen también se le asigna un color determinado.

  • Vertex Shading (Sombreado de Vértice, Gouraud shading): solicita al motor de renderizado un color para cada vértice, luego por medio de interpolación se renderiza cada píxel por la distancia en relación con su respectivo vértice.
  • Phong Shading: es similar al Gouraud Shading, trabajan con la textura, solo que el Phong Shading usa a los píxeles en lugar de lo vértices.

El Phong Shading toma más tiempo de procesamiento que el Vertex Shading pero su resultados son mucho mejores en cuestión de suavizado de texturas.

  • Light Map Generation (Generación del mapa de luz): se usa una segunda capa de textura (mapa de luz) que dará el efecto de iluminación a los modelos, es un efecto excelente pero debe tomarse antes del renderizado pero si se tienen Luces Dinámicas (o sea luces que se mueven, encienden o apagan sin intervención de programa) se debe estar regenerando los mapas en cada Frame de animación lo que toma mucha cantidad de memoria (pero son de rénder rápido).
  • Textura: es esencial para que las escenas 3D se vean reales, en si las texturas son imágenes que se rompen en los distintos polígonos del modelo, muchas imágenes tomarán mucho espacio en la memoria por eso se debe usar técnicas de compresión:
  • Mapeo MIP: consiste en preprocesar las texturas creando múltiples copias del mismo cada una la mitad del anterior, esto porque si la textura solo es pegada al polígono cada textura es a cada píxel y tomara más tiempo de rénder; así cada Texel (elemento de Textura) toma menos espacio.
  • Texturas Múltiples: requiere múltiples renderizados por lo que para obtener buen resultado se necesita una tarjeta con Acelerador de Gráficos, provee mejor calidad que el simple mapeo. Se puede colocar una imagen sobre otra (más transparente) para dar el sentido de movimiento pulso o hasta sombra.
  • Bump Mapping: técnica vieja de texturas que tratan de mostrar como la luz se refleja en el objeto. Solo hasta hace poco se vuelto a retomar.
  • Antialiasing: El anti-aliasing revisa los polígonos y difuminará las bordes y vértices, para que los bordes no se vean como dentados. Esta técnica se puede hacer de dos maneras. La primera se realiza de modo individual, entremezclando polígonos para sobreponerlos unos delante de otros.

La segunda manera se hace por medio de tomar todo el marco y quitarle los bordes dentados, pero esto requiere de mucha memoria.

  • Vertex and Pixel Shaders (Vértices y Sombreo de Pixeles): Con este método se pueden extraer y utilizar directamente las características y facilidades de la tarjeta de video, sin tener que utilizar mucho la API. Pero no es utilizable en todas las tarjetas.
  • Stencil Shadowing (Plantilla de Sombreado): la idea es renderizar una vista de un modelo desde la perspectiva de la fuente de luz y después utilizar esto para crear o para generar un polígono con la forma de esta textura sobre las superficies afectadas por el modelo. Así se obtiene una iluminación que parece real. Pero es costosa, porque usted está creando texturas “en vuelo”, y hace múltiples renders de la misma escena.

El manejo del cache de textura es imprescindible para que el juego se desarrolle rápido (y para cualquier motor), ya que si se presenta un constante swapping de las texturas en la tarjeta el juego se vera lento y tedioso, algunos APIs descargan cada textura cuando esto pasa, pero eso haría que en cada cuadro se refresquen las texturas dando más lentitud. Todo se trata de cargar la menor cantidad de veces una misma textura, pero eso también depende del API que se utilice. Otra técnica es la compresión de texturas, comprimir texturas es como comprimir MP3, los algoritmos de compresión logran una relación 4:1 que no es mucho pero ayuda.

  • LOD (level of detail, nivel de detalle): el sistema de nivel de detalle está relacionada con la complejidad geométrica de los modelos. Algunos sistemas necesitan que se hagan múltiples versiones del modelo, para que dependiendo de cuan cerca de este del modelo así será su cantidad de polígonos. Otros sistemas ajustan dinámicamente esta característica pero en este caso da más carga al CPU
  • Depth Testing (prueba de profundidad): Con esto se empieza a eliminar los píxeles ocluidos y se pone en práctica el concepto de sobre dibujado. La prueba de profundidad es una técnica utilizada para determinar que objetos están delante de otros en la misma localización del píxel.
  • Sobre Dibujado: es la cantidad de veces que se ha dibujado un píxel en un frame. Se basa en la cantidad de elementos existentes en la tercera dimensión (profundidad).

Scripting Systems (Sistemas de scripting)

  • Pre-scripted Cinematics: usada normalmente en una situación que necesita la explicación en una manera controlada. Para presentar las escenas de la historia, ahora se utilizada el cortar-escenas que presenta la historia en vídeo digital y luego por medio de transiciones se pasa a las gráficas reales del juego.

El scripting le permite al diseñador tomar mando de la escena y manipularla, como colocar objetos o eventos que el jugador no controla. En muy complicado, se necesita de una mente muy metódica y lógica, la mayoría de estos scripts se basan en lenguaje C.

  • Visual Scripting Systems: como lo dice su nombre, permite manejar el script en un ambiente gráfico en lugar de un código escrito, se maneja un carácter real en un ambiente del juego real.

Sonido

Creative Labs ahora ha proporcionado sus extensiones manejadores de sonido EAX para DirectX, y la nueva iniciativa de OpenAL (biblioteca audio abierta). OpenAL, como suena, es un API para los sistemas de los sonidos de la misma manera que OpenGL es un API.

Para el procesado de sonido es muy similar al procesado de los modelos, muchas veces un software los procesa antes de pasar al hardware respectivo, por ejemplo DirectSound hace al sonido para la Tarjeta de sonido lo que Direct3D hace al modelado antes de llegar al la Tarjeta 3D. Esto es llamado “premezcla” en el software.

Música/Pistas de Audio

El sonido de un videojuego se llega a manejar de muchas maneras y esto depende de las capacidades que tenga el motor. Hoy en día los motores de nueva generación soportan muchos formatos de sonido pero los más populares son el ".wav" y ".ogg" y en algunas casos, exigen configuraciones exactas dependiendo el motor. La administración de pistas de audio larga son amplias puesto que motores de nueva generación permiten modificación para poder meter un "looping" a la pista, modificar el tono, etc.

Inteligencia Artificial (IA o AI)

Es la característica más importante que se le atribuye a un motor al lado de la representación de modelos o Rénder. La IA provee de estímulo al juego. Es crítico en la parte de la forma de juego (game play).

La inteligencia artificial de determinado juego puede tornarse muy compleja, primero se debe definir la línea base del comportamiento de los NPC (Non Player Characters - Personajes no Jugables), primero debe definirse qué hace el NPC (patrulla, guarda, etc.), luego se delimita su “visión del mundo”, que es lo es el NPC puede ver del mundo del juego; se debe tomar en cuenta que el personaje no sólo estará en medio del mundo del juego sino que también interactuará con él, después vienen las rutinas de Toma de Decisión: si el NPC está patrullando, y hay un sonido, ¿debe darle importancia o no?, ¿investiga su origen o no?, etc.

Es un sistema de reglas para las acciones que responden (o inician) y que el jugador debe responder, esto es un concepto más general de IA.

Motores de videojuego

Nombre Lenguaje de programación Scripting Plataformas Múltiples - Cross-Platform SDL Orientación 2D/3D Plataforma Juegos destacados Licencia Notas y referencias
3D Rad C# AngelScript  No  No  3D Windows wRace Custom Motor basado en Física 3D, no requiere scripting.
Adventure Game Studio C++ AGSScript    No  2D Windows Linux Chzo Mythos, The Blackwell Series Artistic License 2.0 Mayormente usado para desarrollar en 3.ª persona. Uno de los más populares para desarrollar juegos de aventura amateur.
Aleph One C++ Lua, Marathon markup language      2.5D Windows Linux OS X Aleph One (Marathon remake) GPL Motor FPS
Allegro library C Ada, C++, C#, D, Lisp, Lua, Mercury, Pascal, Perl, Python, Scheme      2D Windows Linux OS X DOS zlib Gráficos y Audio
Angel2D C++ Lua    No  2D Windows Linux OS X IOS BSD
Ardor3D Java    No  3D cross-platform zlib Influenciado por jMonkeyEngine 2.0
Axiom Engine C#    No  3D Windows Linux OS X Solaris LGPL
Blender C++ Python      3D Windows Linux OS X Solaris Yo Frankie!, ColorCube GPL Motor 2D/3D empaquetado con un modelador 3D para un uso rápido; Librería de físicas de balas (Bullets) completamente integrada.
Build engine C  No  No  2.5D Windows Linux OS X DOS Duke Nukem 3D, Shadow Warrior, Blood Personalizado Motor FPS, 2.5D (Geometría basada en cuadrícula 2D)
Cafu Engine C++ Lua    No  3D Windows Linux OS X GPL or proprietary Motor de videojuego completo con física, gráficas, audio, red, etc.
ClanLib C++      2.5D Windows Linux OS X zlib Contiene amplias y completas opciones de todo motor.
Cocos2d C++, Python, Objective-C JavaScript, Java    No  2D Windows Linux OS X IOS Hardest Game Ever 2 MIT
Construct Classic Event Based  No  No  2D Windows Minitroid GPL/ BSD
Core3D Objective-C      3D Windows Linux OS X IOS CoreBreach MIT, GPL v2
CRM32Pro SDK C/C++      2D Windows Linux OS X Digger Reloaded, Hidro Killer Kombat, Minesweeper, SpacePong, TitanBomber LGPL Incluye un editor de recursos (EditorDPF), un sistema de configuración personalizable (SetupProject) y un potente motor basado en tiles con parallax scrolling (MSTE) soportando el formato TMX de Tiled Qt 0.81+. Documentación y tutoriales sobre como usar algunas funciones.
Crystal Space C++ Java, Perl, Python      3D Windows Linux OS X Keepsake, The Crystal Scrolls, Yo Frankie! LGPL
Cube C++      3D Windows Linux OS X AssaultCube, Cube zlib Sistema de cuadrículas 2D, especialmente optimizado para niveles de exteriores que de interiores.
Cube 2 C++ Cubescript      3D Windows Linux OS X Cube 2, Red Eclipse zlib Eficiente geometría basada en heightmaps de 6 direcciones, motor FPS.
Delta3d C++ Python    No  2.5D cross-platform LGPL
Dim3 C++ JavaScript    No  3D cross-platform MIT Motor 3D para Mac.
DimensioneX Multiplayer Engine Java Java, VBscript    No  2.5D cross-platform Underworld Online GPL Intencionado para principiantes, los juegos se pueden convertir en Apps para Facebook.
Div GO: Games Online HTML5 Javascript PHP DIV Games Studio    No  2D  3D Windows Linux OS X MIT License Framework Html5 para el desarrollo de videojuegos 2d y 3d basado en el lenguaje DIV Games Studio.
Dreemchest C++ Lua    No  2D Windows, OS X, Android, iOS, Flash Match them All Personalizada Motor 2D para plataforma múltiple.
Duality C# Plugin-based  No  No  2D Windows Honourbound MIT
Eclipse Origins Visual Basic 6  Exclusivo para Windows  No  2D Windows Crystalshire, yoomxWorld GPL Un motor 2D especializado para juegos MMORPG con una comunidad muy grande.
ENIGMA C++ EDL    No  2D Windows Linux OS X GPL
Env3D Java    No  3D cross-platform GPL
Exult C++      2D Windows Linux OS X BSD GPL
FLARE C++      2D Windows Linux OS X BSD GPL Motor que permite perspectivas isométricas.
Flexible Isometric Free Engine C++ Python      2D Windows Linux OS X BSD Unknown Horizons LGPL Motor 2D optimizado para juegos RPG y RTS.
Flixel ActionScript    No  2D Various games by Gregory Weir MIT
GameMaker: Studio C++ GML    No  2D Windows Linux OS X android iOS Xbox 360 Xbox One PlayStation 4 PlayStation 3 PlayStation Vita HTML5 Tizen Hotline Miami Fácil de usar aunque es necesario aprender GML(similar a C++) para poder hacer cosas más elaboradas
GameKit (OgreKit) C++ Lua    No  3D Windows Linux OS X android MIT/zlib/ BSD Integración de Blender.
GamePlay3D C++ Lua    No  3D Windows Linux OS X iOS BlackBerry 10 Android Apache 2.0
Gamvas JavaScript JavaScript    No  2D HTML5 MIT
Grit C++ Lua    No  3D MIT Optimizado para juegos de mundo abierto (Open-World)
Haaf's Game Engine (HGE) C++ C, Go      2D Windows Linux OS X Hammerfight zlib Contiene efectos de partículas y acelerador 2D.
HGamer3D Haskell  No  No  3D Apache 2.0
Horde3D C++    No  3D Windows EPL
HPL 1 engine C++ AngelScript      3D Windows Linux OS X Penumbra: Overture, Penumbra: Black Plague, Penumbra: Requiem GPLv3
id Tech 1 (Doom) C ACS    No  2.5D Windows Linux OS X Doom, Doom II, HeXen, Heretic, Strife GPL Utiliza métodos inteligentes 2D para simular 3D.
id Tech 1 (Quake) C QuakeC    No  3D Windows Linux OS X Quake GPL Primer motor 3D
id Tech 2 C C    No  3D Windows Linux OS X Quake II GPL Mejor conocido como el motor Quake II
id Tech 3 C Game Data {PK3 }    No  3D Windows Linux OS X Quake III Arena GPL Mejor conocido como el motor Quake III
id Tech 4 C++ via DLLs    No  3D Windows Linux OS X Doom 3, Doom 3: BFG Edition, Quake 4 GPL Mejor conocido como el motor Doom 3.
Indielib C++      2.5D Windows Linux OS X LGPL Amplias funciones de un motor 3D, aunque no sea totalmente un motor 3D.
ioquake3 C      3D Windows Linux OS X Urban Terror GPL
IwGame Engine C++    No  2D Windows Linux OS X iOS Android GPL
Jake2 Java    No  3D Cross-platform GPL
JGame Java, Actionscript 3    No  2D J2ME Android BSD
jMonkeyEngine Java      3D Cross-platform BSD
Jogre Java    No  2D Cross-platform GPL Diseñado para juegos de la red Yahoo!
jPCT and jPCT-AE Java    No  3D Java Android SpaceCat, SkyFrontier, Max the flyer Free for personal and commercial use 3D avanzado y otras funciones como animaciones e iluminación para dispositivos android.
Kobold2D Objective-C Lua    No  2D OS X iOS MIT Basado en Cocos2d y otras librerías.
Libgdx Java    No  3D Windows Linux OS X iOS Android HTML5 Bumbledore, Apparatus, Clash of the Olympians, Ingress Apache 2.0 Se ha usado este motor para muchos juegos comerciales.
Linderdaum Engine C++ C#, LinderScript    No  3D Windows OS X iOS Android BlackBerry 10 Linderdaum Puzzle MIT Funciona en Android.
LÖVE Lua Lua      2D Windows Linux OS X Mari0, Journey to the Center of Hawkthorne zlib
LWJGL Java      3D Minecraft BSD
Maratis C++ Lua    No  3D Windows Linux OS X iOS Android Save Our Souls zlib/GPL
melonJS Javascript Javascript    No  2.5D HTML5 Alex4 WE, Bitzz,Neverwell Moor,Escape from Minimars MIT Integración de HTML5
Moai SDK C++ Lua      2D Windows OS X iOS Android Crimson Steam Pirates CPAL
Multiverse Foundation Jython and Java Python  No  No  3D MIT
Nebula Device C++ Java, Python, Lua, Tcl/Tk    No  2.5D Windows Linux Urban Assault, Drakensang: The River of Time MIT
NetGore C#    No  2D Windows Linux MIT Motor Open-Source para juegos RPG en línea.
NME Haxe    No  2D Windows Linux OS X iOS AndroidBlackBerry MIT Diseñado para crear juegos comerciales móviles y web.
nxPascal Object Pascal Delphi, Lazarus    No  3D MIT
OpenSimulator C# LSL    No  3D BSD
ORX C/C++ Custom      2.5D Windows Linux Mac OS X iOS Android Le Magasin des Suicides zlib Acelerado 3D
Oxygine C++      2D Windows Linux Mac OS X iOS Android Elements Battle,BattlePaint(mobile), Match3Quest MIT Hardware moderno aceleró 2D C + + marco para las plataformas móviles y de PC.

Características: OpenGLES medio, texturas comprimidas, atlas, complejos animaciones / Tweens / sprites, escenario gráfico, fuentes, manejo de eventos, herramientas de construcción, y otros. Puede ser construido en la cima de SDL2.0 o Marmalade SDK.

Panda3D C++ Python    No  3D Windows Linux OS X iOS Toontown Online, Pirates of the Caribbean Online BSD
PixelLight C++ AngelScript, Lua, Python, Javascript/V8    No  3D Windows Linux Android MIT
Polycode C++ Lua      3D Windows Linux OS X MIT
PLIB C++      3D Windows Linux OS X LGPL
Pyrogenesis C++ JavaScript      3D Windows 0 A.D. GPL Diseñado especialmente para juegos RTS
Retribution Engine C++  No  No  3D Windows GPL Motor FPS
SFML C++    No  2D Zlib
Sge2d C      2D cross-platform MIT
Source C++      2D Windows Linux

OS X Xbox Xbox 360 Xbox One (mediante retrocompatibilidad)

Half Life 2 Usado principalmente para juegos en primera persona
StormEngineC JavaScript JavaScript    No  3D HTML5 MIT Motor de videojuegos. Tiene a su vez integrado varios algoritmos para render offline.
Spring C++ C, C++, Java/JVM, Lua, Python      3D Windows Linux OS X Balanced Annihilation, Zero-K GPL
StepMania C++ Lua    No  3D cross-platform In the Groove, Pump It Up Pro MIT Originalmente diseñado para Konami´s Dance Dance Revolution..
Stratagus C Lua      2D Linux Bos Wars GPL
Torque3D C++ TorqueScript  No  No  3D Windows Linux OS X Tribes 2 MIT
Turbulenz TypeScript JavaScript    No  3D HTML5 Polycraft, Save the Day, Score Rush MIT Diseñado para crear juegos mediante HTML5.
Wire3D C++    No  3D Windows Wii LGPL
WorldForge C++ Lua(client), Python(server)      3D GPL
ZenGL Pascal C, C++    No  2D GNU/Linux Windows, Mac OS X iOS Android zlib Avanzado y especializado en 2D, programado en Pascal.
PowerBite PackApp

Engine

Ninguno Ninguno    No  No Windows Usado para crear juegos de PowerPoint,

es un pack de aplicaciones que cuenta con Paint, PowerPoint, Movie Maker.

Unity3D C# C#, JavaScript, Boo      3D Windows Linux OS X Android Hearthstone NS/NC
Unreal Engine C++ C++, UnrealScript      3D Windows Linux OS X Unreal NS/NC
WiMi5 HTML5 JavaScript, HTML5    No  2D Windows Linux OS X cross-platform Baku´s Legend Personalizada Plataforma HTML5 para crear, publicar y monetizar juegos HTML5. Cuenta con un editor online de juegos 2D intuitivo basado en visual scripting, donde no es necesario escribir código. Permite exportar para plataformas móviles, web y cualquier dispositivo con un navegador HTML5.
Nombre Lenguaje de programación Scripting Plataforma Múltiple - Cross-Platform SDL Orientación 2D/3D Plataforma Juegos destacados Licencia Notas y referencias

Véase también



This article uses material from the Wikipedia article "Motor de videojuego", which is released under the Creative Commons Attribution-Share-Alike License 3.0. There is a list of all authors in Wikipedia

Game & Play & Gamification

3d,model,playground,board games,computer,strategy,thinktank