Anarkade

Started by JaViS, February 29, 2016, 01:55:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

Quote from: JaViS on April 21, 2016, 09:27:45 PM
En mi motor de Tiles (que de hecho esta liberado hace rato) uso un scroll del tamaño de la pantalla visible, mas un tile de buffer, y voy pintando a medida que la camara se mueve, la cantidad de tiles que haga falta pintar.


Anda muy rapido, pero no tiene soporte a tiles animados. Al menos, no por ahora.

Tengo que buscarlo, a ver qué tal (si tienes un enlace a mano, mejor :)). Tengo algún otro motor de scroll tileado de los tiempos de Fenix en DLL, pero no recuerdo de quien era y tenía ciertas limitaciones respecto a lo que yo quería hacer.

Quote from: josebita on April 23, 2016, 11:07:11 PM
Sí, claro. Eso lo entiendo. Pero debería ser sencillo adaptar lo que tengo ahora mismo para, en lugar de cargar un mapa por trozos, cargue la lista de tiles reutilizando las texturas donde sea necesario.

¿Existe algún formato de tiles que sea sencillo de leer y relativamente común?

Como dice Javis, el más extendido es el formato de Tiled, pero le veo la pega de que incluye los gráficos dentro del fichero (en formato BMP), y el mapa de tiles (que es de lo que habla Splinter, un array bidimensional/tridimensional que indica el número del gráfico a pintar en cada coordenada, recordemos que podríamos tener varias capas) viene comprimido con un algoritmo muy sencillo (en teoría).
Yo recomendaría que el mapa de tiles y los tiles vengan en ficheros diferentes, y así aprovechamos las características de los FPG. Lo de tener tiles animados lo veo como algo secundario (molaría, pero es secundario), igual que poder hacer scroll de cada linea independiente a diferentes velocidades (es lo que se usa, por ejemplo, en la intro del Sonic de MegaDrive para ese efecto de profundidad en el agua o que parezca que hay varios planos de scroll).
Yo tengo tres sugerencias (ejem) para un formato propio, pero cualquier formato que podamos leer, usar y modificar en memoria, me vale. Si se crea un formato propio, y me dais los detalles del mismo, podría incluirlo en el Tilemap Editor.

Quote from: SplinterGU on April 23, 2016, 11:31:16 PM
Quote from: josebita on April 23, 2016, 11:07:11 PM
Sí, claro. Eso lo entiendo. Pero debería ser sencillo adaptar lo que tengo ahora mismo para, en lugar de cargar un mapa por trozos, cargue la lista de tiles reutilizando las texturas donde sea necesario.

¿Existe algún formato de tiles que sea sencillo de leer y relativamente común?

si, seria simple adaptarlo.

la verdad que no conozco ninguno, quizas podrias definir alguno.
tendrias que ver bien que cosas considerar, si simplemente un scroll o meterle deteccion de durezas, camara, regiones, etc...

Lo ideal sería lo que ya tenemos hecho con el scroll normal, es decir, que sólo dibuje los gráficos, pero que tenga en cuenta cosas como la región, el proceso target (el que sigue la cámara), los c_type, el dibujado en múltiples regiones... vamos, que lo suyo sería un calco del actual scroll, pero sustituyendo lo de pintar un trozo del graph en el buffer de video, por dibujar varios gráficos en el mismo buffer (y se podría optimizar usando dirty rects propios).
Pero habría que añadir funciones que no existen, para los ficheros de mapas, como obtener tile o cambiar tile.

Dejaría lo de detección de durezas a cargo del usuario, como pasa con el scroll. Pero eso sí, distinguiría entre los ficheros de mapas de tiles del scroll de tiles.

Me faltan conocimientos de C para hacerlo yo mismo, pero sobre scroll tileado sé un rato, y tengo pilas de ideas y de formas de implementarlo para aburrir :)
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

Quote from: JaViS on April 24, 2016, 06:32:35 AM
Quote from: josebita on April 23, 2016, 11:07:11 PM
Sí, claro. Eso lo entiendo. Pero debería ser sencillo adaptar lo que tengo ahora mismo para, en lugar de cargar un mapa por trozos, cargue la lista de tiles reutilizando las texturas donde sea necesario.

¿Existe algún formato de tiles que sea sencillo de leer y relativamente común?
Tiled es muy usado y es el que uso en mi motor

y tema de licencias con eso?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

Quote from: SplinterGU on April 24, 2016, 05:35:55 PM
Quote from: JaViS on April 24, 2016, 06:32:35 AM
Quote from: josebita on April 23, 2016, 11:07:11 PM
Sí, claro. Eso lo entiendo. Pero debería ser sencillo adaptar lo que tengo ahora mismo para, en lugar de cargar un mapa por trozos, cargue la lista de tiles reutilizando las texturas donde sea necesario.

¿Existe algún formato de tiles que sea sencillo de leer y relativamente común?
Tiled es muy usado y es el que uso en mi motor

y tema de licencias con eso?
Tiled es open source, por lo que me debería haber problema.


Drumpi, acá está la librería con un juego de ejemplo: http://forum.bennugd.org/index.php?topic=3437.0

Enviado desde mi Nexus 6 mediante Tapatalk

Working on Anarkade. A couch multiplayer 2D shooter.

josebita

¿Y tiene sentido integrarlo dentro de PixTudio o es mejor asegurarme de que -por ejemplo- tu motor, Javis, funciona bien y distribuirlo como librería integrada?

JaViS

Quote from: josebita on April 24, 2016, 05:56:19 PM
¿Y tiene sentido integrarlo dentro de PixTudio o es mejor asegurarme de que -por ejemplo- tu motor, Javis, funciona bien y distribuirlo como librería integrada?
Para mi tiene sentido integrarlo de forma nativa. Se pueden sortear las limitaciones que devengan de usar Pixtudio para implementar el soporte de todas las características del formato, y se puede conseguir un rendimiento mejor.

