Quark - Motor 2D/3D (Multiple plataforma y dispositivos)

Dr. Wolftein

Computer's Scientist
Miembro del equipo
Administrador
Especialista de Tecnología
Quark Engine, sin necesidad de dar preámbulos de esto, voy a pasar de manera directa a explicar, ¿qué es Quark Engine?

Quark Engine es un completo motor de video-juegos multi-plataforma, diseñado en lenguaje Java con la posibilidad de poder trasladar la plataforma del núcleo de tu juego a cualquier otra.

¿Qué queremos decir con motor de video-juegos? ¿Y qué queremos decir con trasladar de plataforma el núcleo del juego?

-Primero en principal, un motor de video-juegos NO ES UN MOTOR GRÁFICO, es todo el conjunto de herramientas para el desarrollo del video-juego, (audio, gráfico, input, UI), funcionalidades que comparte el motor en sí, para lograr desarrollar, valga la redundancia, un video-juego. Permite la completa representación de las escenas del video-juego a diseñar, gracias al fácil control de las herramientas que Quark nos brinda.

Entre muchas de las funcionalidades que Quark Engine brinda a los desarrolladores, se encuentra el Motor Gráfico, Motor de Audio 2D/3D, Input, UI (que se ve complementado de manera gráfica con el motor de renderizado).

-En segundo lugar, cuando hablamos de trasladar de plataforma el núcleo del juego, nos referimos a la facilidad de poder compilar el código desarrollado en Java, en diferentes entornos o sistemas.

¿Qué quiere decir en diferentes entornos o sistemas?

Simple. Puedes desarrollar y diseñar tu propio juego en tu Sistema Operativo más redundante, y compilarlo para cualquier plataforma y distintos sistemas operativos, ya sea Windows/Linux/Mac-OS (entorno Desktop/Escritorio), al entorno Web y al de Sistemas Operativos que trabajan con versiones distintas de la API de OpenGL, (WebGL), (OpenGL ES), como por ejemplo Android e iOS.

Esto quiere decir que podrás desarrollar tus video-juegos desde tu entorno de desarrollo como más gustes, y podrás compilarlo para cualquier plataforma que tenga el mínimo soporte de OpenGL 2.1, y en el caso del segundo entorno, mínimo soporte de OpenGL ES 2.0, y mínimo soporte de WebGL 1.0. (Estas últimas especificaciones serán aclaradas un poco más adelante)

Destacamos que el motor considerará las especificaciones declaradas por el usuario, y las plataformas en las que el video-juego se vaya a compilar, y finalmente el motor se encargará de realizar las optimizaciones necesarias en la plataforma específica, para poder conservar el máximo potencial y no perderlo al variar en la plataforma a la hora de compilar.

Hay muchísimas cosas para destacar en cuanto a las facilidades, funcionalidades, optimizaciones y representaciones que nos brinda Quark, pero ustedes mismos pueden ver lo que este motor de video-juegos puede hacer sin tanto esfuerzo.

He aquí un link directo del usuario @Lord Fers utilizando Quark Engine, al cual no le ha tomado más de unos pocos minutos lo próximo que verán, (Desarrollado en Java, compilado utilizando Quark, y funcionando en plataforma Web):

Example 3D: (cámara, skybox, meshes, primitivas)
http://www.tecno-store.com.ar/LordFers/2/ (presionen la P para full-screen con la cámara)

Example 2D: (Banderbill de Argentum Online, en 1920x1280)
http://www.tecno-store.com.ar/LordFers/1/ (Mover con flechas) + Normal mapping

-Finalizaré con la aclaración de: Quark Engine es de código libre, y ya pueden encontrar los primeros repositorios del código en su Git, en el siguiente link: https://github.com/Wolftein/Quark-Engine/

Seguramente a más de uno le parecerá un proyecto interesante, ya que para aquellos que tengan muchas dificultades en desarrollar video-juegos con gran abarque en distintas plataformas, esto les será muy benéfico y sencillo.

