davidn: (rabbit)
[personal profile] davidn
  • Drew quite a lot of this stuff:

  • Wrote procedures to save a compressed level format - instead of saving every value, it does what CDs do and saves them as strings of identical tiles - this can cause massive savings on blank spaces, which are recorded not as 208,992 zeroes but as "[repeat tile 0 208,992 times]"

  • Realized that this method of loading was much slower - about four of five seconds a room, which wasn't crippling but was annoying

  • Worked on improving the loading procedure as well, so that it completely skipped over stretches of blank tiles, calculating where it should land in the level array rather than stepping through (240000*SaveZ( "SaveVars" )+600*SaveY( "SaveVars" )+SaveX( "SaveVars" ) + Gap, then translated back into coordinates)

  • Thanks to that, got even quite large rooms to load instantly!

  • Realized that one day's work of patching up all of the above later, I'm now exactly where I started the day, except with level files that take up 2-4KB instead of 2MB. This could have been quite important in 1997


Still, I like the cave texture.

Date: 2013-07-27 04:25 am (UTC)
premchaia_pre4: (akari)
From: [personal profile] premchaia_pre4
It could also be quite important if you release a version people on constrained networks might play with downloadable levels, mobile being the classic example.

Everything old is new again.

Append: wait, what CDs do? Surely not for Redbook audio—are you talking about some other encoding that I don't recall? The main uses of RLE I recall involve BMP and… ZZT, the latter of which sounds quite plausible for you.
Edited Date: 2013-07-27 04:27 am (UTC)

Date: 2013-07-27 01:49 pm (UTC)
premchaia_pre4: (akari)
From: [personal profile] premchaia_pre4
You mean a differential encoding except for the part where it's not due to lack of tea? Actually, albeit unrelatedly, non-single-bit delta encoding is used together with RLE in cases where linear runs are common and light decoding is needed: take the derivative of the original signal, and the linear runs become constant runs which you can conveniently RLE, and then integrate again on the receive side.

Edit: actually it's the opposite: the function from {zero, one} to {pit, land} is based on discretely integrating over GF(2), not differentiating, bah. TEA TIME.

And here my best hypothesis was that you'd meant to write “ZZT” and merely got the voiced/unvoiced consonants inverted in the verbal processing, thus turning the Z into a C and the T into a D!

Windows Bitmap format can use RLE but I think can also have raw data, so it presumably depends on the program that writes the file.
Edited Date: 2013-07-27 01:56 pm (UTC)

Date: 2013-07-27 03:11 pm (UTC)
From: [identity profile] rakarr.livejournal.com
I think having level files that are 2-4KB instead of 2MB is fantastically worthwhile. We might, by and large, have so much space and internet speed that 2mb doesn't seem like much, but 2kb is still a thousand times smaller, and any improvement in size and loading efficiency is absolutely worthwhile. If more game developers bothered with that we might not need 3TB hard drives and huge amounts of memory. So, bravo. I'll definitely be asking your advice on efficiency if I ever make a game.

And I like the cave texture too!

Date: 2013-07-27 10:39 pm (UTC)
From: [identity profile] crassadon.livejournal.com
It should be more purply

Expand Cut Tags

No cut tags

May 2020

S M T W T F S
     12
3456789
1011121314 15 16
171819 20 212223
24252627 28 2930
31      

Most Popular Tags

Style Credit

Page generated Dec. 30th, 2025 10:33 pm
Powered by Dreamwidth Studios