Página 9 de 13

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Mié, 24 Jun 2015, 11:46
por primy
Si es que me pasan estas cosas por no leer bien, en la web lo pone bien claro con fechas y todo, pero es que no escarmiento, no es la primera vez que meto la pata, de todas maneras creo que si hare eso de generar un proyecto nuevo, muchas gracias :dalefran:

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Jue, 25 Jun 2015, 09:01
por na_th_an
De todos modos, la solución de detección sin script la puedes aplicar igual sea la versión que sea :)

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Jue, 25 Jun 2015, 10:19
por primy
Bueno lo del final del juego perfecto na_th_an e modificado el mainloop y de p.m perfecto para mis objetivos, también he cambiado la versión de la churrera y por fin puedo hacer más cosas que no encontraba :adore: pero después de solucionar estos problemas me encuentro otra vez con lo que me sucedía con anterioridad, unos tiles que pinto de decorado no son traspasables, lo curiosos es que uso cuatro para pintar un esqueleto y tres de ellos se comportan como un piedro. He generado de nuevo el tileset.h y continúo igual, también lo he modificado quitando los 0 por 7 y nada.
Como podréis apreciar en las imágenes que mando en la captura1 el tile no se puede traspasar, en la captura2 veréis que perfectamente este se puede atravesar aunque estoy subido en el anterior, y en los otros dos pasa lo mismo no son traspasables. No descarto que allá metido otra vez la zarpa.

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Jue, 25 Jun 2015, 13:04
por na_th_an
Coño, qué chulo ese prisionero :D

Revisa behaviours en config.h, tienes que darle comportamiento a todos y cada uno de los 48 tiles. Asegurate que está bien puesto.

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Jue, 25 Jun 2015, 13:40
por primy
Si os mola y lo quereis incluir en algun juego os lo mando.
Efectivamente era eso :oops: :oops: se me cae la cara de verguenza.

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Jue, 25 Jun 2015, 15:56
por primy
$this->bbcode_second_pass_quote('na_th_an', 'A')ntes de empezar tienes que ver cuánto te va ocupando el binario, porque trabajar de balde es una caca.

Siempre se puede ganar mucha memoria pasándote a 128K (hay una guía paso por paso para pasar un juego que empezó siendo para 48K a 128K por ahí)... Todas las imagenes pueden ir en la memoria extra, al igual que la música. Pero entonces tendrás que buscarte un músico :)

Para ver cuanto ocupa, lo más fácil es mirar el .bin que se genera al compilar tu juego, o cargar el .tap en spectaculator y ver cuando ocupa el último bloque de la cinta en el tape browser.

Si pasas de 35000 es mejor no planteártelo. Las imagenes ocupan mucho y el propio extern.h necesario es complejo y también se lleva muchos bytes.

Pero como te digo, una vez que el juego está terminado, pasarlo a 128K para meterle todos estos adornos es coser y cantar. Incluso verás como se libera la suficiente memoria para ampliar el mapa, por ejemplo (la pantalla de título y la del final también se van para RAM extra, la música beeper desaparece, el código que genera los efectos de sonido también).


Ya solucionado todos los problemas me estoy planteando realizar lo que comente de ponerle una presentación, y como ya me dijisteis en tu comentario he mirado el espacio que ocupa y me da que tiene 33818 bytes, mi pregunta es ¿voy bien de espacio? teniendo en cuenta, por supuesto, todo lo que me dijiste. s los problemas me estoy planteando realizar lo que comente de ponerle una presentacion, y como ya me dijisteis e mirado el espacio que ocupa y me da que tiene 33818 bytes, mi pregunta es ¿voy bien de espacio? teniendo en cuenta, por supuesto, todo lo que me dijiste.

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Vie, 26 Jun 2015, 10:21
por na_th_an
Oh, sí, hasta 36000 tienes un par de Kb. Dependiendo de como te curres las imagenes, puedes meter dos o tres.