Actualmente Quark sólo se encuentra compilando con soporte para Desktop (Windows, Linux, Mac-Os) y Web HTML5 (JavaScript). En un futuro muy próximo se espera que ya tenga el soporte completo para compilar en Android e iOS.

Realmente este motor de video-juegos es un pack de herramientas únicas, y nunca antes se había ofrecido algo de este calibre para aprovechar en la comunidad de Argentum Online, ya que es capaz de sobrepasar cualquier cliente desarrollado hasta el momento (Ya sea en Escritorio y/o HTML5) en cuestión de pocos minutos en desarrollo, sumado a que podrá ser compilado y derivado a cualquier plataforma que desees.

Saludos!
 
Última edición:

Dr. GoDKeR

El Rey y el As
Miembro del equipo
Administrador
Developer
Moderador de RRPP
Moderador de AO
Moderador de Tecnología
Moderador de Entretenimiento
Moderador de Diseño
Especialista de RRPP
Especialista de Entretenimiento
Especialista de Tecnología
Especialista de Argentum
Especialista de Diseño
Espectacular agus! Ahora a usarlo jaja.
 

mergui

The 'DM' Never Forgets.
Ex-Staff
Muy interesante, siempre que veo estas cosas me imagino un argentum 3D lowpoly, hago los mapas en raw y luego lo abandono. No se por qué xDD. En un rato lo descargo y pispeo.
 

Dr. Wolftein

Computer's Scientist
Miembro del equipo
Administrador
Especialista de Tecnología
En un futuro estare documentando los ejemplos para que cada uno pueda utilizar el motor sin problemas!, cualquier duda de como empezar a desarrollar me pueden mandar un mensaje y yo les respondere.
 

Shak

Evolution
Miembro del equipo
Developer
Especialista de Argentum
Muy bueno, se podrian lograr geniales resultados. Ahi te gedo al privado:p
 

Bulywyf

Jordan.-
Ex-Staff
apoyo la iniciativa, pero hay cosas que no me cierran. primero no lo consideraria un motor completo. creo que todavia esta es una etapa muy temprana para ser llamado asi. segundo, la compatibilidad multiplataforma hoy en dia es soportada por todos los motores y frameworks. y por ultimo, cuales son esas herramientas unicas que ofrece?

los desarrolladores de videojuegos optarian por elegir un motor mas desarrollado si lo que buscan es la portabilidad y facilidad de desarrollo. sin ir mas lejos, como godot, o unreal, que todo el mundo puede tambien aprovechar porque son open source.

es decir, ya hay muy buenas opciones que la comunidad puede aprovechar y siguen sin hacerlo.
quizas podrias facilitar alguna herramienta que ayude mas al desarrollo del servidor, ya que cualquiera que quiera utilizar tu motor para hacer un ao, deberia programar el servidor desde cero, que es la tarea mas costosa(si lo que queres es que sea util para la comunidad).


saludos y espero que te lo tomes de manera constructiva.
 

Dr. GoDKeR

El Rey y el As
Miembro del equipo
Administrador
Developer
Moderador de RRPP
Moderador de AO
Moderador de Tecnología
Moderador de Entretenimiento
Moderador de Diseño
Especialista de RRPP
Especialista de Entretenimiento
Especialista de Tecnología
Especialista de Argentum
Especialista de Diseño
apoyo la iniciativa, pero hay cosas que no me cierran. primero no lo consideraria un motor completo. creo que todavia esta es una etapa muy temprana para ser llamado asi. segundo, la compatibilidad multiplataforma hoy en dia es soportada por todos los motores y frameworks. y por ultimo, cuales son esas herramientas unicas que ofrece?

los desarrolladores de videojuegos optarian por elegir un motor mas desarrollado si lo que buscan es la portabilidad y facilidad de desarrollo. sin ir mas lejos, como godot, o unreal, que todo el mundo puede tambien aprovechar porque son open source.

