Motor scroll tileado 3.2 (isometrica inside)

Started by Drumpi, October 04, 2009, 01:26:00 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

El karma es un mero indicativo del amor que sentimos unos por los otros, en este foro somos un poco truchones :-*
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Jejeje. Nada, tranquilo.
El motor está, pero no se como meter el parche (porque sería un parche puntual, en plan chapuza) para "alejar" los tiles que deben ser tapados por los "sprites" aunque estén más cerca.
Ahora estoy liado con la documentación, para que luego no me digan que no se sabe cómo usarlo, y estoy siendo exahustivo... quizás demasiado (pero bueno, así lo tenéis fácil para modificarlo si quereis añadir alguna funcionalidad).
Está en htm (así de paso aprendo a manejar frontpage, aunque sea).
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)

DCelso

Aha, pero ¿has pensado en ponerle un factor de transparencia a los tiles que se quedan por encima del personaje?
Muchos motores en isométrica actuales hacen eso para poder ver a tu pive cuando está detrás completamente y se supone que no lo verias, ahora me viene a la imagen que lo usaba dungeon keeper, pero ya no se decirte si sí o si no.
Monstruos Diabólicos

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

Drumpi

Pues lo cierto es que no, más que nada porque pocos juegos he visto que lo hagan, siempre se han hecho escenarios abiertos de cara a la cámara, y si había algo que tapase al personaje era un puente o un sprite.
Sería un poco complicado implementar eso. Hombre, actualmente se pueden saber qué tiles están más lejos o cerca de la cámara (porque se dibujan de lejanos a cercanos) y la altura, pero dependería de la posición de los sprites y de la cantidad de tiles que se vean por encima (pueden haber varios tiles en la misma posición de pantalla), y como ya dije, este motor no integra a los sprites (más adelante haré otro basado en este que los tenga en cuenta).
No obstante, se puede acceder a la lista de procesos tile para hacerle todas las perrerías que se os ocurran (ottia, que no he hecho nada para que se puedan identificar ^^U).

PD: acabo de caer en la cuenta de que en ortogonal es muchísimo más sencillo, y en isométrica si se usa el modo de "capas cubren enteramente a las de debajo" tambié se le podría definir un grado de transparencia por capa. Lo pensaré para esos modos.
PD2: Finalmente, para la quedada de ayer, hice las pruebas definitivas del scroll: el isométrico con la pantalla a 320x240, con tiles de 32x16 y 2 lineas/columnas extra ha funcionado a 5 míseros fps con UFenix (32 si se quedaba quieto)... ¡¡y 32 fps con Bennu!! En teoría podría mover medio Sonic 3D, lo cual creo que es bastante.
Eso si, el scroll normal, con el nivel de FLand va entre 67 y 125 fps según la carga de tiles (casi sin tiles se dispara a más de 135). Y porque no sé cómo overclockear la consola.
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)

DCelso

ostis, 5 fps, te da tiempo a ver una peli en lo que se mueve un objeto :D
Monstruos Diabólicos

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

Drumpi

Señores, me place anunciaros que el nuevo motor de scroll tileado, incluyendo isométrica está terminado:

DESCARGA

He actualizado el primer mensaje (aunque no se si ha quedado muy bien, porque ya estoy bastante cansado de escribir).
He metido los códigos, cinco ejemplos y gráficos para probar (el compilador y el bgcd.import lo poneis vosotros ;) ) y una guía de uso en htm que espero resuelva vuestras dudas e inquietudes mejor que los típicos leeme que metía antes.

De todas formas, el motor no está probado a fondo, porque si no ya tendría un juego hecho :D Así que cualquier cosa que veais que va mal o que falta, avisadme.

Buf, que respiro acabar cosas, ya veía tiles hasta en las baldosas de la casa. Ahora tengo que ponerme con "los V days".
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)

syous

Un Saludo
EL dia que la humanidad aprenda a mirar y sentir con los ojos del alma, recuperara su humanidad
http://sodonline.net/
http://darknessage.ayudaprogramacion.net/
http://www.ayudaprogramacion.net/

Proyecto: MMORPG
Completado: 2%
Estado: En Desarrollo...

DCelso

