Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
 

Autor Hilo: Vindius - The Videogame... ¡Hagamosló entre todos! (Leído 10026 veces)

Zael

  • T-600
  • Mensajes: 4 547
  • El Caloret
AYUDA CON LA CARÁTULA


Hola chavales, ya estoy aquí de nuevo dando por saco. Salimos de un problema y nos metemos en otro... la carátula. Como ya dije en su momento, para Ancient Bits las carátulas son algo esencial. Siendo fieles al "fenómeno carátula" de la época de los ordenadores 8-bits, las carátulas de Ancient Bits siempre fueron muy superiores al propio juego, y en esta ocasión queremos que siga siendo así.

La portada original del libro es genial, y quedaría perfecta, tal como vimos en la idea original...





... pero no podemos usarla porque no es obra de Deka y no tenemos los derechos para su uso (no sé Deka, si tienes contacto con el ilustrador y explicándole que este es un juego-homenaje hecho para fans y sin fines comerciales si habría alguna posibilidad de usarla).







Como digo, si no se puede usar la portada original lo suyo sería que algún bonusero con arte en las manos y ganas de ayudar nos hiciera una bien chula. En Telegram FaseBonus había un gato llamado Khan No sé cuantos que dibujaba como la gloria bendita, pero creo que el Telegram ya ni existe...






Como última opción (que va a ser la más probable) nos queda usar imágenes por Google, como esta que ya puse...


... si no fuera porque las imágenes que mejor reflejan la imagen de Vindius (guerrero con hacha, pelo y barbas largas y canosas y tuerto de un ojo) son escasas y además tienen todas derechos de autor.




Así que la última opción dentro de la última opción es buscar imágenes por Google pero libres de distribución. Para ello nos vamos a "Búsqueda Avanzada" de Google...




... ponemos lo que queremos buscar ("Viking Warrior", "Axe Warrior", etc.), nos vamos a "Derechos de autor" y seleccionar "Que se puedan utilizar y compartir libremente" y cruzar los dedos para que salga algo mínimamente decente. Aunque a mi lo más "potable" que me ha salido ha sido esto...




"Hola, soy Vindius - El Guerrero de Lana y busco portada para mi juego..."




Bueno... coñas aparte. ¿Algún buen dibujante? ¿Alguna posibilidad Deka de que el ilustrador nos dé su permiso para usar la portada original? ¿Alguna "putilla del Google" entre el público que nos encuentre una buena imagen de libre distribución?

Gracias chavales! Que la Anjana de Future os lo pague con hijos!

última modificación: 26 Diciembre 2017, 23:25:11 por Zael





Deka Black

  • T-600
  • Mensajes: 8 703
Que jarta de reir con Barbalanuda El Cervecero. Y la verdad... no esty muy seguro de que Baixauli estuviera de acuerdo. Si te vale: busca imagenes de odin.  El aspecto de vindius esta basado en el, hombre: guerrero , tuerto, barbas...
A straight line may be the shortest distance between two points, but it is by no means the most interesting. - (Third Doctor in The Time Warrior)

Future

  • T-500
  • Mensajes: 1 174
  • superviviente marciano
    • futublock
buf, ya en el tema de la ilustración está canina la cosa por mi parte...


Periko

  • T-600
  • Mensajes: 2 292
    • Planeta Hediondo
Zael, si quieres te hago yo una portada a lo "Vindius-Yonki", el quinqui càntabro....  :rolleyes:.... ¿no? Me lo temìa.
Tranquilo Johnny, solo fue una horrible pesadilla...


Zael

  • T-600
  • Mensajes: 4 547
  • El Caloret
Zael, si quieres te hago yo una portada a lo "Vindius-Yonki", el quinqui càntabro....  :rolleyes:.... ¿no? Me lo temìa.


No, gracias Periko. Como te digo lo último que necesitamos ahora son demandas por injurias y humillación pública por parte del autor. Sin embargo, ya que te ofreces, tengo un último encargo para ti...


Hay un único enemigo que no tiene representación gráfica porque no dan para más los 48K, pero me gustaría que le hicieras un gráfico para que podamos incluirlo dentro de los EXTRAS.

Se trata del Guardián del Pozo de las Almas, y como siempre, os dejo la descripción que da el propio autor de tal engendro...

Citar
"... un ser con semblante de buitre y cuerpo de hombre, que hablaba con una voz que sonaba como una hoguera crepitante y bien alimentada. Blandía una aguda lanza y..."

Pues eso, algo así, un torso desnudo de guerrero y cabeza de buitre con una lanza...