es decir, ya hay muy buenas opciones que la comunidad puede aprovechar y siguen sin hacerlo.
quizas podrias facilitar alguna herramienta que ayude mas al desarrollo del servidor, ya que cualquiera que quiera utilizar tu motor para hacer un ao, deberia programar el servidor desde cero, que es la tarea mas costosa(si lo que queres es que sea util para la comunidad).


saludos y espero que te lo tomes de manera constructiva.
El plugin web de unity es un asco, por ejemplo.
 

Bulywyf

Jordan.-
Ex-Staff
unity no me gusta en lo personal, por eso no lo nombre. cosas que deberian estar integradas en el motor vienen con plugins por parte de terceros. pero igualmente siguen habiendo un monton con buen soporte para web.
 

Dr. Wolftein

Computer's Scientist
Miembro del equipo
Administrador
Especialista de Tecnología
apoyo la iniciativa, pero hay cosas que no me cierran. primero no lo consideraria un motor completo. creo que todavia esta es una etapa muy temprana para ser llamado asi. segundo, la compatibilidad multiplataforma hoy en dia es soportada por todos los motores y frameworks. y por ultimo, cuales son esas herramientas unicas que ofrece?

los desarrolladores de videojuegos optarian por elegir un motor mas desarrollado si lo que buscan es la portabilidad y facilidad de desarrollo. sin ir mas lejos, como godot, o unreal, que todo el mundo puede tambien aprovechar porque son open source.

es decir, ya hay muy buenas opciones que la comunidad puede aprovechar y siguen sin hacerlo.
quizas podrias facilitar alguna herramienta que ayude mas al desarrollo del servidor, ya que cualquiera que quiera utilizar tu motor para hacer un ao, deberia programar el servidor desde cero, que es la tarea mas costosa(si lo que queres es que sea util para la comunidad).


saludos y espero que te lo tomes de manera constructiva.
Tenéis razón pero tampoco no la tenéis, paso a explicar mi punto de vista ya que personalmente use varios de los que nombraste (Excepto Godot).

Existen muchos motores profesionales pero cada uno tiene fallas en varios aspectos (Ya que ninguno es perfecto y no existe el motor perfecto)

UE4 es uno de los mejores motores para desarrollar juegos AAA, su suporte para escritorio es excelente pero decae muchísimo en dispositivos móviles y web (No recomiendo utilizar UE4 en esas plataformas, ya que no esta bien optimizado). UE4 no deja mucha libertad al programador con respecto a que no puedes desarrollar cosas como shaders (tienes que utilizar lo que UE4 provee no mas). La única forma de crear juegos es utilizando BP (Un lenguaje creado por ellos, lento pero divertido) o C++ (No es aquel que todo conocemos, ya que hay que tomar medidas para que ande correctamente y suele hacerse un choclo). Con respecto a juegos multiplayer, inclusive los mismo desarrolladores no recomienda UE4 para juegos que superen los 32-64 personas en un servidor, ya que el propósito de UE4 es crear juegos similares a (Quake, CS, CoD, etc).

Para 2D UE4 tiene uno de los peores performance que hay.

Unity me parece el peor motor de todos. Unity utiliza C# lo cual corre bien en Windows, pero cuando este es traducido a otra plataforma o sistema este debe correr siendo emulado por Mono (Juegos desarrollado en Unity en linux por ejemplo andan bastante mal). Unity tiene mas libertades que UE4, pero su elección de lenguaje y su código es mediocre. Es mediocre para juegos 3D pero tiene mejor soporte para juegos 2D. Para correr Unity en el navegador necesita un plug-in lo cual ya es un contra (Yo soy de las personas que no quieren cosas instaladas de terceras partes). Un juego en Unity en dispositivo mobile te drena la energía en unos minutos.

