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 erkosone » Thu Jun 06, 2019 11:39 am

La verdad es que esta quedando bastante bien, y funciona muy fino tio.
Ya te digo, sabiendo economizar con la iluminación y las sombras y aprobechando bien el sistema de batch de shapes puedes hacer muchas cosas con buen rendimiento.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby erkosone » Fri Jun 07, 2019 2:42 am

Avances y performance..
Acabo de añadir una nueva feature que es la bomba, realmente nos permite crear contenido dinamico muy facilmente en los juegos 3d..

Se trata de la distancia de visión.. ajustando la distancia de visión podemos tranquilamente lanzar 50.000 procesos, si! has leido bien.. CINCUENTA MIL PROCESOS EN 3D! sin un apice de ralentización, java, al igual que c o c++ son lenguajes extremadamente optimizados en lo que a recorrer listas de objetos se refiere, estan creados basicamente para esto, y crear una lista de varios cientos de miles de objetos y recorrerla a cada frame practicamente lo deja indiferente..

Así que.. simplemente basta con añadir esto al proceso 3d:

Source Code (Java) [ Download ] [ Hide ]
  • dist = getDist(idPerso);
  •        
  •         if(dist>100){
  •             visible = false;
  •         }else{
  •             visible = true;
  •         }


Y como bien se puede ver, heredado de gemix como no, da exactamente igual la cantidad de objetos que esten funcionando.. el framework se va a basar en el valor de la variable local predefinida "VISIBLE" para renderizar o no el modelo..
Pero ya no solo renderizarlo.. si no que basicamente no aplica ni transformaciones a la matriz general del motor grafico, así que realmente se vuelve una solución ultra fast.

La verdad es que me esta sirviendo mucho Gemix como inspiración para dejar fino a este motor, he de reconocer que el lenguaje Gemix tiene aspectos muy elaborados como este que supongo que en Gemix hace exactamente lo mismo.


Con esto en 3d lo que pretendo es evitar la carga dinamica de procesos y modelos.. simplemente se genera todo el contenido pues java puede con grandes listas de objetos y procesos sin despeinarse, y el framework hace el trabajo sucio.. obteniendo una gran tasa de FPS ahun teniendo varios miles de procesos con modelos 3d en memoria ejecutandose.
You do not have the required permissions to view the files attached to this post.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Fri Jun 07, 2019 9:53 am

¿El 3d es solo para la version opengl?.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Fri Jun 07, 2019 2:59 pm

Hola Hokuto, si tio, solo para openGL acelerado por hardware, tanto para Desktop "Windows linux y macosx" como para Android.

Te dejo un video de como luce el motor de la gameLibZero en 3d, ya con iluminación basica y todo eso..

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

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Fri Jun 07, 2019 4:26 pm

Entonces tendre que esperar a que implementes el 3d en la version de raylib.
Aunque lo que realmente me interesa es que metas la funcion para cargar los mapas hechos con szener y el poder manejar desde el codigo los objetos colocados desde el szener.

Una pregunta que puede que no tenga solucion.
Source Code (Gemix) [ Download ] [ Hide ]
  • int animacion[] = {1,1,1,2,2,2,3,3,3};
  •  


Me gustaria saber si hay alguna forma de indicarle al array el numero de repeticiones que quiero que tenga cada numero,es para no tener que estar poniendo muchas veces el mismo numero.

Si no se puede con array,hay alguna otra forma.Es decir,pongo un numero y con alguna funcion que tenga el lenguaje decirle que ese numero tenga ciertas repeticiones.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Fri Jun 07, 2019 6:01 pm

Hola hokuto. Pues se puede de muchas maneras. Puedes hacerlo haciendo que el array de la animacion se tenga que leer a pares y que el primer numero sea el frame y el segundo el numero de repeticiones. Osea . Int[] animation = { 1,5, 2,5, 3,5, 4,5 };
Entonces oa animacion es 1 2 3 4 repitiendo 5 frames cada uno.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Fri Jun 07, 2019 8:06 pm

Asi de primeras no lo entiendo,porque si recorro ese array me va a leer primero el sprite 1 luego el 5 despues el 2,y no lo va a recorrer seguido para que tenga una animacion seguida.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby Nowy » Fri Jun 07, 2019 10:47 pm

recorres ese array pero el primer valor que encuentras se lo asignas al grafico, y el segundo a las veces q tienes que repetir esa asignacion(o esperar para leer el siguiente) en bucle.
User avatar
Nowy
 
Posts: 597
Joined: Sat Oct 04, 2008 11:14 am
Location: Tenerife

Re: Test de mi gameEngine en processing.

Postby erkosone » Fri Jun 07, 2019 11:53 pm

Aber almas de catarus que podemos leer tantos datos como queramos del array a cada iteracion..

for( int i=0; i<tamanio; i+=2 ){

}

entonces i indica el gráfico, y de igual manera "i+1" indica las veces que hay que repetirlo.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Sat Jun 08, 2019 10:42 am

Depues de realizar algunas pruebas comento.

Nowy!!, esta muy bien lo que comentas,pero si recorres ese array lo hace seguido y no veo la forma de decirle desde un bucle que repita 5 veces el primer numero antes de pasar al segundo,si tu lo sabes dimelo.

Erkozone!!,esta muy bien tu teoria pero en la practica no funciona porque no explicas como recorrer 5 veces un numero antes de pasar al siguiente,tu me estas diciendo que vaya de 2 en 2 con i += 2,pero eso lo que hace es primero el 1 despues el 2,vamos que se salta en cada iteracion el 5.

Pero ese 5 como lo uso o para que sirve,si no le veo ninguna utilidad,tu dices que es para decirle que lo repita 5 veces,pero como lo usas.Pon un ejemplo,si no,es imposible entender esto.He mirado por internet y no hay nada sobre esto que comentas.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

PreviousNext

Return to Offtopic

Who is online

Users browsing this forum: No registered users and 7 guests