IMPORTANTE - convocatoria de The Mojon Twins

Noticias relacionadas con el mundo del Spectrum en general y este foro en particular. Presentación de nuevos usuarios.

Moderador: Sir Cilve Sinclair

Avatar de Usuario
Alxinho
Freddy Hardest
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona
Contactar:

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por Alxinho » Lun Nov 05, 2012 10:23 pm

Buah! pues me encantaría que lo acabaras! esa mezcla si se hace bien el juego me parece una idea de puta madre y que puede salir un juego super interesante que yo por lo menos estoy un poco cansadete del mismo tipo de juego. Yo con mis ideas siempre intento hacer como en los 80 que experimentaban con cosas de topo tipo y hacían juegos extraños con mezclas como las que tú dices, aunque también es cierto que el 85 o 90% eran juegos típicos de recreativas y demás.

Por lo del tiempo que requiere un juego tienes toda la razón, tiene que ser algo que te vaya saliendo sin demasiadas dificultades, porque como te claves en el juego mierda, si va saliendo a la que te das cuenta has avanzado mucho.

Mucho ánimo tío! :D
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.

anjuel
Manic Miner
Mensajes: 297
Registrado: Mar May 08, 2007 9:14 am
Ubicación: Torreznoslandia
Contactar:

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por anjuel » Mar Nov 06, 2012 9:24 am

Alxinho escribió:Jejejeje ... Tío! Cómo me alegro de escribirte! :D

Pues la verdad es que no, del Mineroman tengo poco hecho, nada más que el muñeco moviéndose, dando cuchillás y unos pocos de sprites de enemigos y eso, pero poco. Preferí meterme con el que estoy haciendo que es más bien un juego de "practicas", un compendio de cosas que me obligan a practicarlo todo, los charsets, sprites, animaciones, mapeado, texto, etc, etc ... todas esas cosas de tutoriales de Nathan, Microbasic y de donde alla pillado. Es que sino el Mineroman iba a ser inviable. Este es muy fácil y me hace familiarizarme con el maravilloso compilador éste cruzado.

El juego de "practicas" se llama (al menos de momento) Simulador de guerra mundial o World war simulator jajaja ... es una mezcla de cosas ... arcade, quiz, aventura conversacional (rollo Cobra's Arc y libro elije tu propia aventura), etc ... el problema más gordo que estoy teniendo es que joder! le metes tres líneas de código y ya te sube 1 puto kilobyte! :lol: No sé si me cabrá todo lo que pienso hacer ... sino tendre que cortar huevos :lol:

Imagen

Un abrazo enorme!


Pintaza! :D

Está bien eso de practicar con un juegazo con esa pinta! Desde luego, los sprites te están quedando espectaculares y la fuente elegida me gusta mucho :D
Hala pues, a darle duro y si necesitas algo, silba! ;-)

Un abrazo gordo!
(_\_) (_|_) (_/_) (_|_) ILLO KE HEHEHEHEHEHEEEHEHEHEHE!!
http://www.mojontwins.com

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por JBGV » Mar Nov 06, 2012 9:44 am

