The age of Yawin (Work in progress)

Started by Yawin, December 09, 2010, 01:32:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Noivern

Yo de buenas a primeras me lo armaría con una matriz y cada casilla representaría un tile. Pero Drumpi que tiene armado un motor de scroll tileado debe saber de sobra un funcionamiento de ese estilo.

Drumpi

Hay varias formas de crear un motor tileado: puedes usar un proceso por cada tile, un proceso por cada posición de la pantalla, pintar los tiles sobre un mapa, etc. Luego es sólo tener control de esos procesos/mapa en función de la posición de la cámara.

De momento he comprobado que el usar un proceso por tile en pantalla no vacío es lo más rápido en cuestión de rendimiento, frente a redibujar un mapa del tamaño de la pantalla o a tener un array de procesos que ocupen la pantalla (aunque estoy trabajando en otra versión que debería ser más rápida en movimientos pequeños).

Cuesta un poco hacer estos motores, pero no es tan difícil una vez que lo tienes todo planteado sobre el papel, lo complicado es buscar la manera de optimizarlo.
El mio está disponible si te apetece, aunque a la wiz se le atraganta un poco si cubres más de la mitad de la pantalla con tiles de 16x16 (según Splinter son tiles muy pequeños). Sólo admite formatos que he creado yo (hay un editor para ello) pero se puede arreglar para que cargue el que tu quieras.

Es una de las cosas pendientes, un módulo de scroll tileado, lo tengo en la pila de proyectos, si no se me adelanta nadie con más conocimientos que yo.
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)

Yawin

Creo que ya he entendido la idea del mapa de tiles, pero no entiendo cómo habría que hacerlo, porque si hago un proceso para cada cuadrado de mapa... son muchos procesos no??
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

Sí, claro que son muchos, por eso, primero, necesitas guardar en memoria un array bidimensional (tridimensional si vas a poner varios planos... o varios bidimensionales) con los datos de qué tile va en cada posición.
Después tienes que usar un proceso por cada tile que se muestre en pantalla. La parte más difícil es gestionar cuando crear y destruir los tiles, y hay diversas formas de hacerlo, pero siempre has de estar pendiente de las coordenadas de la cámara.
Otra forma más sencilla es tener un mapa del tamaño de la región y usar funciones PUT para ir pintando los tiles sobre el mismo, pero hay que optimizar mucho, porque pintar un mapa entero a cada frame pide mucha máquina (en GP2X es inviable).

De todas formas, creo que hay tres motores de scroll tileado ya publicados en el foro, por si no te ves capaz de crearlo. Ya sólo nos queda crear un módulo para ello ^^U
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)

Yawin

Quote from: Drumpi on January 12, 2011, 02:15:46 PMDe todas formas, creo que hay tres motores de scroll tileado ya publicados en el foro, por si no te ves capaz de crearlo.
Les echaré un vistazo.

Quote from: Drumpi on January 12, 2011, 02:15:46 PMYa sólo nos queda crear un módulo para ello ^^U
Esa es la mejor idea que he visto en mucho tiempo xD

Gracias por la ayuda.Creo que te mereces un karma ^__^
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

Ya tienes el mod_mappy que te lo permite...

DCelso

:D, asias free, por la publi :D.
De todas formas mod mappy está un poco verde, se le pueden hacer bastantes mejoras para su integración con bennu :'(
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Yawin

Le echaré un vistazo al mod_mappy, pero aviso desde ya que lo mas probable es que os cosa a preguntas xD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind


Drumpi

¿Mod_mappy no servía sólo para cargar en memoria los mapas de tiles en el formato propio de Mappy? ¿Tambien muestra el mapa por pantalla?
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)

Yawin

La verdad, estoy estancado en este proyecto. Me decís que necesito un mapa de tiles, pero esque no se cómo hacer eso xD

Intenté usar el mod_mappy, pero no entendí ni para qué servía . A ver si me centro y encuentro algo que me ayude.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

Yo tampoco se usarlo, DCElso que te ayude.

l1nk3rn3l

en el bennupack hay ejemplos de tiles

Yawin

Durante esta mañana. Poco después de poner el mensaje anterior, he decidido montarme yo el motor xD he diseñado este "esquema" el cual seguro que tiene fallos de planteamiento serios, pero... ¿os convence?

Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

Por si te sirve de algo, yo tengo mi motor de scroll tileado disponible para su uso:
http://drumpi.se32.com/cosas/scrolltileado_v1.3.zip
Viene la documentación de uso en una carpeta y varios ejemplos.
El formato de los ficheros de mapas de tiles también viene, pero no el editor. Para esto:
1- Puedes crearte tu propia herramienta.
2- Te puedo empaquetar una versión funcional (pero no óptima) de mi editor.
3- Puedes crearte tu propio fichero de carga para el formato de tu elección.
4- Usar el formato TMG, que no es más que un FPG en el que cada mapa es una capa, y cada pixel es un tile.

Nota mental 1: debo crearme la web para dejar estas cosillas más a mano.
Nota mental 2: debo ponerme de una vez con el nuevo editor ^^U
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)