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.

emov2k4


AmakaSt

Nueva revisión de la 0.42 disponible para descargar. En las otras estaba de broma y esta ya es la buena. ;)

Un saludo.

AmakaSt

En los próximos días subiré la versión 0.44, esta versión de Div GO contara con muchas novedades:

variables:
  - cnumber, c_0, c_1, ..., c_9;
  - all_process;
  - restore_type, no_restore, partial_restore, complete_restore;
  - struct joy, struct pad;
  - b_joy_connect, b_pad_connect, b_name_joy, b_name_pad; //pad y joy devuelven la misma información

struct joy:
  - left, right, up, down, button1, button2, button3, button4

struct pad:
  - left, right, up, down, button0, button1, ..., button9, stick1.left, stick1.right, stick1.up,
  - stick1.down, stick1.button, stick2.left, ..., stick2.button;

funciones:
  - ya se pueden crear bloques function
  - unload_image(), unload_fpg(), unload_font(), unload_sound(), unload_video();

bugs y mejoras:
  - [ADD] cambios en scroll para controlar la camara en distintas ventanas de scrolls asociadas a procesos
  - [ADD] cambios en la funcion signal para que acepte la variable all_process
  - [ADD] ahora el compilador crea un archivo asociado a cada fpg, con esto las carga de fpg es mucho mas rápida
  - [ADD] get_browser() ahora devuelve el nombre del navegador utilizado y la información del gamepad
  - [FIX] solucionado problemas y mejorada la reproducción de audio/video
  - [FIX] si un proceso o una función tiene el valor de un grafico no existente no se dibuja el grafico
  - [FIX] ahora break dentro del loop finaliza el bucle al instante

Y por el momento esto es lo que habra.  8)

Un saludo.

AmakaSt

#168
Disponible online Div GO 0.44, he actualizado algunos ejemplos: ejemplo scroll y ejemplo de procesos que incluye las variables del gamepad (esta variable solo funciona en los navegadores Google Chrome, Firefox y Opera).

Aquí un ejemplo para probar las variables de Gamepad (Yo hago pruebas con un mando de Xbox360):


// Php + Html5 + Canvas + Javascript
// by J. Manuel Habas

program ejemplo_joy_pad;
global
   joystick = 0;
   
begin
    /* pruebas con opciones de pantalla */
    set_mode(m480x200);
    screen_color(#333);

    set_fps(60, 0);
   
    text_size = 80;
    text_color = #fff;
   
    write(0, 240, 20, 4, "Pulsa cualquier boton del Control Pad");
    write(0, 240, 45, 5, "Detectado: ");
    write_int(0, 240, 45, 3, offset joystick);

    write_int(0, 0, 120, 3, offset pad.stick1.up);
    write_int(0, 100, 120, 3, offset pad.stick1.down);
    write_int(0, 200, 120, 3, offset pad.stick1.left);
    write_int(0, 300, 120, 3, offset pad.stick1.right);

    write_int(0, 0, 140, 3, offset pad.stick2.up);
    write_int(0, 100, 140, 3, offset pad.stick2.down);
    write_int(0, 200, 140, 3, offset pad.stick2.left);
    write_int(0, 300, 140, 3, offset pad.stick2.right);

   //gatillos
    write_int(0, 100, 100, 3, offset pad.button8);
    write_int(0, 200, 100, 3, offset pad.button9);

    write_int(0, 0, 160, 3, offset pad.up);      //joy.up
    write_int(0, 20, 160, 3, offset pad.down);   //joy.down
    write_int(0, 40, 160, 3, offset pad.left);   //joy.left
    write_int(0, 60, 160, 3, offset pad.right); //joy.right
   
    write_int(0, 0, 180, 3, offset pad.button0);    //joy.button1
    write_int(0, 20, 180, 3, offset pad.button1);   //joy.button2
    write_int(0, 40, 180, 3, offset pad.button2);   //joy.button3
    write_int(0, 60, 180, 3, offset pad.button3);   //joy.button4
    write_int(0, 80, 180, 3, offset pad.button4);
    write_int(0, 100, 180, 3, offset pad.button5);
    write_int(0, 120, 180, 3, offset pad.button6);
    write_int(0, 140, 180, 3, offset pad.button7);
   
    //button stick
    write_int(0, 160, 180, 3, offset pad.stick1.button);
    write_int(0, 180, 180, 3, offset pad.stick2.button);
   
   loop
      joystick = get_browser(b_pad_connect);
       
      frame;
   end
end


Este ejemplo estará incluido en la carpeta de ejemplos, de la versión para descargar.  :)

Un saludo.

JaViS

Genial!! esto esta muy interesante!
Working on Anarkade. A couch multiplayer 2D shooter.

AmakaSt

Quote from: JaViS on June 10, 2014, 08:06:08 PM
Genial!! esto esta muy interesante!

Me alegra que te parezca interesante.  :)

Estoy intentando hacer una cosa para incluir en el descargable de esta versión, si consigo que funcione será todavía mas interesante.  ;)

JaViS

Siempre es interesante expandir las plataformas en las que podamos correr nuestros juegos :) Estan haciendo un laburo muy importante! No veo la hora de poder probar mi juego con esto :P
Working on Anarkade. A couch multiplayer 2D shooter.

AmakaSt

