Test de mi gameEngine en C++

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

Re: Test de mi gameEngine en C++

Postby Hokuto7 » Thu Dec 06, 2018 6:44 pm

CicTec wrote:Hola Hokuto7,

Gracias por el test, todavia creo que hay una diferencia importante, la version que tu estas probando de Gemix es la Legacy, esto significa que renderiza por software (puro rendering via CPU), mientra el clickteam fusion funciona por aceleracion hardware, en tu caso estara usando Direct3D ya que OpenGL no te funciona bien (o quizas OpenGL de alguna forma que te funcione), de aqui la diferencia.

Por otro lado no se el test de este engine de erkosone como te va en comparacion a Gemix, pero si te funciona estara usando aceleracion hardware basada en OpenGl 1.1, porque no soporta Direct3D


Clickteam fusion usa direct3d 9,y la libreria de erkozone me funciona gracias a estos archivos ("libglapi.dll,opengl32.dll"),si no fuera por estos archivos no me funcionaria,creo que estos archivos lo que hacen es emular opengl 2 y 3,pero no entiendo porque esta libreria no funciona por software.

Erkozone!,los proximos ejemplos que subas te agradeceria que tengan una resolucion de 640x480 y a 30fps ,asi veo el rendimiento que tiene en mi ordenador y veo si me merece la pena usar esta version de gamelibzero.

Como sugerencia te diria que le metas un segundo parametro a la funcion de fps para poder restarle frames a la aplicacion y aumentar el rendimiento,si has visto los resultados de gemix cuando le resto frames la aplicacion aumenta considerablemente el rendimiento,ejemplo:
set_fps(60,1).
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en C++

Postby shao » Thu Dec 06, 2018 7:11 pm

erkosone wrote:el rendimiento y el uso libre de todas las librerias que existen en el mundo mundial, cosa que en gemix tienes que esperar a que algun alma caritativa haga el port de esa lib.

Osea, quieres programarte una caja registradora para una tienda como si fuera un juego? la usas..
Quieres programar un juego para win/linux/mac/web/ios/android/raspberrypi.. la usas..
Quieres usar vision artificial como por ejemplo openCV? la importas y la usas..
Quieres IA de ultima generación como tensorFlow de google? la importas y la usas..
Quieres comunicarte por un puerto serie, puerto usb, wifi, bluetoth etc? la usas.. solo tienes que cargar la lib necesaria y ya.

Pero tienes que aprender a usar C++ a fondo, es infinito mas dificil que gemix, gemix es muy sencillo de usar, pero C++ es mas rapido, es mas amplio, hay mas documentación, no tiene limitación ya que es el lenguaje base con el que practicamente se escribió el codigo fuente del universo.

No es ni mejor ni peor, es depende de lo que tu necesites, quieres entrar en steam? necesitas usar una lib que monetice tu juego? quieres micropagos? usar paypal? conectar con webs? faceboock? twitter? lo que sea.. C++ te deja ya que hay librerias para ello por todos lados..

En gemix también puedes hacer todo esto "si alguien antes" se toma las molestias de crear una libreria para ello.

No es mejor ni peor. es otro concepto. Gemix es un lenguaje cerrado, c++ es lo que es, dificil, pero abierto a todo lo que quieras con el coste de una mayor complejidad de inicio, por que al final te acostumbras y terminas viendolo normal..

Mira unity, se programa en C# y hasta gente que no tiene ni idea de programación lo usa y sabe copiar y pegar un source que hace algo.. pues en C/C++ igual..

La ventaja de C++ es que es completamente orientado a objetos y esto para proyectos grandes es obligatorio, y sobre todo que esta infinitamente documentado por todo internet desde hace decadas.

Eso no quita que en gemix haces un juego en 5 minutos, pero en C++ con una lib así también, ya colgaré un making off de como hacer un juego de cero cuando la tenga potable y lista para cumplir con los minimos.


Ok, creo que me hago una idea de que lo que tú estás haciendo es una librería para C++.
Entonces yo programaría mi juego en C++ y podría usar las funciones que tú estás creando.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: Test de mi gameEngine en C++

Postby CicTec » Thu Dec 06, 2018 7:18 pm

Hokuto7 wrote:Clickteam fusion usa direct3d 9,y la libreria de erkozone me funciona gracias a estos archivos ("libglapi.dll,opengl32.dll"),si no fuera por estos archivos no me funcionaria,creo que estos archivos lo que hacen es emular opengl 2 y 3,pero no entiendo porque esta libreria no funciona por software.

libglapi.dll y opengl32.dll son las librerias standard de OpenGL, y el test te funciona porque esta libreria que esta usando erkosone funciona con 3 especificas OpenGL: OpenGL 1.1 y OpenGL 3.3 para desktop y OpenGL ES 2.0 para mobile, como tu tarjeta grafica llega como mucho al soporte OpenGL 2.0 (o 2.1) usa en automatico la especifica 1.1 que te permite hacer funcionar la libreria, todavia esta version 1.1 es la mas antigua y no soporta muchas features de las nuevas especificas (como shaders, etc...)

Gemix de contra usa OpenGL 2.1 para desktop y OpenGL ES 2.0 para mobile (de momento), y como tu tarjeta de video llega a la 2.0, (o 2.1 pero le falta algo o falla en alguna inicializacion quizas) no funciona.

Hoy en dia es muy dificil encontrar una libreria que funcione por software ya que no permiten hacer muchos efectos con un rendimiento adecuado, Gemix es un caso particular porque su desarrollo ha empezado en el 2005 y en el curso del tiempo la libreria ha sido optimizada mucho para obtener un rendimiento aceptable tambien con varios efectos modernos.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: Test de mi gameEngine en C++

Postby CicTec » Thu Dec 06, 2018 7:20 pm

