Test de mi gameEngine en processing.

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Re: Test de mi gameEngine en processing.

Postby CicTec » Tue Sep 05, 2017 5:30 pm

erkosone wrote:Pero por ejemplo, el concepto de procesos lo tengo en C y en Java, no se por que dices que no existe y es exclusivo de div y derivados cuando todo el mundo sabe que detras de eso hay una clase base y un core que organiza largas listas de objetos de esa clase.

En C no existe el concepto de procesos, ni de clases y en Java/C++/C# no existe el concepto de procesos, pero si de clases que son bastantes similares a los procesos pero no igual, asi que cuando digo que no existen me refiero a eso, pero esta claro que puedes montarlo en esos lenguajes, ya que con eso (lenguaje C y derivados) se creo DIV, Gemix y cualquier otro DIV-Like.

erkosone wrote:Cuando saques la nueva beta haré un simple test haciendo operaciones matematicas, veras como lo que te digo de que Java corre cientos de miles de operaciones mas rapido que gemix es cierto, no me lo invento, cientos de miles..

Si lo has probado entonces es cierto que sea asi, y si procesing utiliza (no lo se) la compilacion/ejecucion de los ultimos compiladores de java/JVM, estara usando casi seguramente JIT, lo cual convierte el codigo de interpretado a nativo, logico que vaya mas rapido, pero de aqui a que Gemix sea muy malo como dices en ejecucion de codigo, hay diferencias, si seria malo, no obtendrias los FPS que puedes conseguir con N numero de procesos y N graficos en renderizar, asi que la ejecucion del codigo es importante, pero relativa en un game engine, lo que cuenta es el rendimiento final con todos los componentes del juego.

erkosone wrote:Lo de las librerias me refiero a que las librerias comerciales o indi en C o Java no hace falta trabajo para usarlas, en Gemix hay que hacerles un wrapper y eso es muchisimo trabajo.

Eso pasa con cualquier libreria que se quiera portar da un lenguaje a otro, si pero la libreria la creas de cero para Gemix, el trabajo es lo mismo (o casi) que hacerne una de cero para Java, C#, C++ y lo que sea, asi que no hay trabajo desmesurado, justo lo tipico.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: Test de mi gameEngine en processing.

Postby Spiderman » Tue Sep 05, 2017 11:56 pm

Gracias por el video :y:

Mas sencillo no se puede explicar, por lo menos desde mi punto de vista.

Y na, deseando probar tu libreria. El sabado me baje el Processing y lo tengo ahi calentando motores para empezar a hacer cosillas con el.
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Wed Sep 06, 2017 3:22 am

Hola Spiderman, pues aunque sea sin la fisica hoy por la mañana voy a liberar la librería para que puedas probarla y eso..

La versión que tiene la física integrada la soltare dentro de unos dias, pero ya se puede usar para hacer juegos perfectamente sin física "integrada", aunque recuerda que es processing, tienes muchos motores de fisica para processing que ya puedes usar, esta es una librería que te da el core que gestiona los procesos/sprites y algunas cosas mas, pero en processing tienes mas de 100 librerias disponibles para hacer lo que te de la gana.

@CicTec, no se si recuerdas el motor de fisica que hice yo en su día, la PhysicsMotionLib, con esa librería que hice yo antes de que tu hicieras tu el wrapper para gemix de la mod_ChipMunk de PRG de bennu conseguia 60 fps en un i5 3.2 GHZ con tan solo 100 objetos con fisica, los calculos ralentizaban enormemente al programa.
Esos mismos calculos realizados en java 8 practicamente no ralentizan absolutamente nada, en vez de 100 objetos puedo tener 100.000 y empiezo a notar ralentización, asi que algo hay que no va bien en Gemix. no sabría decirte que es, pero la velocidad del código no es buena.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby erkosone » Wed Sep 06, 2017 7:46 am

Libreria disponible al inicio del hilo, para windows/linux y mac necesita descargar desde el ide de processing la lib 'minim' de audio.
La versión de Android ya incorpora una librería de audio programada por mi en java nativo :)

A disfrutarla, ya podeis incharos a programar fácilmente para android o windows o mac o linux..

En breve mas videotutoriales con juegos de ejemplo etc..
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby CicTec » Wed Sep 06, 2017 8:47 am

erkosone wrote:@CicTec, no se si recuerdas el motor de fisica que hice yo en su día, la PhysicsMotionLib, con esa librería que hice yo antes de que tu hicieras tu el wrapper para gemix de la mod_ChipMunk de PRG de bennu conseguia 60 fps en un i5 3.2 GHZ con tan solo 100 objetos con fisica, los calculos ralentizaban enormemente al programa.
Esos mismos calculos realizados en java 8 practicamente no ralentizan absolutamente nada, en vez de 100 objetos puedo tener 100.000 y empiezo a notar ralentización, asi que algo hay que no va bien en Gemix. no sabría decirte que es, pero la velocidad del código no es buena.

No es que no es buena, ya te lo explique una vez cuando te recomiende de hacer la libreria de fisica nativa, es que estas haciendo miles de calculos en coma flotante (que son muy pesados) en un lenguaje interpretado, no puedess esperarte resultados excelsos, eso pasa con cualquier lenguaje interpretado, de contra java 8 como dices de usar utiliza recien tecnicas de JIT en su JVM que convierte el codigo da interpretado a nativo llegando a una velocidad igual o casi a aquella de un programa compilado nativamente en C, ademas es posible que el JIT (compilador run-time) sea capaz en el caso de ciertas operaciones enteras o coma flotante de usar las particulares istrucciones SIMD de las CPU, velocizando enormemente los calculos y de aqui los resultados que ves.

Por otro lado, tratadonse de una comparacion de game engine's o framework's para juegos, no puedes hacer el test basandote sobre un calculo matematico, porque esos programas nacen para hacer juegos, que incluyen grafica, audio, input, networking y otro, por ende debes hacer tests reales de ejemplos como crear un gran numero de procesos/objetos de clases con renderizado, sin renderizado, usando muchos sonidos, etc..., por ejemplo el test que has puesto al principio de tu post que renderiza un numero de procesos en virtual resolution, que valores obtienes comparando tu libreria con Gemix u con otros DIV-Like's ? esto ya es un test mas efectivo, otro test seria probar tu ejemplo de fisica de java (que ejecuta en nativo), contra el mismo ejemplo en Gemix u otro DIV-Like que soporte una libreria de fisica compilada en nativo y de aqui vas a tener un resultado comparativo mas realistico de la potencia efectiva del engine para hacer un juego/ejemplo completo/complejo.

Por ultimo para darte vision realistica te pongo el enlance de una pagina comparativa de calculos matematicos y de ejecucion entre Lua interpretado y LuaJIT (compilado en nativo en run-time):
http://luajit.org/performance_x86.html

Como podras ver probando, la version nativa llega hasta 64x o mas rapido, respecto a la version interpretada, eso demuestra que la version interpretada no es que no sea buena, es el precio que paga para ser interpretada y permitir la portabilidad a otras plataformas, cosa que el nativo no permite (si no se soporta JIT), pero vuelvo a repetir, son datos relativos en un game engine donde hay factores de ejecucion mucho mas importante que influencian la velocidad final.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Sep 10, 2017 9:06 pm

Acabo de integrar la JBox2D con la libreria, en breve un video tutorial sobre como usar fisica para juegos en processing. ;)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby OskarG » Mon Sep 11, 2017 7:07 am

Hola,vi el video por encima....está bien....
Dos cuestiones .....
¿¿Donde puedo ver el listado de funciones que puedo hacer con esta libreria y donde la puedo bajar??Gracias y viva ESPAÑA!!,vIvA!!! :mrgreen:
User avatar
OskarG
 
Posts: 612
Joined: Tue Jan 12, 2010 2:12 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Mon Sep 11, 2017 9:42 am

voy a subirla a github ahora.

El listado de funciones lo puedes ver en el propio archivo de la libreria aunque voy a ir haciendo videos explicando todo lo que tiene.
Aunque piensa que es una librería para juegos que facilita el gameloop y el core que gestiona los sprites/procesos, para que nos entendamos, en esta librería el objeto clave se llama sprite, y es exactamente la misma cosa que un proceso en gemix.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Spiderman » Mon Sep 11, 2017 3:35 pm

Erkos, una cosa breve sin mucha importancia.

No sería buena idea que los nombres de los archivos gráficos y audios los guardásemos aparte de con el numero de orden con una breve descripción. Algo así como: 01fondo, 02nave, 03laser, etc....


Pd: Yo tambien uso la manera de programar con estados que mencionas en los ejemplos. Facilita mucho las cosas, la verdad. :y:
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Mon Sep 11, 2017 5:39 pm

Hola Spiderman, si, a los graficos les puedes poner el nombre que te parezca mejor, con la función que indico en el video se cargan todos sin importar el nombre ;)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

PreviousNext

Return to Offtopic

Who is online

Users browsing this forum: No registered users and 9 guests