31
General / Re:Nuevos cracks de juegos clasicos.
« en: Marzo 09, 2024, 14:18:57 »
Este es EL VERDADERO predecesor del Wonfenstein 3D!
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Bueno, es que yo lo hacía así también. Es decir, no exportaba todo el mapeado, sino pantallas independientes.Probaré la opción esa de Submaps, a ver si separa cada pantalla.
En todo caso para hacerlo como tu dices, en el momento que compilas para probar, ya sabes las pantallas que tienes metidas. Antes de compilar modificas el valor correspondiente al número de pantallas que tienes y si añades más, modificas el valor. O estableces un valor máximo, por ejemplo de 40 pantallas y lo mantienes salvo que crezca...no le veo más problema salvo que me pierda algo, que también puede ser (soy un programador sinver)Si, creo que es la respuesta, tener esos valores pero se me va la cabeza en como se haría un scroll multidireccional!
Si, todo por código, por eso digo que es un dolor. Ahí creo que el charpad no ayuda gran cosa. Una manera quizás sencilla, que simplificaría esta tabla podría ser por ejemplo, establecer un caracter invisible con material 5.Sería una opción fácil para poner límites, la única pega que le veo es que en ese lugar no se podría poner ningún elemento del escenario. Y otro problema es que si se usan tiles (2x2, 4x3) la cosa se complica más todavía.
Con el tema del Scroll y tiles la verdad no he trabajado, supongo que del problemas que hablas es para hacer un flip Screen. No acabo de entender muy bien tu problema....
¿Por qué dices que no sabes el ancho? De normal (o por lo menos lo que yo hago) al diseñar pantallas formadas por tiles, es tener unos tiles que encajen con el tamaño de la pantalla. Por ejemplo tiles de 5x5.
Con esto tendrías 8 Tiles horizontales (8x5=40) y 5 verticales (5x5=25) Entonces ya sabes que tienes que poner esos 8 tiles y luego bajar 5 caracteres en la pantalla para poner los siguientes 8.
Los Tiles almacenarán una secuencia consecutiva de 25 caracteres (un vector de caracteres) ej:
Tile1[25]={1,5,6,8,34,12,12,21,34,2,5,45,35,23,53,50,21,12,4,65,45,5,67,4,89}
Tile2[25]={2,8,9,12,26,16,1,1,34,23,5,12,32,25,58,67,2,16,88,99,32,12,6,14,8}
Escribes el Tile1 así: 5 caracteres seguidos en la memoria 0 de pantalla.
5 caracteres seguidos en la memoria 0+40 de pantalla.(Osea una fila mas abajo)
5 caracteres seguidos en la memoria 0+80 de pantalla.(Osea 2 filas mas abajo)
5 caracteres seguidos en la memoria 0+120 de pantalla.(Osea 3 filas mas abajo)
5 caracteres seguidos en la memoria 0+160 de pantalla.(Osea 4 filas mas abajo)
Escribes el Tile2 así: 5 caracteres seguidos en la memoria 0+5 de pantalla.
5 caracteres seguidos en la memoria 0+45 de pantalla.(Osea una fila mas abajo)
5 caracteres seguidos en la memoria 0+85 de pantalla.(Osea 2 filas mas abajo)
5 caracteres seguidos en la memoria 0+125 de pantalla.(Osea 3 filas mas abajo)
5 caracteres seguidos en la memoria 0+165 de pantalla.(Osea 4 filas mas abajo)
Al terminar el octavo Tile bajas 5 filas de pantalla para escribir el noveno. (Osea en la posición 200. 40*5)
Y así hasta completar todo el mapeado..
El mapa de pantalla que exportas en "bin" con charpad, contiene un set de 40 tiles almacenados consecutivamente en un vector y los guarda de izda a dcha y de arriba a abajo (OPQA de toda la vida).
No sé si te aclaro algo o te lío mas :-P
Pues a ver si te lo resumo rápido. Al final es todo una evolución...Cierto, por eso intento ir despacio pero quizas voy demasiado rapido
Tanto el Bomb run como el fart Escape (los inicios) el sistema de colisión era muy sencillo, usando las prestaciones del VIC. (Colisión sprite/Background en Bomb run y Sprite/Sprite en Fart Escape) Para editar las pantallas en Bomb run que era modo bitmap no usé Charpad. Creo que fue Multipaint. Para el Fart Escape si usé el charpad a un nivel muy básico....Ya le voy a dar un nuevo vistazo a ese juego, a ver si puedo preguntarte cómo resolviste cosas concretas.
En el Juanje Juega, Seguía con la colisión Sprite/Sprite hardware pero ya fue necesario implementar colisión software con las plataformas. Aquí, tiré del Charpad para establecer los caracteres "colisionables". Lo hice gestionado el tema de los "materiales" que no sé si lo has visto. Chars con material 0 eran aire, material 1 suelo, material 2 escalera etc etc...Ahh bien, vi eso de los "materiales" y sospechaba que sería para cosas como esta, asi que me lo has confirmado!!
La animación del los sinvers era bastante simple pero costosa de "setear", para cada pantalla había una tabla tipo:Nos vamos acercando a parte de mi pregunta,
Enemigo1--->Posx,Posy,Velocidad,DesplazamientoX,DesplazamientoY, Cambio de sentido aleatorio (si o no) etc...
En Randoom También uso el tema de los materiales. Para los sprites ya uso colisiones por Software y la mayor evolución viene de la animación de los sinvers... debido a lo costoso que era en JJ, quería hacer que tuvieran un movimiento autónomo ( Que detectaran los choques con las plataformas o que cayeran al llegar al borde de la misma) De esta mánera solo hay que situarlos en pantalla y cobran vida..Ahí has creado vida!!
@jicas En tu caso, en el Vampire ¿cuál usaste?
Y otra cosa importante... ¿cómo hiciste el mapeado de los enemigos?
He visto que hay programas de mapeo que permiten poner los enemigos y objetos, especificar el comportamiento o trayectoria, etc. No creo que CharPad esté pensado para eso, pero en todo caso ¿cómo lo resolviste?
La lógica del scroll en principio es fácil, otra cosa es hacerlo y que funcione bien!!