ostras tu, que complicado, nomentero de na. :(
Primeramente necesitaría saber qué necesito para usarlo, es decir, imagínate que soy torpe torpón y no se lo que es un juego y supongamos que yo tengo un montón de tiles en formato imagen (digamos png) y un personaje en 8 imágenes(dos para cada direccion)
A ver:
Primero: como y con qué creo un mapa con mis tiles y como y con qué guardo el archivo o archivos.
Segundo: como abro el archivo o archivos con el motor
Tercero: como creo el personaje para que interaccione con el mapa y que ficheros necesito crear o usar.
Cuarto: como lo inserto en el mundo para verlo moverse.
Quinto:  como interactuo con el mundo, necesitaré saber si crear un mapa de durezas o bien cada tile tiene un tipo para ello o bien necesito un mapa de durezas por tile.

Esto sería un buen tuto para personas que quieran usarlo sin mucha idea en nociones de juegos 2d.

Monstruos Diabólicos

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

animanegra

enhorabuena ^^ ¡¡¡con el tiempo que llevabas ahi lidiando con el!!! Yo algun dia terminare alguno de los proyectos personales que empiezo, pero hablo en un futuro muy incierto y lejano. ^^ La multiproyectitis es una enfermedad chunga que tenemos que superar mucha gente :D
"PoCoYo es dios!!"

DCelso

Monstruos Diabólicos

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

Drumpi

Quote from: DCelso on October 27, 2009, 03:50:48 PM
ostras tu, que complicado, nomentero de na. :(
Primeramente necesitaría saber qué necesito para usarlo, es decir, imagínate que soy torpe torpón y no se lo que es un juego y supongamos que yo tengo un montón de tiles en formato imagen (digamos png) y un personaje en 8 imágenes(dos para cada direccion)
A ver:
Primero: como y con qué creo un mapa con mis tiles y como y con qué guardo el archivo o archivos.
Segundo: como abro el archivo o archivos con el motor
Tercero: como creo el personaje para que interaccione con el mapa y que ficheros necesito crear o usar.
Cuarto: como lo inserto en el mundo para verlo moverse.
Quinto:  como interactuo con el mundo, necesitaré saber si crear un mapa de durezas o bien cada tile tiene un tipo para ello o bien necesito un mapa de durezas por tile.

Esto sería un buen tuto para personas que quieran usarlo sin mucha idea en nociones de juegos 2d.



Respondiendo:
Primero: bueno, para crear los mapas tienes cuatro opciones. Si eres muy novato usar ESTO, que soporta los formatos por defecto del motor. Si sigues usando DIV o eres capaz de crear maps y fpgs de 8 bits, usarlos. Si eres usuario medio, buscarte un programa de edicion de mapas de tiles y crearte tu función de carga (tienes tres ejemplos en el motor). Si eres avanzado, crearte tu propio editor.
Segundo, tercero y cuarto: leyéndote lo que ha retrasado la salida del motor cuatro días, está dentro.
Quinto: eso depende de ti. Lo normal es que uses un mapa de tiles con las durezas, o si no el propio mapa de tiles. Tienes funciones de sobra para obtener las durezas en cada posición del mapa. El motor es como el scroll de Bennu.

El motor está preparado para que puedan usarlo aquellos que ya han programado algun otro juego en Fénix/Bennu. Es ligeramente más complicado que desarrollar un juego con scroll normal. Cualquiera que haya implementado un matamarcianos con scroll puede hacer uno con los tiles.
¿O es que la ayuda que he puesto no es lo suficientemente clara? :(
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)

Drumpi

Por lo visto había dos pequeños errores en un par de ficheros. Los he corregido y lo he vuelto a subir.
Avisadme si os da algún problema más.
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)

DCelso

A ver yo me refería a que sería muy bueno poder tener un manual de programación de juegos usando el motor este. Haciendo minijuegos, porque así se entienden mejor las cosas, sobre todo para los no muy entendidos en materia.
Monstruos Diabólicos

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

Windgate

Descargando, a ver si es tan complicado como decis xD

Eso si, ahora si lo veo "humanamente aplicable" te ganas mi bendicion, un karma y te invito a una cerveza virtual :-X
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Hombre, un manual como el que dices, DCelso, no me llevaría cuatro días ¡me llevaría cuatro meses! (y eso contando con que llegue a acabarlo).
Pero básicamente, sería el mismo manual que se usa para entender cómo funciona start_scroll, y creo que, a menos que windgate haya concluido el suyo, no hay más que los de DIV.

En fin, si veis que es complejo, os puedo hacer el típico juego de una nave que debe moverse por un escenario sin chocarse con las paredes... o el de un submarino llamado "el Ballena Azul" (referencia a juego paperactivo).
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)