Venga chavales, el juego ya está terminado, estoy teniendo problemas para que quepa y tengo que recortar frases, palabras, etc. hasta conseguir el último byte necesario, pero es cosa de días.  ;)  8)
última modificación: 28 Abril 2018, 22:11:51 por Zael





Deka Black

  • T-600
  • Mensajes: 8 703
A straight line may be the shortest distance between two points, but it is by no means the most interesting. - (Third Doctor in The Time Warrior)

Zael

  • T-600
  • Mensajes: 4 547
  • El Caloret
AHORRANDO MEMORIA EN BASIC ZX SPECTRUM


Dicen que los grandes genios de la ciencia hallan la solución a los grandes problemas en situaciones cotidianas como tender la ropa, ir en autobús, bajar unas escaleras... Yo no me considero un genio, pero lo cierto es que ayer estaba mirando los azulejos del baño mientras cagaba cuando se me ocurrió la solución a mis problemas de espacio para Vindius...




Como ya os dije, el principal problema de memoria son los 7Kb que ocupan las fuentes especiales para el Vindius. Así que pensé... ¿y si edito el cuadro de caracteres eliminando aquellos que no voy a usar en el juego (símbolos como "[" "&" "\" "w" y otros)?



No me negaréis que se parece a los azulejos de un baño...


Pero como digo... no soy un genio. Fui borrando los 5 últimos ("~", "@", etc) pero al pasar a otros caractéres que están intercalados en medio de la tabla comprobé con horror que "arrastraba" al resto de caracteres. Es decir, si borro por ejemplo la "M" o la "P", me arrastra todos los caracteres esas posiciones y por tanto al escribir es un caos.

Por lo visto, los caracteres van alojados en la memoria y no pueden quedar "huecos en blanco" en la memoria, por así decir.

Por tanto me limito a borrar los 5 últimos (hasta la "z" que ya es necesaria) y el resto le hago un "Clear", es decir, borro el gráfico del caracter dejándolo en blanco, aunque sigue ocupando bastante memoria.

Al final ahorro unos 400bytes... menos da una piedra.










Otro ejemplo de mi "genialidad" vino dado con las variables. Como digo, en anteriores juegos de Ancient Bits ya había usado el viejo truco de las variables. Es decir, coger aquellas frases o palabras largas que se repiten a través del código y asignarles un valor. Por ejemplo...


Código: [Seleccionar]
LET A$="\{i1}    PULSA ""V"" PARA CONTINUAR\{i0}":
LET B$="\{i1}  ELIGE OPCI\`N Y PULSA ""ENTER""\{i0}":
LET E$="El rastro  del fugitivo  llevo aVindius, Quinto, Milciades y  elgrupo  de romanos":
LET F$="Vindius ":
LET G$="Milciades ":
LET H$="        ":
LET I$="los romanos":
LET J$=" la Loba Negra":
LET K$=" del fugitivo":
LET L$=" guerreros "


Si os fijáis, algunas palabras llevan incluido el espacio que va detrás o delante, para ahorrar así 1 byte más en cada repetición. Por ejempo "Vindius " (con espacio detrás) se repite más veces que "Vindius" a secas, por lo que nos da 1 byte más.

Esto no es válido para palabras de más de 6 caracteres ya que al cambiar esas palabras dentro de las frases del juego hay que escribirlas así ";F$;" ó ";K$;", que ocupan 6 bytes, por eso hay que elegir palabras o frases largas y que se repitan mucho, como por ejemplo "Recuerdos de Constantinopla", la frase más repetida del juego (tranquilo Deka, es coña  ;) )

Pero como digo, en anteriores juegos de Ancient Bits usaba las fuentes predeterminadas, por lo que siempre me sobraban 5 ó 6 Kb y no pasaba nada. Pero ojo, aquí que me muevo en excedentes de 50 ó 60 bytes, al ir a cargar el juego me sale el error "There is not engough memory for what are you trying to do"... ¡¡y es que las variables ocupan 2 veces su espacio, una lo que ocupa al escribirlo en el código y otra para almacenarlo en memoria!! ¡Tocaté los cojones, ya tenía el juego acabado y me ha tocado borrar y cambiar variables!



Simulación por ordenador del autor al ver en manos de quién ha dejado la conversión de su libro...










Por último, y ahora sí, un último detalle de genialidad. Como todos sabéis, los grandes programadores de BASIC numeramos las líneas de 10 en 10, por si se nos ha olvidado meter algo, o es necesario introducir algo entre líneas más avanzado el programa.