Yo haría recuadritos monocromos de 64x64 pixels centrados en la parte superior de la pantalla. Así te caben en un solo "tercio" (recuerda que la VRAM se divide en tres tercios y luego los atributos de color) y ocuparán muy poco. En Leovigildo la mayoría son así.

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Vie, 26 Jun 2015, 15:34
por primy
Bueno pues tras realizar todo lo que con anterioridad me enseñasteis para poner la escena del principio, me encuentro con los primeros errores al compilar:
$this->bbcode_second_pass_code('', '
C:\Users\mvergara\Downloads\spectrum\YTUJ\dev>make.bat
### COMPILANDO SCRIPT ###
msc-config.h
msc.h
2 archivo(s) copiado(s).
-------------------------------------------------------------------------------
### REGENERANDO MAPA ###
** WARNING **
MapCnv convierte un archivo raw de mappy (mapa.map, por ejemplo)
a un array directamente usable por los juegos de la churrera.
Si metes mal los parßmetros ocurrirßn cosas divertidas.

packed
Se escribi¾ mapa.h con 30 pantallas empaquetadas (2250 bytes).
Se encontraron 3 cerrojos.

1 archivo(s) copiado(s).
-------------------------------------------------------------------------------
### COMPILANDO GUEGO ###
1 archivo(s) copiado(s).
1 archivo(s) copiado(s).
sccz80:"extern.h" L:159 Error:#42:Unknown symbol: p_y
sccz80:"engine.h" L:224 Warning:#4:Function returns different type to prototype
sccz80:"engine.h" L:224 Warning:#5:Prototype is signed int fn
sccz80:"engine.h" L:224 Warning:#6:Function is void fn
-------------------------------------------------------------------------------
### CONSTRUYENDO CINTA ###

BAS2TAP v2.5 by Martijn van der Heide of ThunderWare Research Center

Creating output file loader.tap
Done! Listing contains 1 line.
Input file open failed!
loader.tap
screen.tap
1 archivo(s) copiado(s).
-------------------------------------------------------------------------------
### LIMPIANDO ###
No se pudo encontrar C:\Users\mvergara\Downloads\spectrum\YTUJ\dev\main.tap
No se pudo encontrar C:\Users\mvergara\Downloads\spectrum\YTUJ\dev\YTUJ.bin
-------------------------------------------------------------------------------
### DONE ###

C:\Users\mvergara\Downloads\spectrum\YTUJ\dev>')

En principio he echo todo lo que pusisteis:

Pegar extern.h de Leovigildos
Crear carpeta texts
Pegar textstuffer.exe a text
Crear texto.txt en text
Empaqueto texto.txt y pego texto.bin en /dev
Se crean las imagenes .scr y se comprimem con apack
Se pegan los .bin en dev
Edito extern.h

$this->bbcode_second_pass_code('', '// Leovigildo B needs 2 compressed images for the endings...

extern const unsigned char im1 [0], im2 [0], im3 [0], im4 [0];
const unsigned char *ims [] = {
im1, im2, im3, im4
};

#asm
._im1
BINARY "imagen1.bin"
._im2
BINARY "imagen2.bin"
._im3
BINARY "imagen3.bin"
._im4
BINARY "imagen4.bin"
#endasm')

Y edito el archivo nombredemijuego.spt

$this->bbcode_second_pass_code('', '# Título tonto
# Copyleft 2015 Primysoft.
# Churrera 3.1

# flags:
# 1 -

ENTERING GAME
IF TRUE
THEN
EXTERN 0 # Borra la pantalla
EXTERN 251 # Modo cutscene ON
EXTERN 1 # Ponemos la primera linea de texto
EXTERN 253 # Ahora la imagen im1
EXTERN 2 # Ponemos la segunda linea de texto
EXTERN 253 # Ahora ponemos la imagen im2
EXTERN 3 # Ponemos la tercera linea de texto
EXTERN 254 # Ahora ponemos la imagen im3
EXTERN 4 # Ponemos la cuarta linea de texto
EXTERN 255 # Ahora ponemos la imagen im4
EXTERN 0 # Borramos y fin.
END
END')

Estoy perdido completamente, ya si que no se que puede fallar :chiton: :chiton:

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Vie, 26 Jun 2015, 16:10
por elborra
Buenas el tema de los cutscenes es algo posterior a las versiones de la churrera justo cuando hubo un cambio de nombre en algunas estructuras y/o tipos que controlan al personaje.

Lo más facil es los siguiente: cada vez que veas un error de una variable tipo p_y, p_x, p_vx, etc ... cámbialo por player.y, player.x, player.vx...

Por tanto, empezando por el primer error que te saca:
$this->bbcode_second_pass_code('', '
sccz80:"extern.h" L:159 Error:#42:Unknown symbol: p_y
')
Te dice que en la línea 129 del fichero extern.h tienes definida una variable "p_y" que desconoce. Remplaza p_y por player.y y vuelve a compilar; seguramente te saque más errores del mismo tipo; vuelve a compilar y ve corrigiendo esos "fallos" en los nombres de las variables.

Re: Proyecto de juego de un inútil (Escape from the sewers)

Publicado: Vie, 26 Jun 2015, 16:51
por na_th_an
Sí, la verdad es que tengo que echarle unos ojaldres para hacer algo compatible... Aunque me suena que lo hice.

En serio, tengo el cerebro fatal. Creo que estos sí que van, pero hay que sustituir una llamada a button_pressed (de MK2) por algo que haga lo mismo. Ahora no tengo tiempo, luego les echo un ojaldre.

viewtopic.php?p=67014#p67014