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 Hokuto7 » Mon Aug 06, 2018 6:15 pm

Me parece buena idea lo del concurso de remake, pero eso sera cuando este lista la libreria porque todavia le quedan algunos retoques,aunque va por buen camino. :)

Por cierto he estado mirando el codigo de pilasengine 2, y te tienes que descargar el source code,lo abres con el Brackets y te metes en la carpeta pilasengine del source code,en esa carpeta hay mas carpetas.

Las mas interesantes son la de actores y la de escenas,hay que mirar el codigo de actor_base y escena_base,aunque puedes mirar lo que quieras,esta todo escrito en javascripts y no creo que tengas problemas en entenderlo.

Te paso un enlace por si te interesa mirar el codigo y tal vez encuentres algo interesante para copiarlo o para coger ideas y meterselo a tu libreria.

https://github.com/pilas-engine/pilas-engine/releases
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Tue Aug 07, 2018 7:07 am

Ok hokuto, dame un poco mas de tiempo que no veas XD.. anoche y ahora por la madrugada he estado liado con la formula del angulo de rotación del srpite, sabes que pasa? que como la rotación se calcula desde una clase que no es un sprite tengo que referenciar todo como si se hiciera desde el sprite y en algunos casos los angulos dan negativos y se visualizan mal, pero ya tengo la corrección, es la misma que una que postee en este foro para gemix hace unos años en la libreria de fisica que hice.

Creo que para esta noche o quizá mañana lo tenga listo y pasamos a otro tema ;)

Gracias por el apoyo tio.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Tue Aug 07, 2018 11:31 am

Ok,no te preocupes y sin prisa. :)

Por cierto te paso un video donde se explica mejor como ver el codigo interno de pilas engine 2,el video lo ha hecho el creador de pilasengine,solo dura 5 minutos.

https://www.youtube.com/watch?v=ASKYT7OoLos

Por ultimo comentarte que mi apoyo lo vas a tener siempre y personalmente te estoy cogiendo aprecio y tambien al resto de gente del foro.

Ademas que aunque tengamos distintos puntos de vista y discrepamos en muchas cosas para mi esto es positivo,porque cada uno pensamos diferente y eso beneficia a la libreria.Cada uno tiene sus ideas de como debe ser la libreria y eso hace que se mejore con el tiempo,si todos pensaramos igual pues la libreria no mejoraria y seguiria siempre igual.

Bueno dejo de enrrollarme y animo y sin prisa. ;)
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Tue Aug 07, 2018 8:22 pm

Parecia facil XD..

Ya lo tengo, para el FORWARD que es el primer modo de desplazamiento ya esta conseguido..

Tio son 4 modos internos de programarlo XD.. con o sin rotacion, y dentro de esas dos, con o sin cuerpo fisico.. para que todo quede abstraido al programador tela marinera jajaja..

tenenseño el codigo preliminar del modo FORWARD..

Source Code (Javascript) [ Download ] [ Hide ]
  • move(type_){
  •         switch(type_){
  •             case FORWARD:
  •                 switch(this.fst){
  •                     case 0:
  •                         if(!this.rotation){
  •                             var angle = _id_actual_sprite_runing_.getAngle(this.points[this.pos].x, this.points[this.pos].y);
  •                             _id_actual_sprite_runing_.advance2(this.vel, angle);
  •                            
  •                         } else{
  •                             var angle = _id_actual_sprite_runing_.getAngle(this.points[this.pos].x, this.points[this.pos].y);
  •                             if(_id_actual_sprite_runing_.body_created){
  •                                 _id_actual_sprite_runing_.setAngle(angle);
  •                                 _id_actual_sprite_runing_.advance2(this.vel, angle);
  •                             } else{
  •                                 _id_actual_sprite_runing_.angle = angle;
  •                                 _id_actual_sprite_runing_.advance(this.vel);
  •                             }
  •                         }
  •                        
  •                         var d = dist(_id_actual_sprite_runing_.x, _id_actual_sprite_runing_.y, this.points[this.pos].x, this.points[this.pos].y);
  •                         if(d <= this.lastDist){
  •                             this.lastDist = d;
  •                         } else{
  •                             if(_id_actual_sprite_runing_.body_created){
  •                                 _id_actual_sprite_runing_.translate(this.points[this.pos].x, this.points[this.pos].y);
  •                             } else{
  •                                 _id_actual_sprite_runing_.x = this.points[this.pos].x;
  •                                 _id_actual_sprite_runing_.y = this.points[this.pos].y;
  •                             }
  •                             this.lastDist = 999999999999;
  •                             this.fst = 10;
  •                         }
  •                         return false;
  •                         break;
  •                     case 10:
  •                         if(this.pos+1 < this.points.length){
  •                             this.pos ++;
  •                             this.fst = 0;
  •                             return false;
  •                         } else{
  •                             return true;
  •                         }
  •                         break;
  •                 }
  •                 break;



Vale.. el codigo es bastante feo.. pero funciona bien jeje.. haber si termino los 3 modos restantes y lo publico y pasamos a los nivels ;)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Wed Aug 08, 2018 11:11 am

Madre mia,cuanto codigo,menos mal que estas tu para hacer eso,si tuviera que hacerlo yo me volveria loco. :lol:
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Aug 12, 2018 9:39 am

Buff.. esto es demasiado dificil jajajaja.. el tiempo que tengo ahora mismo disponible es limitado, estoy en un proyecto grande en el trabajo y estamos actualizandolo ahora en verano y me consume todo el tiempo practicamente, voy a rehacer la función de los caminos simplificando el codigo y desechando por ahora la opcion de la rotación, se podrá hacer con una función aparte, por que si hay que tomarla en cuenta en los calculos de avance la verdad es que todo se vuelve oscuro y comienzan a tronar rayos y centellas :lol:

Aún así es una sugerencia buenísima Hokuto, la voy a dejar bastante decente y para cuando coja las vacaciones me siento y la rehago de nuevo con rotación, esto requiere de una buena sesión de pizarra y diseño del algoritmo de avance con o sin física y con o sin rotación.

Me pongo manos a la obra en reescribir el codigo.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Sun Aug 12, 2018 10:11 am

No te preocupes Erkozone,si no puedes meter lo de la rotacion pues no pasa nada,tal y como esta ahora esta bastante bien.Este es un comportamiento que no corre prisa,lo puedes dejar para el final si quieres. ;)

