Una capa de abstracción WebGL, soporte para la carga de modelos 3D, gestión de gráficos de escena, carga de objetos, etc. Básicamente, todo lo que necesitas para crear tu propio motor, excepto tal vez las herramientas, está disponible en 3JS.
De hecho, hay otras herramientas como A-Frame, que es un marco de VR que utiliza un tipo de marcado HTML para crear mundos 3D. En realidad, está construido sobre 3JS. Vas a encontrar que varios motores de juegos están construidos sobre o utilizando 3JS. Definitivamente es un bloque de construcción poderoso para crear tus propios títulos 3D.
Puedes construir tu juego directamente en 3JS si lo deseas o podrías construir tu cadena de herramientas sobre él. Pero hay otras bibliotecas basadas en JavaScript de interés para los desarrolladores de juegos. En el lado de la física, tienes un puerto de Box2D, Box2D es probablemente el motor de física 2D más popular que existe. Pero también están MatterJS y PlankJS. En realidad, no tengo experiencia con ninguno de ellos, pero ambos son marcos de juegos 2D que se ejecutan directamente en el navegador.
Además de eso, en el lado 3D de las cosas, tenemos AmmoJS que es un puerto de física 3D bullet para hacer simulaciones físicas 3D. Y luego tenemos OIMO, no tengo idea de cómo pronunciarlo realmente. Y no estoy realmente abrumadoramente competente con esa biblioteca, así que no voy a expandir sobre ella más que para informarte. Para la física, esas son tus opciones.
Además de eso, también tenemos una gran biblioteca de renderizado de la que probablemente deberías estar al tanto. Muchos de estos, incluyendo por ejemplo, Phaser y creo que Melon y posiblemente Cocos2D todos construyen sobre PixyJS. Ahora, PixyJS básicamente solo abstrae la capa de renderizado. Así que si necesitas hacer un dibujo 2D lo más rápido posible, esto hace que no necesites saber sobre WebGL o si estás haciendo renderizado de respaldo, usando algún otro método, PixyJS se encarga de todo eso por ti y mucho más. En muchos aspectos, es para 2D lo que 3JS es para 3D.
Así que si quieres seguir adelante y crear tu propio motor, lo bueno es que tienes todas estas varias bibliotecas por ahí que puedes juntar como bloques de LEGO virtuales, ponerlas juntas y crear un motor propio, o puedes, tu juego no necesariamente necesita un motor si no vas a reutilizar el código, y es lo suficientemente simple en su naturaleza. Puedes construirlo directamente sobre uno de estos marcos y seguir desde ahí, así que no necesitas un motor al final.
Si vas a seguir el enfoque de hacerlo tú mismo, o estás usando una biblioteca o marco que no necesariamente proporciona todas las herramientas que podrías obtener de un motor de juegos más completo, probablemente aún necesitarás algún tipo de herramienta de diseño de niveles 2D. Y en este espacio, tengo dos principales recomendaciones. Ahora, el más antiguo que ha estado por mucho tiempo es el proyecto de código abierto Tiled. Tiled es capaz de crear no solo mapas 2D, sino también proyecciones de mapas isométricos y hexagráficos. Y luego otro en este espacio que es mucho más joven es el LDTK, o el Toolkit de Diseño de Niveles. Ahora, ambas son excelentes herramientas para componer, visualmente componer tu mundo, así como poblarlo, establecer barreras y objetos de juego, etc. Así que si vas a seguir el enfoque de hacerlo tú mismo, no necesitas crear estas herramientas desde cero tampoco. Podrías traer herramientas como LDTK y Tiled y básicamente crear tu propio motor de juegos personalizado utilizando tales recursos.
Comments