Div Games en Html5 y Canvas

Started by AmakaSt, September 07, 2012, 03:28:01 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oskarg

Muchas gracias por una nueva versión de este genial programa para hacer juegos de forma sencilla.
Por cierto ,una duda tonta,cuando ejecuto los juegos que vienen en la página game developed...se vuelve a compilar el juego  con la nueva versión actualizada ?¿?

oskarg

Otra cuestion en los ejemplos ,por ejemplo de pacoman etc da errores.................
54 s_come_fantasma=load_pcm("pacoman\comefant.pcm",0); -- VARIABLE NOT DEFINED!
55 s_come_fruta=load_pcm("pacoman\comefrut.pcm",0); -- VARIABLE NOT DEFINED!
56 s_come_punto=load_pcm("pacoman\comecoco.pcm",0); -- VARIABLE NOT DEFINED!
57 s_come_puntogr=load_pcm("pacoman\comegcoc.pcm",0); -- VARIABLE NOT DEFINED!
58 s_empieza=load_pcm("pacoman\comienzo.pcm",0); -- VARIABLE NOT DEFINED!
59 s_muerte=load_pcm("pacoman\muerto.pcm",0); -- VARIABLE NOT DEFINED!
60 s_inicio=load_pcm("pacoman\tambor2.pcm",1); -- VARIABLE NOT DEFINED!
63 load("dat\pacoman\pacoman.dat",&puntuacion_max); -- VARIABLE NOT DEFINED!
68 load_pal("pacoman\pacoman.fpg"); -- VARIABLE NOT DEFINED!
69 load_fpg("pacoman\pacoman.fpg"); -- NOT FOUND
70 load_fnt("pacoman\pacoman.fnt"); -- VARIABLE NOT DEFINED!
203 save("dat\pacoman\pacoman.dat",&puntuacion_max,1); -- VARIABLE NOT DEFINED!

AmakaSt

Hola Oskarg,

Prueba el Pacoman que se incluye en los ejemplos de Div GO, esta adaptado.

Las funciones load_pcm(); load_wav(); o load_fnt() no son soportadas en Div GO, para no crear 20 funciones para la carga de recursos, uno por extensión, lo unifique todo en:
- load_sound(); //para formatos de audio wav, pcm, mp3, ogg, etc.
- load_song(); //para formatos de s3m, mod, xm
- load_video(); //para avi, mp4, mov, etc.
- load_font(); //para fuentes ttf, otf, fnt, etc.
- load_image(); //para imagenes png, jpg, bmp, map, etc.
- load_fpg(); //para fpgs compatibles div2, fenix, bennugd

Así queda más limpio y mejor. Tampoco hay soporte a paletas por ser de 32bits por lo que load_pal() no tiene sentido de ser.
Prueba en usar Pacoman, Dr. Malvado o Steroid que se incluye en los ejemplos de Div GO.

Un saludo.

oskarg

Hola de nuevo, no sé si es adecuado hablar ahora de incluir nuevas funciones y que se pudiera publicar los juegos de cada usuario como hace pico8 ,incluir un roadmap  .... para saber si va seguir evolucionando y dando apoyo a este proyecto etc..

hokuto40

Hola AmakaSt,he pasado por tu pagina y no esta en descarga,lo podrias poner para ir probandolo,a ver si esta nueva version me va mas rapido porque las otras versiones me van lento.

Si no fuera porque me va lento,ya lo estaria usando,otra cosa es que el editor que trae lo tengo que poner a una resolucion 1024x764 y se me ve muy pequeño en mi monitor y es algo molesto("me refiero a las letras").

No habria alguna forma de usarlo en un editor de codigo externo,para poder poner la letras al tamaño que yo quiera,otra pregunta,se puede exportar los juegos a otro formato que no sea html5,perdon por el desconocimiento,no he usado casi nada tu engine.

AmakaSt

Disculpad la tardanza en responder y en publicar los descargables, he estado muy liado estos días.

Aun así... Ya está disponible para descargar la versión 1.16.0 de Div GO: http://www.amakasoft.com/herramientas/div-go.html

hokuto40 sobre la resolución del entorno, via web se puede reducir al tamaño de una pantalla movil, en la versión de escritorio, en la versión actual, he puesto de resolución minima 900x720, espero que te valga. :)

oskarg mi idea era crear también una web y un área de usuario que al mismo tiempo se pudiera registrar tu "compañía/equipo" y asociarlo a tu cuenta, y poder publicar tus juegos sin tener que pasar por mí. Actualmente si quieres que publique algo que tengas desarrollado con Div GO me mandas un privado por el foro o por Facebook / Twitter y te lo público en el apartado de juegos desarrollados. Eso sí, juegos desarrollados y empaquetados con Div GO, no juegos que yo tenga que adaptar a Div GO que no tengo apenas tiempo.