Mi framework solo busca competir con motores / framework tales como JMonkeyEngine y libGDX (Por el momento). Ambos son tecnología vieja lo cual Quark desea remplazar. Quark utiliza TeaVM que es el mejor traductor de Java/Javascript desarrollado hasta el momento con soporte a multi-thread (Cosa que ningún motor tiene). Otra ventaja sobre esos motores es como un desarrollador usa Quark para poder crear juegos, ya que este este diseñado especificamente para que sea facil pero aun asi poderoso con posibilidad de desarrollar video-juegos de manera eficiente.

Porque hacer un motor/framework? Un motor/framework nace de la necesidad de implementar algo que otros motores no tienen, en mi caso con Quark es posible de emular muchas de las cosas de OpenGL aunque esta no estén presente en el sistema (Ningún motor tiene soporte para Legacy) y su sistema de shader es algo nunca visto en ningun motor.

Quark nació como aprendizaje y se transformo en un framework bastante completo (Framework ya que no contiene escena ni herramientas), y estoy orgulloso de decir que este motor es Argentino.

Gracias por tu comentario!
 
Última edición:

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
apoyo la iniciativa, pero hay cosas que no me cierran. primero no lo consideraria un motor completo. creo que todavia esta es una etapa muy temprana para ser llamado asi. segundo, la compatibilidad multiplataforma hoy en dia es soportada por todos los motores y frameworks. y por ultimo, cuales son esas herramientas unicas que ofrece?

los desarrolladores de videojuegos optarian por elegir un motor mas desarrollado si lo que buscan es la portabilidad y facilidad de desarrollo. sin ir mas lejos, como godot, o unreal, que todo el mundo puede tambien aprovechar porque son open source.

es decir, ya hay muy buenas opciones que la comunidad puede aprovechar y siguen sin hacerlo.
quizas podrias facilitar alguna herramienta que ayude mas al desarrollo del servidor, ya que cualquiera que quiera utilizar tu motor para hacer un ao, deberia programar el servidor desde cero, que es la tarea mas costosa(si lo que queres es que sea util para la comunidad).


saludos y espero que te lo tomes de manera constructiva.
Fijate que los programadores de AOWeb en vez de utilizar por lo menos motores como libGDX, o aprovechar las herramientas que WebGL te da para el desarrollo del motor gráfico, utilizan Canvas.

En este caso pueden aprovechar a utilizar Quark para que tengan un buen soporte, además tenemos que destacar que todos esos motores gráficos son con fines de lucro, quitando a unos pocos como libGDX que, aún así, no tiene grandes optimizaciones y todavía le faltan muchas tecnologías por abarcar.

Saludos.
 

Dr. Wolftein

Computer's Scientist
Miembro del equipo
Administrador
Especialista de Tecnología
El ejemplo de AOWeb mejorado!, contiene ciclo de noche y dia (Ambiente) y deberia correr aun mas rapido! + movimiento en 8 direcciones.

Saludos.
 

Dr. Wolftein

Computer's Scientist
Miembro del equipo
Administrador
Especialista de Tecnología
El codigo del motor esta disponible, el link se encuentra en el 1er post; con respecto al codigo del ejemplo todavia no esta disponible para descarga hasta que este mas completo (Normal mapping, AA, Height map, etc).
 

Dr. Miqueas150

The Prophet
Ex-Staff
Exijo ver el rendimiento cuando se pone a renderizar muchos cuerpo en movimiento con efecto locos <3


off : Sos Gay
 

Dr. GoDKeR

El Rey y el As
Miembro del equipo
Administrador
Developer
Moderador de RRPP
Moderador de AO
Moderador de Tecnología
Moderador de Entretenimiento
Moderador de Diseño
Especialista de RRPP
Especialista de Entretenimiento
Especialista de Tecnología
Especialista de Argentum
Especialista de Diseño

Dr. Wolftein

Computer's Scientist
Miembro del equipo
Administrador
Especialista de Tecnología
El motor sigue creciendo, ya cuenta con su propio y poderoso sistema de fuentes (Las fuentes son cargadas usando el formato AngelCode) y soportan todo tipo de efectos, entre ellos (Delimitado)



Una nueva era de Argentum Online esta llegando.
 
Arriba