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

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
primy
Mensajes: 78
Registrado: Jue, 26 Mar 2015, 11:41
Contactar:

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

Mensajepor primy » Mié, 24 Jun 2015, 11:46

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:
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

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

Mensajepor na_th_an » Jue, 25 Jun 2015, 09:01

De todos modos, la solución de detección sin script la puedes aplicar igual sea la versión que sea :)
Como diría Rorshach: "Urm..."
Avatar de Usuario
primy
Mensajes: 78
Registrado: Jue, 26 Mar 2015, 11:41
Contactar:

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

Mensajepor primy » Jue, 25 Jun 2015, 10:19

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.
Adjuntos
Captura4.PNG
Captura4.PNG (1.95 KiB) Visto 3090 veces
Captura3.PNG
Captura3.PNG (1.87 KiB) Visto 3124 veces
Captura2.PNG
Captura2.PNG (1.31 KiB) Visto 3099 veces
Captura1.PNG
Captura1.PNG (1.71 KiB) Visto 3094 veces
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

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

Mensajepor na_th_an » Jue, 25 Jun 2015, 13:04

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.
Como diría Rorshach: "Urm..."
Avatar de Usuario
primy
Mensajes: 78
Registrado: Jue, 26 Mar 2015, 11:41
Contactar:

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

Mensajepor primy » Jue, 25 Jun 2015, 13:40

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.
Avatar de Usuario
primy
Mensajes: 78
Registrado: Jue, 26 Mar 2015, 11:41
Contactar:

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

Mensajepor primy » Jue, 25 Jun 2015, 15:56

na_th_an escribió:Antes 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.
Adjuntos
Captura.PNG
Captura.PNG (31.01 KiB) Visto 3004 veces
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

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

Mensajepor na_th_an » Vie, 26 Jun 2015, 10:21

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í.
Como diría Rorshach: "Urm..."
Avatar de Usuario
primy
Mensajes: 78
Registrado: Jue, 26 Mar 2015, 11:41
Contactar:

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

Mensajepor primy » Vie, 26 Jun 2015, 15:34

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:

Código: Seleccionar todo

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

Código: Seleccionar todo

// 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

Código: Seleccionar todo

# 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:
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

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

Mensajepor elborra » Vie, 26 Jun 2015, 16:10

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:

Código: Seleccionar todo

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.
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

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

Mensajepor na_th_an » Vie, 26 Jun 2015, 16:51

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
Como diría Rorshach: "Urm..."

Volver a “La Churrera”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados