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.

AmakaSt

Quote from: Erkosone on September 22, 2015, 08:21:09 PM
Amaka si te animas a añadir la Box2D tengo algo que te va a venir muy bien jeje.. acabo de terminar mi algoritmo de detección de contornos de gráficos, osea, una función que le pasas como parametro una imagen y te devuelve un array de vectores que forman el contorno del gráfico, esto sirve para crear poligonos automaticamente con cualquier librería de físicas.


Si te animas a añadir la bos2d a tu DivGo te paso la función jeje, es un pasote, hace lo mismo que hacía la que hizo PRG para chipmunk en bennu hace años, te ahorra un trabajo bestial a la hora de diseñar ;)

Ok, cuando me ponga con ello ya te pediré que me des unas clases y me pases tu función. :) Sobre la performance, leí que chipmunk tiraba mejor que box2d, qué opinas? Es que no tengo ni idea, no me he puesto con ello y ya que tu lo controlas... :)

Ahora mismo estoy arreglando bugs y cambiando cosas que funcionan distinto en DivGO con respecto a Div, hacer funcionar Dr. Malvado me hace ver que cosas no tiran igual como el caso de los fade(), no se muestra ni uno en el juego. :P

un saludo.

Futu-block

Eso, hazte un tuto...
O mejor, un videotuto, je je

Erkosone

Ok sin problema, llegado el momento lo miramos sin problema.
Si, chipmunk está hecha en C y es mas rápida originalmente que Box2D, aunque Box2D trae de serie opciones de cuerpos blandos y chipmunk no.
La verdad es que chipmunk es una pasada, a mi esa librería me encanta la forma en que se hacen las cosas, y se adapta muy bien a un lenguaje Div, aunque Box2D tampoco está nada mal no, aunque al ser nativa orientada a objetos se hace algo menos ardua de trabajar en algunos lenguajes.


La función en concreto de la que hablo que he hecho es una adaptación del algoritmo "Square tracing" con un comparador de trayectorias, voy avanzando por el contorno de una imagen y cuando detecto un cambio de trayectoria mayor a un umbral establecido entiendo que tengo que crear un nuevo vector en ese punto.. y así hasta llegar a dar la vuelta completa al gráfico.


PRG hizo uno que era mejor todavía, en una misma imagen hacia esto mismo y además era capaz de detectar mas de un objeto o figura por imagen, esto es extremadamente util para crear los escenarios, yo estoy estudiando el tema de como hacerlo y mas o menos lo tengo claro, pero ahun no me he puesto a ello, seguramente en breve lo tenga listo tambien y publique un tutorial sobre como hacer estas cosillas que siempre vienen bien tener a mano para muchas cosas ;)

AmakaSt

Versión 0.80 ya disponible online para testeos. Y aquí nuevamente la lista de novedades:

función:
   - unique();

funciones 2d:
   - write_html(); graphic_explorer(); graphic_builder();

funciones 3d:
   - get_vectors(); change_vectors();

struct [graphic_explorer]:
   - mi_var.data[pixel_rgba], mi_var.width, mi_var.height;

bugs y mejoras:
   - [FIX] corregido el funcionamiento de fade_off() y fade_on(), como lo hacía div original
   - [FIX] fade_in() y fade_out() cuando se combinaba con fade_on() y fade_off()
   - [FIX] write_int colgaba el juego al pasar una variable sin offset o al poner una función en el offset
   - [FIX] error en scrolls cuando no se tenía creado un numero de scrolls inferior o se saltaba algún número
   - [FIX] al empaquetar un proyecto con imágenes nuevas añadidas y maps modificados desde el ide
   - [FIX] al listar los fpgs cargados en el código, si se repetía la carga, aparecía varias veces en la lista
   - [ADD] scrollbar en el editor gráfico cuando la imagen es de mayor tamaño que la ventana del navegador
   - [ADD] soportado en el mode7 y scene3d los efectos a los graph
   - [ADD] incluidas 4 nuevas formas 3d en la función object3d(): icosaedro, tetraedro, dodecaedro y circulo plano
   - [ADD] recuperadas las funciones de manipulación gráfica

Durante los próximos días iré poniendo ejemplos de las funciones nuevas en la lista de funciones de la documentación. :)

Un saludo.

AmakaSt

#289
Ejemplos de 2 nuevas funciones de la versión 0.80:

unique: http://www.divgo.net/c-5f389649
write_html: http://www.divgo.net/c-551fb4ad
change_vectors: http://www.divgo.net/c-c00a3b23