En programas poco optimizados como los que hacemos en Ancient Bits no es de extrañar que las líneas superen la centena (numeradas quedan como 1000 o más).

Peeeero, si cuando ya está terminado el programa usas la herramienta de BASin Renumber Program y la pones para que renumere las líneas de 1 en 1 eso hace que las líneas ocupen menos de 100 y por tanto nos ahorramos unos 100bytes en números de línea.



¿Soy un genio o no soy un genio?







¿Y vosotros? ¿Podéis ayudar a este pobre genio subnormal a ahorrar unos cuantos bytes más? Vamos, por favor, que tengo hasta mi Saloncito Recreativo abandonado por esto. ¡Que la Anjana os lo pague majos!  ;)
última modificación: 28 Abril 2018, 22:12:38 por Zael





Deka Black

  • T-600
  • Mensajes: 8 703
A straight line may be the shortest distance between two points, but it is by no means the most interesting. - (Third Doctor in The Time Warrior)

beaches

  • T-600
  • Mensajes: 2 565
Ya me gustaría ayudar, pero me parece muy interesante eso de ahorrar memoria cueste lo que cueste. Venga que ya queda poco.

Future

  • T-500
  • Mensajes: 1 174
  • superviviente marciano
    • futublock
buf, que coñazo es programar para Zx...

Consejos; intenta meter mucho texto en un grafico, creo que eso debería ahorrar tela, aunque los graficos de spectrum son textos...
Si has hecho un ''elige tu propia aventura'' cortale tela el guión, un tajo de los que sangre y luego los demas lloremos al ver como quedó pero con un ''demo'' al final como que has hecho los deberes, no se si me comprendes, que hagas una demo de un juego y no un juego, asi tiene justificación de lo corto que es o de lo mal hecho, a mi me funcionó con mi ''Ranita by Futublock'' (pendiente la Url de descarga) Me llevé un segundo de la wel de Gamemaster


Zael

  • T-600
  • Mensajes: 4 547
  • El Caloret
buf, que coñazo es programar para Zx...

Consejos; intenta meter mucho texto en un grafico, creo que eso debería ahorrar tela, aunque los graficos de spectrum son textos...
Si has hecho un ''elige tu propia aventura'' cortale tela el guión, un tajo de los que sangre y luego los demas lloremos al ver como quedó pero con un ''demo'' al final como que has hecho los deberes, no se si me comprendes, que hagas una demo de un juego y no un juego, asi tiene justificación de lo corto que es o de lo mal hecho, a mi me funcionó con mi ''Ranita by Futublock'' (pendiente la Url de descarga) Me llevé un segundo de la wel de Gamemaster


Gracias Future pero no al final no va a ser necesario recortar más porque...





¡¡Lo he hecho!! ¡Lo he conseguido! ¡He metido el programa entero con las fuentes y 3 melodías! ¿Os cuento cómo?


Al ser un juego tipo Elige tu propia Aventura, en bastantes ocasiones se da la circunstancia de tener que elegir entre 3 (o más en algún caso) opciones en las que SÓLO 1 es la correcta.

La forma en que yo lo hacía hasta ahora era tal que así...


Código: [Seleccionar]
10 PRINT "Te enfrentas al monstruo. ¿Con qué vas a atacar?" "1) Con espada" ""2) Con hacha" "3) Patada en los huevos"  "4) Con lanza"

20 INPUT A

30 IF A=1 THEN GO TO 550

40 IF A=2 THEN GO TO 550

50 IF A=3 THEN GO TO 70

60 IF A=4 THEN GO TO 550

70 PRINT "Tu patada en los huevos deja al monstruo KO... ¡Ehnorabuena!

550 PRINT "El monstruo detiene tu ataque y te mata"


Como veis, ahí sólo la opción 3 lleva al éxito, las demás llevan a la muerte. Pues repasando el Manual de BASIC del ZX Spectrum, encontré que había otra manera de hacerlo con mucho menos código...




Código: [Seleccionar]
10 PRINT "Te enfrentas al monstruo. ¿Con qué vas a atacar?" "1) Con espada" ""2) Con hacha" "3) Patada en los huevos"  "4) Con lanza"

20 INPUT A

30 IF A=3 THEN GO TO 70

40 IF A<>3 THEN GO TO 550

70 PRINT "Tu patada en los huevos deja al monstruo KO... ¡Ehnorabuena!

550 PRINT "El monstruo detiene tu ataque y te mata"


Es decir, en vez de dedicar una línea a cada opción, le digo que si A=3 vaya a la 70 y que CUALQUIER OTRA OPCIÓN DIFERENTE A 3 te lleve a la 550. Así nos ahorramos un montón de líneas de código y he conseguido los bytes suficientes...


última modificación: 03 Enero 2018, 20:05:18 por Zael





araubi

  • Visitante
Yo soy de BASIC MSX... ¿En Spectrum no existe el ELSE en los IF?

Es decir, sería algo así como

IF A=3 GOTO 70 ELSE GOTO 550

Vamos, que si A es 3 ve a 70, en otro caso ve a 550. Sería otra línea menos.

Lo único es que con tu ejemplo si pulsas, por ejemplo, 5, aunque la opción no existe te llevaría también a 550.

Ivanzx

  • T-7T
  • Mensajes: 475
    • El rincon del Spectrum
Cómo mola ver que te has reenganchado al BASIC del Spectrum, Zael! Y que has aprendido nuevos trucos ;)

Por cierto, tengo una pregunta: Os importaría si extiendo el plazo de entrega 11 días, hasta el 31 de Enero?

Deka Black

  • T-600
  • Mensajes: 8 703
Zael, te quiero en mi equipo cuando los alternianos nos invadan
A straight line may be the shortest distance between two points, but it is by no means the most interesting. - (Third Doctor in The Time Warrior)

Zael

  • T-600
  • Mensajes: 4 547
  • El Caloret
Cómo mola ver que te has reenganchado al BASIC del Spectrum, Zael! Y que has aprendido nuevos trucos ;)

Por cierto, tengo una pregunta: Os importaría si extiendo el plazo de entrega 11 días, hasta el 31 de Enero?



¡¡¿Quéee?!! ¡¡¿Cóooomo?!! ¡¿Alargar el plazo de entrega?!...




¡¡Ven aquí que te abrace IvanZX!! Justo iba a escribirte esta semana para decirte que por falta de tiempo tan sólo iba a poder sacar el Vindius The Videogame - Cervantes' Edition, pero con este plazo es un honor para mi anunciar oficialmente que también tendremos...




Como digo, sé que la ZXDEV es una compo internacional y hay muchos concursantes y seguidores a nivel internacional y me apesadumbraba no poder tener listo a tiempo la Shakespeare's Edition. La traducción en sí no es el problema, el problema es que ocupe las mismas líneas y el mismo espacio, tener que buscar sinónimos, sintentizar frases en un idioma que no es el habitual... ¡¡Genial ese retraso IvanZX!!  ;)  ;D














Yo soy de BASIC MSX... ¿En Spectrum no existe el ELSE en los IF?

Es decir, sería algo así como

IF A=3 GOTO 70 ELSE GOTO 550

Vamos, que si A es 3 ve a 70, en otro caso ve a 550. Sería otra línea menos.

Lo único es que con tu ejemplo si pulsas, por ejemplo, 5, aunque la opción no existe te llevaría también a 550.




Vaya por Dios Araubi... pues lo he comprobado y el BASIC del ZX Spectrum no incluye el comando ELSE...  :'(




Una pena porque al final me he puesto a poner colores a los títulos de los créditos y... ¡¡sólo con eso ya me faltan otra vez unos cuantos bytes!! ¡Se agradece la intención Araubi! Ahora mismo no tengo nada suelto pero toma, puede que esto te sea útil...





¡Coño que esa no era, perdona! Un momento... Ahora sí...





¡Vamos que aún puedes remontar y el "Cachondo's Trophy" puede ser tuyo! Eso o ... ¡arrebatarme el record al Donkey Kong, lo que prefieras pero vamos!


P.D.: La verdad es que el BASIC de todos los ordenadores de 8 bits es bastante parecido, por lo que portar un juego de estos a una plataforma u otra no debería ser un problema salvo con el tema de los gráficos... Si te animas a programar algún juego de este tipo para MSX ya sabes que yo me apunto a un bombardeo...  :rolleyes:















Zael, te quiero en mi equipo cuando los alternianos nos invadan


¿Equipo? ¿Alternianos? Yo sólo reconozco un único Equipo y su nombre es "Sodomitas Arcadianos"...




¿Cómo dices hijo? ¿Qué tú también quieres una invitación para el Salón Recreativo? ¡Joer, si al final se me van a acabar y todo!  ;D Aquí tienes, no nos vendría mal un escritor para compensar un poco el retraso que llevamos...  :rolleyes:


última modificación: 28 Abril 2018, 22:14:33 por Zael