Un saludo.

hokuto40

#471
Ok,voy a descargarmelo y pruebo a ver que tal.

Otra preguntita,la documentacion y la lista de funciones,cuando le doy para mirarlas me manda a la pagina web,hay alguna posibilidad para que la pongas en descarga,lo digo para mayor comodidad y tambien porque puede que dentro de poco deje de tener internet y ya ves el problema para acceder a la documentacion.

Esta semana no puedo probarlo porque estoy muy liado pero a partir del dia 1 me pongo con ello.Gracias ;)

hokuto40

Vale,te dije que lo probaria dentro de una semana pero como hoy tenia tiempo lo he probado y te comento.

La resolucion me sigue dando problemas,yo tengo mi monitor en 800x600,en esa resolucion se ve las letras bien de tu editor pero poniendolas al maximo de tamaño,el problema es que con esa resolucion se come un trozo de la interfaz y no se ven algunas cosas.

Entonces no me queda mas remedio que ponerlo en 1024x768 y con esa resolucion se ve la letra pequeña,entonces deberias ponerle para que se pueda aumentar mas el tamaño de las letras del editor.

Tambien estan los temas del editor,los tres que trae estan bien pero las letras se ven con colores muy brillantes y a la larga molesta a la vista,entonces te recomiendo que los pongas con colores un poco mas apagados o que le metas un tema como el de obsidian del notepad++,este es el que uso y es perfecto para la vista.

Luego tenemos la documentacion,esto ya te lo he dicho antes,metesela al paquete de descarga para poder tener la documentacion offline,metele todos los idiomas.

Por ultimo y lo mas importante esta la velocidad de ejecucion,cuando compilo y pruebo en ejecutar desde la interfaz me va lento y ya no te digo el ejemplo 3d,me pasa lo mismo cuando creo un paquete de zip y se ejecuta desde el navegador,el 3d me va mas lento.

Sin embargo cuando ejecuto en ejecutar en proyector hay cambia la cosa y me va bastante fluido y con eso si que puedo trabajar,supongo que esa opcion trabaja con direct3d,entonces sugiero que le metas a divgo el poder crear un ejecutable de los proyectos en direct3d o como lo hace el modo proyector.

Con esto si que puedo crear juegos y que me vayan fluidos,si no,no voy a poder trabajar con divgo.Hasta pronto :)

AmakaSt

Hola hokuto40,

La documentación se puede descargar desde el propio navegador con la opción de Guardar como... o sino imprimiéndolo en papel o en pdf. Hay opciones infinitas, no lo incluyo en una carpeta porque esta la información está en BBDD para que sea más fácil a la hora de añadir y manipular la información en la documentación, y de mostrar los resultados.

La resolución mínima de la versión desktop la puedes cambiar desde el archivo settings.json que se encuentra en el directorio del ejecutable:

"minimum_size": [900, 720],

Por ejemplo cambiala por esta:

"minimum_size": [640, 480],

Ahora deberías verlo bien a una resolución de 800x600.

La carpeta tema incluye actualmente 3 temas también a modo de ejemplo para que luego cada usuario puede añadir más temas creando los suyos propios, y si lo comparten con la comunidad yo los podría acabar incluyendo en el paquete oficial de Div GO.

Sobre la velocidad en la ejecución desde el editor siempre es más lento porque está activo el modo debug, para poder analizar los procesos y poder obtener información de los mismos, aparte de que está también en ejecución el editor de texto. Desde el proyector y en la versión que obtienes en el empaquetador el modo debug esta desactivado, por lo que debería irte siempre algo más rápido.

No hay direct3d, Div GO está programado con Javascript con las APIS de Canvas2d de Html5, salvo el 3d que usa una capa WebGL (equivalente al OpenGL). Div GO es un framework web puro, si ejecutas tu proyecto pulsando el index.html directamente se te abrirá en el navegador que tengas por defecto y podrás encontrar problemas y lentitud. Esto sucede porque no ejecutas tu proyecto desde un servidor http, lo estas ejecutado como si fuera un ejecutable de PC, de esta forma los datos se direccionan a file:/// en vez de http:// y cada navegador actúa de forma diferente, incluso analizando constantemente el script que se está ejecutando (eso equivale a lentitud).

Si quieres tener un servidor local, es tan fácil como instalarte Wamp o Xampp, hay más información sobre esto en el readme.txt que se incluye en los descargables.