Otro ejemplo de write_html con estilos:

program ejemplo_write_html;

begin
    set_mode(640, 300);
   
    text_size = 80;
    write_html(0, 4, "Probando etiquetas <b>HTML</b> en Div GO<br>" +
                     "by <i><span style='background:#880; padding:3px; border-radius:4px;'>Amaka Soft</span></i>");
   
    loop
   
        frame;
    end
end

AmakaSt

Versión 0.80 ya disponible para descargar. :)

He tardado un poco porque he actualizado la lib 3d Three.js a la última versión y he tenido que realizar algunos cambios en Div GO para que todo continuara funcionando.

AmakaSt

Aquí otro nuevo ejemplo añadido, uso de las funciones graphic_explorer() y graphic_builder(): http://www.divgo.net/c-c5c16287

Un saludo.

AmakaSt

En breve estará disponible la versión 0.82. Aquí pongo unas capturas de esta nueva versión. :)


AmakaSt

Versión 0.82 ya disponible online para testear. Y las novedades:

funciones:
   - get_sound_length(); get_sound_playtime(); get_video_length(); get_video_playtime();

bugs y mejoras:
   - [FIX] out_region() con desplazamiento de scroll, mantenía la posición fija
   - [FIX] arreglado problema con las tonalidades en la función fade()
   - [FIX] corregido problema en la carga de archivos, no se controlaba la existencia de archivos cargados previamente
   - [FIX] en la versión anterior olvidé descomentar una línea que afecto al reescalado de imágenes con set_mode()
   - [FIX] solucionado problema con las clonaciones, ahora la clonación de procesos funciona
   - [CHANGE] cambio en el funcionamiento de get_id(), ahora funciona de manera similar a div2
   - [FIX] en el funcionamiento de los procesos cuando se usan distintos ctype y la local priority
   - [FIX] load_image() para que soporte de forma correcta la carga de archivos map
   - [ADD] opción de borrado de datos (cookies, cache, localstorage) por imágenes editadas, códigos guardados y configuraciones del entorno
   - [ADD] incluido el juego de div 2 Pacoman de Daniel Navarro adaptado a div go

Un saludo. :)

Transdiv

Amaka, la función de empaquetado no funciona, no?, o estare haciendo algo mal.


AmakaSt

Quote from: Transdiv on November 06, 2015, 09:23:58 AM
Amaka, la función de empaquetado no funciona, no?, o estare haciendo algo mal.

Si, acabo de probarlo y si que falla el empaquetado en la 0.82. :P

Por esta razón no saco la versión descargable a la vez que la que subo en divgo.net, me gusta dar un tiempo preventivo para que podamos todos realizar testeos.

Gracias por el reporte Transdiv. :)

AmakaSt

Ahora debería de funcionar.  8)

AmakaSt

Ya esta disponible para descargar la versión 0.82.

AmakaSt

Aquí pongo un enlace con las pruebas que he realizado de lectura y dibujado del formato FNT, posiblemente caiga en la 0.84: http://www.divgo.net/proyectos/divgo-fnts/

AmakaSt

#299
Nueva versión 0.84 subida online para realizara testeos. Esta versión a sufrido importantes cambios internos por lo que pueden aparecer algunos bugs... Y ahí van las novedades:

funciones:
   - set_shadows(); clear_shadows(); shadow_in_object3d(); out_region_dist(); set_volume();

variables:
   - b_left, b_top, b_pixel_ratio

bugs y mejoras:
   - [MEGA ADD] compatibilidad con los formatos fnt y fpg de div 2 (8 bits de color)
   - [ADD] el visor de fuentes ahora también soporta el formato fnt
   - [ADD] el visor de fpg ahora también visualiza (no edita) archivos fpg compatibles de div 2
   - [FIX] solucionado problema en el compilador cuando se devolvía un valor a varias variables a la vez, ej: a=b=rand(0,2);
   - [FIX] editor de imágenes no adaptaba el recuadro de la imagen al visualizar una imagen grande y luego una más pequeña
   - [ADD] mejoras en el rendimiento del entorno, en visualizadores de recursos y en la lista de procesos y funciones
   - [ADD] incluido los fnt originales en los juegos de div 2 Pacoman y Castle of Dr. Malvado
   - [ADD] incluido el juego de div 2 Steroid de Daniel Navarro adaptado a div go


En breve ire colgando ejemplos de las nuevas funciones. 8)