[Tecnica] Un zoom en un scroll

Started by KeoH, July 11, 2011, 03:51:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

no JaViS, los procesos no se dibujan cuando llegan a FRAME, se dibujan cuando el FRAME de todos los procesos esta 100% completado.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

AHHHHH XD

mmm.. entonces sigo pensando....
Working on Anarkade. A couch multiplayer 2D shooter.

Drumpi

Quote from: KeoH on July 21, 2011, 01:56:53 AM
Drumpi .. he he estado echando un vistazo a la forma en la que montas los escenarios en el echo xDD pero es un caos xDD y menos mal q tienes comentadas muchas lineas!! xD no se .. a ver q hago .. porq he probado en hacer un tileao chustero ... pero el problema se agrava .. porque al aumentar el size de cada tiel, también tengo q cambiar su posición x e y en el scroll .. para q de verdad de la sensación de que es un zoom y no q están creciendo los tiles xD .. jodido la verdad xD .. me temo q me voy a tener q poner a programar mas seriamente .. porq me he dado cuenta q programo muy chustero xD.

Es que el código del Echo está un poco cambiado. El original está en:
http://forum.bennugd.org/index.php?topic=819.0
O debería estar.

La idea es que el Star_tscroll inicializa una estructura, usando un mapa de tiles de mi invención, haciendo unos cálculos previos y llamando luego a un proceso de control. El proceso de control calcula la posición de la cámara y lee los tiles correspondientes a la zona de la pantalla. Si el tile no es cero, generará un proceso "tile" (que no hace más que mostrar el gráfico) y lo añadirá a una lista interna.
En los siguientes frames, si no se ha desplazado la cámara un pixel, simplemente lee la lista de procesos tile y los desplaza.
Si se tiene que mover de tile, el proceso de control vuelve a leer del mapa, pero en lugar de crear nuevos procesos tile, lo que hace es reutilizar los de la lista, cambiando sus valores de posición y gráfico: si faltan procesos tile, añade más, si sobran, los borra de la lista. De esta forma hay mucho ahorro de creación/destrucción de procesos y no hay tiles sin gráfico.

Para hacer zoom, obviamente, además de reescalar, hay que desplazar los tiles, y recalcular los que caben en pantalla. Aun debe andar por ahí una versión especial de mi motor de tiles v2, que incluía zoom, pero su rendimiento era bastante inferior al actual (que, aun, no dispone de zoom).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

KeoH

yo de momento lo q estoy probando es: crear un scroll normal, con gráfico transparente en primer plano y segundo. Que sea cíclico en x e y. Y entonces creo los tiles. De momento los estoy haciendo muy sencillo, solo cuadrados xD pero con 500 tiles la cosa va bien suave todavía ...cada tile esta congelado asi q supongo q no consumirá muchos recursos. y el personaje que controlas es la cámara del scroll .. así q se mueve por el tileado fácilmente. No sé .. sigo haciendo pruebas xD ... aunq las durezas dinamicas para q el personaje se apoye en los tiles no se como hacerlas xD

Drumpi

En un ordenador si va suave, pero como le metas eso a la GP2X o a la wiz se te va a ralentizar algo ^^U

Lo de las durezas tiene su aquel: yo, como uso mi formato de mapa de tiles, consulto el tile en que se encuentra y compruebo si el siguiente me dejaría pasar o no, según si es un cuadrado, una rampa...
Otra forma es que tengas un FPG con las durezas de cada tile, o simplemente las durezas con otro mapa de tiles, y uses MAP_GET_PIXEL con el tile adecuado, como si fuera un mapa de durezas.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

no te preocupes por el zoom del scroll, funciona a la perfeccion con el nuevo feature... ya lo probe en linux... estoy esperando que termine la compilacion en windows.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

KeoH

Quote from: SplinterGU on July 24, 2011, 12:05:38 AM
no te preocupes por el zoom del scroll, funciona a la perfeccion con el nuevo feature... ya lo probe en linux... estoy esperando que termine la compilacion en windows.

si, lo leí en la otra página xD estoy deseando probarlo xD

Drumpi: Estoy pensando en hacer eso que dices, de tener la dureza de cada tile xD. Es que quiero q el mapeado de tiles, los tiles no sean de tamaño unico... me explico: que haya tiles de por ejemplo 32x32, de 50x50 o algo de eso .. aunq los de tamaña irregular los use como adornos solo. No se .. todavía estoy pensando. Si utilizo tiles de por ejemplo 128x128 para un adorno grande, no necesitaría 16 tiles de 32x32 ... por eso los quiero de tamaños variables.... no se .. pero me parece q hasta después de los exámenes de septiembre no podré ponerme en serio xD

Drumpi

En ese caso, es mejor que tengas durezas para cada parte del gráfico de tamaño "extra": no hay ningún problema de tener tiles de distintos tamaños visualmente (de hecho, en mi motor se puede hacer, siempre que añadas tiles extra a los exteriores de los bordes, para que no aparezcan de golpe) pero en el mapa de durezas tendrás un cero (por no ser el centro del tile) o el valor del propio tile repetido (por lo que no sabes a qué parte del tile le haces la dureza).
Puedes usar tiles aproximados, no tienen que ser perfectos al pixel (es más, recomiendo usar las mismas durezas que para el resto del nivel).

No sé si me explico.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

fulgorelizz

si alguien esta por aca, pues me pondre a trabajar en esto, quizas consiga hacer algo!!... y subo el codigo  ;)
Compiling code -- generating exe...

SplinterGU

Quote from: fulgorelizz on May 16, 2012, 06:00:45 PM
si alguien esta por aca, pues me pondre a trabajar en esto, quizas consiga hacer algo!!... y subo el codigo  ;)

el zoom en el scroll ya esta implementado por medio de scroll sobre mapas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind


SplinterGU

#26
free, ya hay en el foro, buscalo hombre... no tengo a mano ejemplo... si no quieres buscar, pues currate un sistema de zoom sobre scroll... lo que prefieras... ya me volvi loco para hacer funcionar el mrbike en bennugd, perdi unas cuantas horas, porque no solo eran los cambios que habias mencionado...

buscalo, por favor, no estoy con tiempo de sobra.

te digo mas, ya viste el ejemplo, y comentaste al respecto... ves que juntas fuentes al pedo... juntas fuentes y no te acuerdas que los tienes ni los usas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind


fulgorelizz

si es asi pos si!! facil entonces!! d hecho ayer me preguntaba lo del scroll en un mapa!! ... lo buscare!! vi el video en las noticias el año pasado y me parecio interesante!! alli se abre un abanico de creatividad bien interesante!! :D
Compiling code -- generating exe...

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2