shao wrote:
erkosone wrote:el rendimiento y el uso libre de todas las librerias que existen en el mundo mundial, cosa que en gemix tienes que esperar a que algun alma caritativa haga el port de esa lib.

Osea, quieres programarte una caja registradora para una tienda como si fuera un juego? la usas..
Quieres programar un juego para win/linux/mac/web/ios/android/raspberrypi.. la usas..
Quieres usar vision artificial como por ejemplo openCV? la importas y la usas..
Quieres IA de ultima generación como tensorFlow de google? la importas y la usas..
Quieres comunicarte por un puerto serie, puerto usb, wifi, bluetoth etc? la usas.. solo tienes que cargar la lib necesaria y ya.

Pero tienes que aprender a usar C++ a fondo, es infinito mas dificil que gemix, gemix es muy sencillo de usar, pero C++ es mas rapido, es mas amplio, hay mas documentación, no tiene limitación ya que es el lenguaje base con el que practicamente se escribió el codigo fuente del universo.

No es ni mejor ni peor, es depende de lo que tu necesites, quieres entrar en steam? necesitas usar una lib que monetice tu juego? quieres micropagos? usar paypal? conectar con webs? faceboock? twitter? lo que sea.. C++ te deja ya que hay librerias para ello por todos lados..

En gemix también puedes hacer todo esto "si alguien antes" se toma las molestias de crear una libreria para ello.

No es mejor ni peor. es otro concepto. Gemix es un lenguaje cerrado, c++ es lo que es, dificil, pero abierto a todo lo que quieras con el coste de una mayor complejidad de inicio, por que al final te acostumbras y terminas viendolo normal..

Mira unity, se programa en C# y hasta gente que no tiene ni idea de programación lo usa y sabe copiar y pegar un source que hace algo.. pues en C/C++ igual..

La ventaja de C++ es que es completamente orientado a objetos y esto para proyectos grandes es obligatorio, y sobre todo que esta infinitamente documentado por todo internet desde hace decadas.

Eso no quita que en gemix haces un juego en 5 minutos, pero en C++ con una lib así también, ya colgaré un making off de como hacer un juego de cero cuando la tenga potable y lista para cumplir con los minimos.


Ok, creo que me hago una idea de que lo que tú estás haciendo es una librería para C++.
Entonces yo programaría mi juego en C++ y podría usar las funciones que tú estás creando.

Si, es una libreria y tienes que programar en C++ con la API que esta libreria te proporciona, si le falta algo tienes que buscar la libreria que te interesa y utilizar su API, basicamente es lo tipico de programar en C++, bastante distinto de programar con un Game engine como Gemix u otros que estaras usando.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: Test de mi gameEngine en C++

Postby Vortigano » Thu Dec 06, 2018 7:24 pm

Te felicito Erkosone por tu trabajo, éxitos con eso.
53 fps 387 procesos
Uso Phenom x6, mother msi 770-c45, ddr3 a poco más de 800mhz, video geforce 8500gt msi 256mb creo que es ddr2, windows 8.1 x64
User avatar
Vortigano
 
Posts: 239
Joined: Sun May 07, 2017 6:04 am

Re: Test de mi gameEngine en C++

Postby erkosone » Thu Dec 06, 2018 9:17 pm

Gracias vortigiano por el test, efectivamente te lanza tantos procesos por la grafica que tienes, este test tira unicamente de grafica, la cpu queda como algo trivial en este test..
Para el siguiente voy a volver al modo anterior de renderizado de graficos, que aunque es mas dificil para mi montar las funciones que los pintan rinde mucho mejor en equipos que no tienen una grafica dedicada..

Ahora mi problema es que no noto diferencia alguna en mi PC.. 20.000 procesos o mas en todos los modos... así no puedo comparar.. pero bueno.. si testeais esto que voy colgando puedo seguir avanzando en el buen camino.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby erkosone » Fri Dec 07, 2018 11:05 am

Mierda de trigonometria..

en esta libreria la función de pintado rápida rota los sprites desde la esquina superior izquierda.. y llevo como 2 horas intentando en vano sacar la corrección de posición para la rotacion XD.. de verdad que son de esas cosas que siempre te tocan lo que no suena al empezar a programar el engine..

manda webos xD...
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby Vortigano » Fri Dec 07, 2018 11:32 am

erkosone wrote:Mierda de trigonometria..

en esta libreria la función de pintado rápida rota los sprites desde la esquina superior izquierda.. y llevo como 2 horas intentando en vano sacar la corrección de posición para la rotacion XD.. de verdad que son de esas cosas que siempre te tocan lo que no suena al empezar a programar el engine..

manda webos xD...


Hola, ¿Estás escribiendo en C/C++ ?
User avatar
Vortigano
 
Posts: 239
Joined: Sun May 07, 2017 6:04 am

Re: Test de mi gameEngine en C++

Postby erkosone » Fri Dec 07, 2018 11:42 am

Si vortigiano, en ello estoy jeje
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby Vortigano » Fri Dec 07, 2018 11:46 am

erkosone wrote:Si vortigiano, en ello estoy jeje


Las rotaciones por matrices de 2x2 multiplicadas (añado: por la izquierda) por una matriz de 1x2 que contenga los puntos originales sin rotar (x,y), si el centro cartesiano de los puntos está correctamente en el origen del plano (quiero decir [x_central,y_central] = (0,0)) entonces debería rotarte bien... aunque no sé si estarás usando matrices para rotar, pero lo supongo.
Last edited by Vortigano on Fri Dec 07, 2018 12:14 pm, edited 2 times in total.
User avatar
Vortigano
 
Posts: 239
Joined: Sun May 07, 2017 6:04 am

PreviousNext

Return to Offtopic

Who is online

Users browsing this forum: No registered users and 8 guests