El juego de "practicas" se llama (al menos de momento) Simulador de guerra mundial o World war simulator jajaja ... es una mezcla de cosas ... arcade, quiz, aventura conversacional (rollo Cobra's Arc y libro elije tu propia aventura), etc ... el problema más gordo que estoy teniendo es que joder! le metes tres líneas de código y ya te sube 1 puto kilobyte! No sé si me cabrá todo lo que pienso hacer ... sino tendre que cortar huevos


Pues me uno a los demás, tiene muy buena pinta !!! :D

Lo del espacio es cierto, a veces con tres lineas te sube un güevazo :lol: , lo que pasa es que a veces "engaña" un poco, por ejemplo la primera vez que usas "print" -el compilador no usa el print de la ROM- te sube un huevo, pero las demás veces que la uses no, ya que la rutina "print" ya está en tu código. A mi me estuvo mosqueando un tiempo lo mucho que ocupaba generar números aleatorios :lol:

Animo con ese juego !!

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por na_th_an » Mar Nov 06, 2012 10:33 am

Alxinho escribió:El juego de "practicas" se llama (al menos de momento) Simulador de guerra mundial o World war simulator jajaja ... es una mezcla de cosas ... arcade, quiz, aventura conversacional (rollo Cobra's Arc y libro elije tu propia aventura), etc ... el problema más gordo que estoy teniendo es que joder! le metes tres líneas de código y ya te sube 1 puto kilobyte! :lol: No sé si me cabrá todo lo que pienso hacer ... sino tendre que cortar huevos :lol:

Imagen

Un abrazo enorme!


Joder, tiene una pinta buenísima :-O en serio, me encanta la idea. Me sumo al ofrecimiento de Anjuel. Ya sabes donde estamos :)

Sobre el tema, es lo que tiene :-D Si en el código que tienes metes un nuevo comando, es probable que el tamaño del ejecutable suba un montón porque haya que incluir el código de ese nuevo comando. Por ejemplo, si pones un PRINT "HOLA", aunque sólo haya uno, el código ocupará un montón más porque la rutina PRINT ocupa bastante.

Si te fijas, no uso ni un solo PRINT en el Maritrini, precisamente por esto. Sólo necesitaba imprimir cadenas de texto simples, sin todas las florituras que permite PRINT, y por eso me hice mi propia rutina que ocupa mucho menos.

Vaya, ahora leo que JBGV ha mencionado exactamente lo mismo XD O sea, PRINT CACA :lol:

La idea de Wilco también mola. Necesitamos aventuras gráficas ya :D

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por JBGV » Mar Nov 06, 2012 12:03 pm

:lol: :lol:

Yo, en mis juegos de serie B :oops: , ultimamente he incluído cachos de las rutinas de impresion de txt del curso de Sromero (no me canso de recomendar este curso), por rapidez en el bucle principal del juego, bueno, y mas que nada por practicar.

http://wiki.speccy.org/cursos/ensamblador/gfx4_fuentes

Lo que pasa es que luego también uso el comando PRINT fuera de lo que es el juego, esto por comodidad.

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por na_th_an » Mar Nov 06, 2012 12:28 pm

Si no necesitas mucha gaita, lo mejor es pasar de PRINT... No por velocidad, que también, sino que más por toda la memoria que te ocupa con cosas que no estás usando. PRINT hace encaje de bolillos y es lo mejor si realmente necesitas lo que ofrece, pero si lo que necesitas es imprimir dos o tres textos para un juego de acción, o simplemente los numericos de los marcadores, o cosas así... Mejor currarte tu propio PRINT. O rapiñarlo de otro, por supuesto :lol:

Avatar de Usuario
Alxinho
Freddy Hardest
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona
Contactar:

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por Alxinho » Mié Nov 07, 2012 7:01 pm

Muchas gracias por el feedback chicos! ¿Se dice así no? jejeje ... La verdad no me esperaba que gustara mucho, a mí me parece un poco cutre pero esto creo que nos pasa a todos los que hacen algo y son un poco perfeccionistas. Los ánimos la verdad es que ayudan a darle más empujón al asunto.

Consultilla ...

¿Se puede saber qué me pasa?

Los mapitas de la parte arcade los tengo en un array al principio de todo, donde se declaran las variables y toda la mandanga de esta manera :

Código: Seleccionar todo

DIM terrenos(1,2,9)AS UBYTE={{_
{0,0,0,0,0,2,4,2,0,0},_
{0,6,0,2,0,0,0,0,0,0},_
{0,0,0,1,2,0,1,0,0,0}},{_
{0,3,0,0,0,3,0,0,0,0},_
{0,0,0,3,0,0,0,3,0,0},_
{0,3,0,0,0,3,0,0,0,0}}}


Y después en el juego pues si por ejemplo cojo algo con el soldado cambio el valor del 6 a un 0 para que desaparezca y pueda caminar en esa zona:

Código: Seleccionar todo

terrenos(0,1,1)=0


Todo funciona perfecto pero ...

Si acaba la partida y empiezas otra aunque mande al programa a la línea 1 para que reestablezca todas las variables incluida el array resulta que al jugar no me aparece el objeto y puedo caminar a través de esa zona, o sea que vale 0 y no 6 como debería ser.

Yo tengo la impresión que es porque al hacer DIM no consigo lo que pretendo y debería declarar el array con otra sintaxis, pero si es eso no sé cómo. Es un putadón porque si tengo que poner a mano todo rollo terrenos(0,1,1)=6 y así con todo lo que ponga no veas qué feo y qué memoria desperdiciada :( ...

-----

En el caso (y estoy seguro que me pasará) de de las 48k no me sean suficientes por pardillo sin saber optimizar y esas cosas ¿puedo considerar la versión tal cual la programe para 128k? o sea, no tengo porqué tener nada en cuenta en especial y será compatible, símplemente especificar que la versión es exclusiva para 128k? Lo digo por si tengo que compilar de otra forma o algo así. Puertos no uso para este juego con las teclas porque no me hacen falta teclas simultaneas ni diagonales.

----

Este hilo os lo hemos invadido y huele a offtopic que te cagas :lol:
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por JBGV » Mié Nov 07, 2012 9:53 pm

Al cambiar el valor 6 a 0 haces que se cambie ese dato en la matriz, antes de iniciar de nuevo el juego debes volver a ponerlo a 6 otra vez.

A mi algo parecido me obligó a tener "dos copias" de unos datos, para poder volver a restaurarlos. En mi caso me daba igual porque me sobraba espacio, pero seguro que hay mejores formas de solucionarlo :roll: .

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por JBGV » Mié Nov 07, 2012 9:59 pm

Creo que con el compilador por ahora solo puedes programar para 48K.

Na_th_an explicó en el Foro del propio ZX BASIC una forma de comprimir/descomprimir datos que quizás te podría ser de ayuda.

http://www.boriel.com/forum/how-to-tutorials/aplib-decompressor-for-zx-basic-t792.html

Avatar de Usuario
Alxinho
Freddy Hardest
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona
Contactar:

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por Alxinho » Mié Nov 07, 2012 10:05 pm

Ok gracias! a ver si me entero de algo y sino intentaré no quedarme sin memoria :roll:
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.

Avatar de Usuario
wilco2009
Freddy Hardest
Mensajes: 543
Registrado: Lun Sep 17, 2012 9:40 am
Ubicación: Valencia

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por wilco2009 » Mié Nov 07, 2012 11:58 pm

Tienes que guardar obligatoriamente una copia de los valores originales, si no no hay forma de restaurarlos cuando vuelves a la linea 1, ya que la declaración solo inicializa los datos pero no los vuelve a asignar.
Aunque el compilador fuera capaz de hacerlo, de todas formas tendría que manejar internamente dos copias de los datos para poder restaurarlos.

sejuan
Jack The Nipper
Mensajes: 155
Registrado: Mié May 09, 2007 10:25 am

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por sejuan » Jue Nov 08, 2012 8:25 am

@Alxinho: El juego tiene una pinta BRUTAL. Mucho, mucho ánimo. Tira pa'lante que está que te cagas. Y ahora que se te han ofrecido el par de sujetos estos, vamos ni te lo pienses.

Avatar de Usuario
Alxinho
Freddy Hardest
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona
Contactar:

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por Alxinho » Jue Nov 08, 2012 9:39 am

Ey Sejuan! Cuanto tiempo! Cómo me picó el Jinj jodío!

Pues muchas gracias por tu apoyo de verdad ;)
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por na_th_an » Jue Nov 08, 2012 11:18 am

Puedes ahorrarte las dos copias. En el Maritrini modificamos directamente sobre el mapa cuando cogemos objetos o eliminamos una puerta o un perro.

Lo que tenemos es una "lista de restauración". Cada vez que se modifica el mapa, se guarda en la lista de restauración la posición del mapa que hemos cambiado y el valor que tenía. Al terminar el juego, se recorre esa lista y se deja el mapa como estaba.

Así ahorramos un porrón de memoria.

Nosotros el mapa lo tenemos en un array monodimensional, por lo que sólo necesitamos dos arrays, uno con los índices y otros con los valores.

Código: Seleccionar todo

Dim restorableTilesIndex (MAXRESTORABLETILES) as uInteger
Dim restorableTilesValue (MAXRESTORABLETILES) as uByte
Dim restorableIndex as uByte


restorableIndex es el índice en el que iremos rellenando. Al principio del cada partida lo ponemos a cero. Cada vez que modificamos el mapa, escribimos en restorableTilesIndex la posición que modificamos y en restorableTileValues el valor que había, e incrementamos restorableIndex. Esto lo hemos metido en una Sub. Por ejemplo, si vamos a romper una puerta que hubiese en la posición i = 2143 del mapa (calculada usando el número de pantalla y la posición X, Y dentro de la pantalla), llamaríamos a esta sub con addRestorableTile (i, mapa(i)):

Código: Seleccionar todo

Sub addRestorableTile(index as uInteger, value as uByte)
   restorableTilesIndex (restorableIndex) = index
   restorableTilesValue (restorableIndex) = value
   restorableIndex = restorableIndex + 1
End Sub


Tienes que hacer estos arrays tan grandes como cambios máximos que vaya a haber en tu juego. En nuestro caso fue muy fácil de calcular: bastaba con saber cuantos tiles "rompibles" había en el mapa.

Al final de la partida, hay que restaurar el mapa:

Código: Seleccionar todo

Sub restoreRestorableTiles ()
   Dim i as uByte
   For i = 0 To restorableIndex - 1
      mapa (restorableTilesIndex(i)) = restorableTilesValue (i)
   Next i
   restorableIndex = 0
End Sub


Lo que se hace es recorrer los arrays, y escribir en el mapa los valores almacenados en las posiciones almacenadas.

En tu caso se podría hacer lo mismo pero sería más complejo porque tu estructura de mapas no es monodimensional, con lo que habría que tener más arrays de indices (tres en tu caso, ya que tu array es tridimensional), además del array de valores.

Si vas a modificar, por ejemplo, terrenos (0,1,7), tendrías que guardar 0, 1, 7, y el valor de terrenos (0,1,7).

Avatar de Usuario
Alxinho
Freddy Hardest
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona
Contactar:

Re: IMPORTANTE - convocatoria de The Mojon Twins

Mensaje por Alxinho » Jue Nov 08, 2012 2:21 pm

Muchas gracias Nath! Yo tenía pensado hacer algo parecido más chapucilla, apuntarme todas las posiciones y hacer una lista a lo bruto al principio del juego.

Me gustaría saber también tu opinión sobre lo que he dicho de hacer la versión a 128k.
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.

Responder

¿Quién está conectado?

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