Además, pienso que el uso de tiles en el desarrollo de videojuegos 2D es algo tan básico como el parallax, estaría bien que sea un feature del lenguaje.

Enviado desde mi Nexus 6 mediante Tapatalk

Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

Quote from: josebita on April 24, 2016, 05:56:19 PM
¿Y tiene sentido integrarlo dentro de PixTudio o es mejor asegurarme de que -por ejemplo- tu motor, Javis, funciona bien y distribuirlo como librería integrada?

para mi, simplemente la mejora de rendimiento que seguramente trae vale la pena... quizas aprovechar la logica de javis para pasarla a C, no se.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: JaViS on April 24, 2016, 05:59:18 PM
Quote from: josebita on April 24, 2016, 05:56:19 PM
¿Y tiene sentido integrarlo dentro de PixTudio o es mejor asegurarme de que -por ejemplo- tu motor, Javis, funciona bien y distribuirlo como librería integrada?
Para mi tiene sentido integrarlo de forma nativa. Se pueden sortear las limitaciones que devengan de usar Pixtudio para implementar el soporte de todas las características del formato, y se puede conseguir un rendimiento mejor.

Además, pienso que el uso de tiles en el desarrollo de videojuegos 2D es algo tan básico como el parallax, estaría bien que sea un feature del lenguaje.

Enviado desde mi Nexus 6 mediante Tapatalk



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

SplinterGU

josebita, incluso hay librerias y frameworks para el formato tiled en C y en otros lenguajes, en C hay con ejemplos para SDL2.

me parece muy buena idea JaViS

http://doc.mapeditor.org/reference/support-for-tmx-maps/
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

Quote from: SplinterGU on April 24, 2016, 09:51:41 PM
josebita, incluso hay librerias y frameworks para el formato tiled en C y en otros lenguajes, en C hay con ejemplos para SDL2.

me parece muy buena idea JaViS

http://doc.mapeditor.org/reference/support-for-tmx-maps/
Muy bueno! Quizás se puedan usar para implementar en Pixtudio o Bennu :)

Enviado desde mi Nexus 6 mediante Tapatalk

Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

si, es buena idea.

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

Drumpi

Quote from: JaViS on April 24, 2016, 05:40:12 PM
Quote from: SplinterGU on April 24, 2016, 05:35:55 PM
Quote from: JaViS on April 24, 2016, 06:32:35 AM
Quote from: josebita on April 23, 2016, 11:07:11 PM
Sí, claro. Eso lo entiendo. Pero debería ser sencillo adaptar lo que tengo ahora mismo para, en lugar de cargar un mapa por trozos, cargue la lista de tiles reutilizando las texturas donde sea necesario.

¿Existe algún formato de tiles que sea sencillo de leer y relativamente común?
Tiled es muy usado y es el que uso en mi motor

y tema de licencias con eso?
Tiled es open source, por lo que me debería haber problema.


Drumpi, acá está la librería con un juego de ejemplo: http://forum.bennugd.org/index.php?topic=3437.0

Enviado desde mi Nexus 6 mediante Tapatalk

Muchas gracias, le echaré un vistazo en cuanto pueda, esta semana voy a estar ausente ;)

Quote from: JaViS on April 24, 2016, 05:59:18 PM
Quote from: josebita on April 24, 2016, 05:56:19 PM
¿Y tiene sentido integrarlo dentro de PixTudio o es mejor asegurarme de que -por ejemplo- tu motor, Javis, funciona bien y distribuirlo como librería integrada?
Para mi tiene sentido integrarlo de forma nativa. Se pueden sortear las limitaciones que devengan de usar Pixtudio para implementar el soporte de todas las características del formato, y se puede conseguir un rendimiento mejor.

Además, pienso que el uso de tiles en el desarrollo de videojuegos 2D es algo tan básico como el parallax, estaría bien que sea un feature del lenguaje.

Enviado desde mi Nexus 6 mediante Tapatalk

Yo también lo pienso así, de hecho, desde que empecé con Fenix. Hoy día ya no se lleva tanto porque tenemos espacio de sobra tanto en RAM como en HD/DVD para almacenar mapas gigantes de gráficos hiperrealistas de 32bits, y los grafistas piensan que los tiles son aburridos y repetitivos... y tienen gran parte de razón, pero veo juegos como Minecraft o Super Mario 3D Land y vuelvo a estar en mis trece: un mapa de tiles es la forma más entretenida de crear niveles y eficiente de almacenarlos :D

Por cierto, sí que ha cambiado el formato de tiled desde la última vez que lo vi |oOo|
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)

josebita

La verdad es que la librería que enlazas, Splinter, parece sencilla de usar. Lo intentaré y os cuento lo que sale.

Y perdón, Javis, que te he llenado el hilo de Anarkade de off-topic. No sé si te lo he dicho, pero tiene una pinta excelente :)

JaViS

Quote from: josebita on April 25, 2016, 01:29:23 PM
La verdad es que la librería que enlazas, Splinter, parece sencilla de usar. Lo intentaré y os cuento lo que sale.

Y perdón, Javis, que te he llenado el hilo de Anarkade de off-topic. No sé si te lo he dicho, pero tiene una pinta excelente :)
No pasa nada :)

Gracias, voy a estar poniendo nuevas capturas pronto.

Enviado desde mi Nexus 6 mediante Tapatalk

Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

muy bueno joseba! ;)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

La momia que fuma

No había visto esto hasta ahora...pintaza!! Animo!!  ;D