Ya disponible para descargar la versión 0.44.
Al final le he incluido otra función antes de sacar esta versión: set_color(); para colorear el background de la pagina de forma dinámica desde el juego.

Un saludo.

AmakaSt

Ya disponible online para testear la versión 0.50 de Div GO, esta versión trae un cambio interno importante que hace de Div GO un autentico lenguaje Div.  :)

Y aquí la lista de novedades:

funciones:
  - pixelated_in_map(), blur_in_map(), region_pixelated(), region_blur();
  - color_in_map(), region_color(); //en sustitución a las graphic_explorer(), graphic_builder(),...
variables:
  - _c_minus, _c_plus, _c_asterisk, _c_backslash, _caps_lock, _num_lock, _scroll_lock
  - _ins, _home, _pgup, _pgdn, _del, _end, _minus, _plus, _l_brachet, _r_brachet
  - _c_home, _c_up, _c_pgup, _c_left, _c_center, _c_right, _c_end, _c_down, _c_pgdn, _c_ins, _c_del
  - cc_red, cc_green, cc_blue, cc_yellow, cc_cyan, cc_magenta, cc_orange, cc_lime, cc_violet, cc_brown
  - cc_pink, cc_purple, cc_aqua, cc_pistache, cc_turquoise, cc_maroon, cc_silver, cc_gray, cc_white, cc_black
funciones eliminadas:
  - graphic_explorer(), screen_explorer(), region_explorer(), graphic_builder();
bugs y mejoras:
  - [MEGA ADD] realizado cambio interno para que la forma de usar los procesos en div go ahora sea similar a un div-like
  - [ADD] mejorada la lista de procesos en el entorno, ahora muestra información de los procesos: graph, x, y, z...
  - [ADD] añadido soporte completo a las teclas del teclado, con las variables de div / div 2
  - [FIX] arreglado problema de bloqueo con la función signal al usar señales que afectaban al árbol familiar
  - [DEL] eliminadas las funciones de manipulación de gráficos, con el cambio interno de div go su funcionamiento era lento
  - [ADD] actualizado ejemplos con el uso de las nuevas funciones

Un saludo.

AmakaSt

Ya disponible para descargar la versión 0.50.

En esta versión los procesos, frames, bucles, condiciones... funcionan de forma similar a Div. Probé con los códigos que puso PiXel en este tema para testear y funcionan correctamente.   8)

Un saludo.

AmakaSt

Versión 0.52 ya disponible online, las novedades:

funciones:
  - paint_in_map();
  - map_put(), map_put_pixel(), map_xput(), map_block_copy();

variables:
  - rgb_to_bgr, rgb_to_grb, rgb_to_rbg, rgb_to_brg, rgb_to_gbr

bugs y mejoras:
  - [ADD] mejorada la información de errores del compilador devolviendo el error y el numero de linea correctos
  - [ADD] ahora el compilador marca la linea de codigo que ha dado error, haciendo mas facil su localización
  - [ADD] clonación de procesos con el bloque clone ... end
  - [ADD] ahora las funciones put, xput, put_screen aceptan como parámetro graph las funciones xxxx_in_map() o new_map();
  - [FIX] solucionado varios bugs relacionado con los últimos cambios
  - [ADD] incluido el ejemplo de div 2 Plataformas de Carlos Dominguez adaptado a div go

Un saludo.

AmakaSt

Versión 0.54 ya disponible online:

funciones:
  - exists(); screen_scanline(); //scanline solo se visualiza cuando se amplía la pantalla x2 o mas

bugs y mejoras:
  - [FIX] collision() y collision_box() con puntos de control y flags distinto de 0
  - [FIX] códigos de bloqueo de scroll
  - [FIX] arreglada función exit(), no mostraba mensaje de salida y ahora detiene la reproducción de audio/video
  - [FIX] corregido problema al generar el archivo fpg.dat desde el compilador
  - [ADD] pausado de juego desde entorno
  - [FIX] solucionado varios bugs relacionado con los cambios de la v0.50

No hay muchas novedades, pero un repaso de bugs siempre sienta bien. :)

Un saludo.

AmakaSt

Div GO versión 0.54 ya disponible para descargar!  8)

Un saludo.

AmakaSt

Versión 0.56 ya disponible online y las novedades:

funciones:
  - qsort();

variables:
  - m320x200, m320x240, m320x400, m360x240, m360x360, m376x282, m400x300, m640x400, m640x480
  - m800x600, m960x640, m1024x768, m1280x720, m1280x960, m1600x900, m1280x1024, m1920x1080

bugs y mejoras:
  - [ADD] cambios internos en map_get_pixel() y collision() para que funcionen de manera mas rápida y optima
  - [ADD] compilador ahora mas optimizado
  - [ADD] soporte de lista de datos después de end para structs, ej: end = 1, "jose", 1800, 2, "manuel", ...;
  - [ADD] cambios en set_mode(); ahora funciona con variables predefinidas como un div-like
  - [ADD] pulsando en las imágenes del visor fpg, estas se amplia y puedes consultar la información "x", "y", "color"
  - [ADD] nuevos avisos de error en el compilador, ahora informa de mas posibles errores de código
  - [FIX] solucionado varios bugs menores del compilador y del constructor de código

Un saludo.

AmakaSt

Div GO versión 0.56 ya disponible para descargar.