Lo de la rotacion no lo tiene ningun engine,se me ocurrio porque creo que quedaria muy chulo,pero si no se puede pues no hay problema. :cry:

Entonces ahora que!,vas a rehacer el codigo de los caminos,te vas a poner con la estructura de niveles o quieres que te vaya diciendo las nuevas funciones que se me han ocurrido,algunas de estas funciones van unidas con la estructura de niveles para que quede mas sencillo. :angel:

Tambien estan algunas funciones que ya vienen en processing pero que dijistes que le ibas a dar un toque div para que queden mas chulas y sencillas. :0'

Tal vez prefieres tomarte un descanso y retomarlo en vacaciones o despues de vacaciones,entonces dime que hacemos ahora,lo dejamos por un tiempo o seguimos con otras cosas mas sencillas. 8-)

Como siempre te digo no hay prisa,la libreria puede tardar en estar lista,desde mi punto de vista es mejor tomarselo con calma y presentar la libreria cuando este completa. :)
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Aug 12, 2018 10:39 am

jeje, Hokuto soy demasiado cabezta como para pasar a algo mas sencillo XD..

No me gusta darme por vencido facilmente, estoy re escribiendo el codigo de los caminos, ahora está mucho mas ordenado y sencillo, y sobre todo mas eficiente, sabes que pasa.. que intento reutilizar codigo siempre que puedo, pero para este tipo de cosas tan especificas es mejor crear codigo nuevo y limpio por que no siempre se adapta lo que tienes al 100% con lo que quieres conseguir nuevo. :)

Nada que me he puesto a rehacer las formulas del getAngle() y del advance() con y sin fisica pero esta ver sin tener en cuenta el angulo de orientación del sprite, así primero lo muevo sin mas y luego lo roto como dios manda..

Ya tengo el codigo escrito para los modos FORWARD y FORWARD_LOOP y queda muy limpio, me encanta como me ha quedado jeej.. creo que en una media hora o así tendré el resto y entonces miraré la rotación que ahora si que va a ser algo simple simple..

Por ciento.. le he añadido una nueva feature.. la propiedad "pause" que si la pones a true el sprite no continua su camino, y cuando la pones a true continua donde se quedó :0' :0'
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Sun Aug 12, 2018 11:42 am

Veo que eres tan cabezota como yo. :lol:

Lo del pause es estupendo,esto te lo dije al principio que era el stop,fantastico. :claphands:

Una cosa que te comento,he estado rotando el sprite de forma manual con advance(),pero hay un fallo,he utilizado una variable para cambiar el angulo cada x tiempo pero no funciona,solo funciona cambiando directamente la variable angle.

Este funciona
Code: Select all
 function Miobjeto(){
    var objeto = new Sprite();
    objeto.graph = img[1];
    objeto.x = 320;
    objeto.y = 240;
    objeto.angle = 0;
    objeto.frame = function(){
        objeto.advance(1);
        if(frameCount >= 100){
            objeto.angle += 1;
            if(objeto.angle >= 90){
                objeto.angle = 90;
            }
        }
        screenDrawText("Arial",28,"fps: "+frameCount,CENTER,320,420,255,255);
    }
}


Este no funciona
Code: Select all
 function Miobjeto(){
    var objeto = new Sprite();
    objeto.angulo = 0;
    objeto.graph = img[1];
    objeto.x = 320;
    objeto.y = 240;
    objeto.angle = objeto.angulo;
    objeto.frame = function(){
        objeto.advance(1);
        if(frameCount >= 100){
            objeto.angulo += 1;
            if(objeto.angulo >= 90){
                objeto.angulo = 90;
            }
        }
        screenDrawText("Arial",28,"fps: "+frameCount,CENTER,320,420,255,255);
    }
}
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Aug 12, 2018 12:04 pm

el metodo advance() ya rota el Sprite Hokuto, para esto preparé el advance2() que avanza sin rotación en un angulo especificado como parametro.

Veo que estas probando ya cosillas.. bien! gracias tio! la verdad es que así se depura mucho mas facil y rapido.

Te publico la nueva libreria con la corrección del sistema de caminos ya implementada :D

Espero que te guste, voy a ver como le añado ahora la rotación y listos!!

Las teclas para cambiar de movimineto son: A S D F

Ahora el cambio de movimiento es instantaneo, antes el sprite debia alcanzar el punto destino antes del cambio de trayectoria ;)
Last edited by erkosone on Sun May 19, 2019 6:37 am, edited 1 time in total.
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 5 guests