Subject: Re: [stella] Reflex: Online level editor From: "Eduardo Mello" <vgbelloq@xxxxxxxxxx> Date: Thu, 9 Sep 2004 11:19:39 -0300 |
Ah, finally someone who shares my passion for compression. :-)
When I did my exercise with Jammed I am afraid nobody understood exactly what I did. Maybe you can explain your algorithm better than I could.
Data compression (much like Stella programming) had always been a mystery to me, but seemed like something that would be fun to learn about. Curiosity finally got the best of me a few months ago. I read about the huffman algorithm and coded my own huffman tree builder here: http://www.ioyu.com/io/javascript/huffman.asp
The two links on that page, plus Googling "huffman compression" should be enough to get anyone up to speed. Also, feel free to view the source on my huffman page. The huffman tree is built and displayed using JavaScript on the client. I'm afraid the code is not well commented, but it may be helpful to someone.
The attached source code has a single compressed level (search for "levelData") and the decompression algorithm (search for "decompressLevel"). The decompression algorithm is probably one of the most well-commented chunks of code in Reflex.
Cool idea, though the playfield is a bit limited now. Do you plan allowing to extend it? That would cost some RAM and ROM space, but it would allow many more variations. I don't know about your free RAM, but with a good compressor, ROM shouldn't become a too big problem.
I considered extending it for the same reason, but after playing with editor with mirroring set to horizontal or none, I found I was able to create some nice, identifiable _stuff_... Atari characters, RobotBob SpongeChipPants (he put the brain in the robot... you know), faces, animals, Windows icons... lots of _stuff_. :)
I was thinking more about using the full playfield resolution instead of doubling the blocks, which I can easily do to the game engine, but the current decompression routine would only allow for 32 total 8-bit variations using the block layout table. Also, I would have to trim two blocks off either side, so the number of blocks across would be 16 vs. 20 (2x10)... but the playfield would be horizontally narrower. (Confusing, yes.)
Anyway, if you assemble the game, don't mind the funky paddles. I still need to get to those.
Have fun! Thomas
Thanks, -Lee
Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://stella.biglist.com --+---------------------------------------------------------------- You are subscribed as: vgbelloq@xxxxxxxxxx To unsubscribe, send email to: stella-unsub-78391@xxxxxxxxxxxxxxxxxx Or go to: http://stella.biglist.com/unsub/stella/vgbelloq@xxxxxxxxxx --+--
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
SPAM-LOW: Re: [stella] Reflex: Onl, Lee Fastenau | Thread | Re: [stella] Reflex: Online level e, Thomas Jentzsch |
Re: [stella] Missing messages, Russ Perry Jr | Date | Re: [stella] Missing messages, Thomas Jentzsch |
Month |