IMPORTANTE - convocatoria de The Mojon Twins
Moderador: Sir Cilve Sinclair
- Alxinho
- Freddy Hardest
- Mensajes: 896
- Registrado: Mar Jun 19, 2007 11:20 am
- Ubicación: Barcelona
- Contactar:
Re: IMPORTANTE - convocatoria de The Mojon Twins
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!
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!
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
-
- Manic Miner
- Mensajes: 297
- Registrado: Mar May 08, 2007 9:14 am
- Ubicación: Torreznoslandia
- Contactar:
Re: IMPORTANTE - convocatoria de The Mojon Twins
Alxinho escribió:Jejejeje ... Tío! Cómo me alegro de escribirte!
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! No sé si me cabrá todo lo que pienso hacer ... sino tendre que cortar huevos
Un abrazo enorme!
Pintaza!
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
Hala pues, a darle duro y si necesitas algo, silba!
Un abrazo gordo!
- JBGV
- Manic Miner
- Mensajes: 279
- Registrado: Vie Feb 11, 2011 9:16 am
Re: IMPORTANTE - convocatoria de The Mojon Twins
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 !!!
Lo del espacio es cierto, a veces con tres lineas te sube un güevazo , 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
Animo con ese juego !!
- 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
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! No sé si me cabrá todo lo que pienso hacer ... sino tendre que cortar huevos
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 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
La idea de Wilco también mola. Necesitamos aventuras gráficas ya
- JBGV
- Manic Miner
- Mensajes: 279
- Registrado: Vie Feb 11, 2011 9:16 am
Re: IMPORTANTE - convocatoria de The Mojon Twins
Yo, en mis juegos de serie B , 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.
- 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
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
- Alxinho
- Freddy Hardest
- Mensajes: 896
- Registrado: Mar Jun 19, 2007 11:20 am
- Ubicación: Barcelona
- Contactar:
Re: IMPORTANTE - convocatoria de The Mojon Twins
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 :
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:
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
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
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
- JBGV
- Manic Miner
- Mensajes: 279
- Registrado: Vie Feb 11, 2011 9:16 am
Re: IMPORTANTE - convocatoria de The Mojon Twins
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 .
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 .
- JBGV
- Manic Miner
- Mensajes: 279
- Registrado: Vie Feb 11, 2011 9:16 am
Re: IMPORTANTE - convocatoria de The Mojon Twins
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
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
- Alxinho
- Freddy Hardest
- Mensajes: 896
- Registrado: Mar Jun 19, 2007 11:20 am
- Ubicación: Barcelona
- Contactar:
Re: IMPORTANTE - convocatoria de The Mojon Twins
Ok gracias! a ver si me entero de algo y sino intentaré no quedarme sin memoria
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
- wilco2009
- Freddy Hardest
- Mensajes: 543
- Registrado: Lun Sep 17, 2012 9:40 am
- Ubicación: Valencia
Re: IMPORTANTE - convocatoria de The Mojon Twins
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.
Aunque el compilador fuera capaz de hacerlo, de todas formas tendría que manejar internamente dos copias de los datos para poder restaurarlos.
-
- Jack The Nipper
- Mensajes: 155
- Registrado: Mié May 09, 2007 10:25 am
Re: IMPORTANTE - convocatoria de The Mojon Twins
@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.
- Alxinho
- Freddy Hardest
- Mensajes: 896
- Registrado: Mar Jun 19, 2007 11:20 am
- Ubicación: Barcelona
- Contactar:
Re: IMPORTANTE - convocatoria de The Mojon Twins
Ey Sejuan! Cuanto tiempo! Cómo me picó el Jinj jodío!
Pues muchas gracias por tu apoyo de verdad
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.
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
- 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
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.
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)):
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:
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).
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).
- Alxinho
- Freddy Hardest
- Mensajes: 896
- Registrado: Mar Jun 19, 2007 11:20 am
- Ubicación: Barcelona
- Contactar:
Re: IMPORTANTE - convocatoria de The Mojon Twins
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.
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.
Soy un tío feliz, más que nada ... porque me sale más a cuenta.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados