Rutina compresora

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
climacus
Sabreman
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Rutina compresora

Mensaje por climacus » Mar May 26, 2015 1:34 pm

Buenas.

Estoy haciendo un jueguecillo en el que el mapa es muy grande. En concreto de unos 10 kb.

Utilizo Exozip para meter distintos mundos comprimidos y me funciona de maravilla. Me los deja en unos 1500 bytes.
Lo que pasa es que durante el juego el mapa de cada mundo cambia y me gustaría poder cambiar de mundos y volver a los anteriores tal y como estaban cuando me fui. Evidentemente, la rutina compresora de exozip no funciona en código máquina del spectrum, por lo que no puedo comprimir el mapa cuando me salgo de él para volver tal y como estaba cuando me fui.

He hecho una rutina compresora que me comprime más o menos en el doble de bytes que Exozip, lo que es bastante si quiero saltar entre 4 o cinco mundos. Tengo unos 6kb para meter mundos comprimidos.

Alguien conoce alguna rutina compresora para el spectrum que tenga un ratio de compresión aceptable?
A poco será mejor que la que he hecho yo.

Gracias y un saludo.
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php

zup
Freddy Hardest
Mensajes: 666
Registrado: Vie Ago 15, 2008 2:43 pm

Re: Rutina compresora

Mensaje por zup » Mar May 26, 2015 6:19 pm

¿Cambia mucho? ¿Qué tal si almacenas solo los cambios?
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start...

Avatar de Usuario
climacus
Sabreman
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Rutina compresora

Mensaje por climacus » Mar May 26, 2015 6:41 pm

Pues el mapa al principio no cambia mucho, pero a medida que avanza el juego, mucho.
No es mala opción guardar sólo los cambios, pero me temo que después de jugar un rato va a haber demasiados...
Me conformaría con que me lo quedará en un diez por ciento, como Exozip.
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php

Avatar de Usuario
Metalbrain
Freddy Hardest
Mensajes: 592
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla
Contactar:

Re: Rutina compresora

Mensaje por Metalbrain » Mié May 27, 2015 12:03 pm

¿Exozip? ¿No será exomizer?

Yo te recomendaría que le echases un vistazo a esta implementación de LZ hecha por Battle Bunny. Seguramente comprima menos que exomizer, pero debería bastar:
http://www.users.globalnet.co.uk/~jg27p ... demo-0.zip

Hilo original de dicha rutina aquí:
http://www.worldofspectrum.org/forums/d ... ecoding/p1
SevenuP se escribe con u minúscula y P mayúscula.

Avatar de Usuario
climacus
Sabreman
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Rutina compresora

Mensaje por climacus » Mié May 27, 2015 1:41 pm

Metalbrain escribió:¿Exozip? ¿No será exomizer?

Yo te recomendaría que le echases un vistazo a esta implementación de LZ hecha por Battle Bunny. Seguramente comprima menos que exomizer, pero debería bastar:
http://www.users.globalnet.co.uk/~jg27p ... demo-0.zip

Hilo original de dicha rutina aquí:
http://www.worldofspectrum.org/forums/d ... ecoding/p1
Eso es, exomizer (me lie con los nombres)
Muchas gracias. Lo echaré in vistazo.
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php

Responder

¿Quién está conectado?

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