Espero haber respondido a todas tus dudas.  :)

Un saludo.

oskarg

Hola amaka un par de cuestiones...
1.¿tienes intencion de ir actualizando este programa aunque sea poco a poco ?¿?

2.Me gustaria poder sugerir nuevas caracteristicas,pero como expresas que estás full de trabajo no sé si darlas.

3.Este punto es sobre el motor de divgo.Te explico:
Desde siempre me ha extrañado que el juego de plataformas me fuera tan lento en el ordenador  he anulado con // las procesos enemigo()...plataforma() y control() dentro del bucle principal del BEGIN END del juego.
Con esto se carga el fondo,sale el personaje y un enemigo dando bote a velocidad optima.
Lo que pasa es cuando doy al cursor  se RALENTIZA EL JUEGO ,entones he ido al processo paredes y si elimino los  map_get_pixel va fluido.Resumiendo...esta funcion es una de las causas que vaya tan lento.No se podría optimizarla?¿?

AmakaSt

Hola oskarg,

1. Sí, pensé que con la última versión eso se daba por hecho.

2. Puedes sugerir todas las características que quieras, estoy abierto a sugerencias. Todas las que me van reportando las voy revisando, si lo puedo implementar lo implemento y si no, pues no. :)

3. Esto es algo que me había revisado unas cuantas veces y me lo he vuelto a revisar esta vez, pasa con el juego plataformas, en Dr. Malvado la función map_get_pixel() funciona de forma más fluida, creo que no se debe al map_get_pixel(), sino al bucle que llama x veces a la condición con varios map_get_pixel(), no es optimo. Aun así mirare de hacer cambios a ver si consigo optimizar algo más por mi parte.

Un saludo.

hokuto40

Hola AmakaSt,ya he probado lo que me comentastes y no funciona.

He probado distintos tipos de resolucion y se sigue comiendo un trozo del editor,tambien he instalado el xampp y sigue siendo lento,es cierto que gana en velocidad pero es muy poco.

oskarg

#477
Hola estoy intentado pasar un codigo realizo en div2 a divgo,pero no consigo cargar ni un grafico,adjunto prg porque no veo donde está el error y me mata algo tan simple,XD

/*
Program's Name: <My Program Name>
Author's Name: <My Name>
Company's Name: <My Company or Group>
*/

program Game1;
global
    Sound1;
    File1=0;
    Font1=0;
   
begin
set_title("Game1");
set_mode(320, 240);
set_fps(30, 0);
    Carga_Recursos();
    Pinta_Puntuacion();

loop
if (key(_esc)) exit("Text Exit", 1); end

frame;
end
end


//___________________________________________________________________________________________-
//____________________________________________________________________________________________

Process Pinta_Puntuacion()
BEGIN
file=File1;//Si no pongo esto,carga el fpg 0 y carga el grafico...y funciona,pero quiero cargar mi fpg que se visualiza como fpg:1
graph=14;
x=320/2;
y=240/2;

loop
frame;
end

END

//___________________________________________________________________________________________-
//____________________________________________________________________________________________


Process Carga_Recursos()
BEGIN
  File1=load_fpg("graficos/Bombardero001");//Cargo los mapas
  Font1 = load_font("fuentes/Bombardero001/gorda2.fnt");
  Sound1=load_sound("sonidos/Bombardero001/Explosion1.wav",0);
END


//___________________________________________________________________________________________-
//____________________________________________________________________________________________





AmakaSt

Hola oskarg,

El código lo veo bien, puede pasar que la ruta fpg no tenga el archivo fpg.dat con el listado de imágenes. En caso de ser un fpg, debes indicar el nombre de archivo.fpg.

En los ejemplos se ven como están las carpetas fpg. Para crear los archivos fpg.dat, se puede crear con el notepad, si editas y creas fpgs desde el entorno cuando empaquetes te devolverá la carpeta con el fpg.dat ya generado.

Un saludo.

AmakaSt

Quote from: hokuto40 on September 30, 2018, 12:17:19 PM
Hola AmakaSt,ya he probado lo que me comentastes y no funciona.

He probado distintos tipos de resolucion y se sigue comiendo un trozo del editor,tambien he instalado el xampp y sigue siendo lento,es cierto que gana en velocidad pero es muy poco.

Hola hokuto40,

No se que te puede estar fallando, sobre la velocidad también es algo raro, tanto el proyector como el empaquetador usan el mismo código y la misma lib sin debug. Usando Xampp tendrías que obtener el mismo resultado.  ???

Un saludo.