GMLscripts.com

Discuss and collaborate on GML scripts
Invert

You are not logged in.

#1 Re: GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-10-30 13:35:00

alright then
i'm looking forward to seeing your implementation

#2 Re: GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-10-19 07:15:49

haha biggrin
no problem wink
how about we make this challenge permanent?
like whenever people want they can send something and i'll make up a scoreboard or something and you can update your entry anytime you want?

#3 Re: GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-10-16 14:24:47

since the end of round 1 is near i thought i'd post my 'solution' already.
has anyone else finished yet or did we all forget about the challenge? xD


So here it is: Compression
it uses these techniques:

it's slow and it still has some flaws in it but i haven't really had the time to finish it.
ask questions, give comments, ...do whatever you like wink

#4 Re: GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-09-23 10:25:13

I was hoping that this wouldn't happen.

Well you can still post the GM8 and an executable so people can see how you did it, and I can test it with the executable (use get_open_filename then so I can use the files I have for the judging)

Problem solved?!

#5 Re: GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-09-23 08:29:07

jalb wrote:

By the way, is all judging going to be done in one version of GM?  I'd suspect so since GM8 is faster than GM7 (by my tests), so GM8 makes sense.

I only have a registered copy of GM7 so judging will be done with GM7.
But since every file will be converted to a gmk of GM7, it wouldn't be unfair.

jalb wrote:

Also, what exactly would be "good" compression time?  For a 4MB file, GM took about 18 seconds just to read it byte for byte with the file_bin functions... (will I get disqualified if I turn in a DLL instead? tongue)

I know GM is slow with big files, long strings and big data structures, so I will not test with files that are beyond GM's capabilities.
I have a couple of files from the Caligary Corpus that I will probably use. The biggest file would be 768.771 bytes if I use those.
That should be doable AND it should give a good indication of how good your compression ratio and speed is.

You could split the data into chunks and perform your compression on every chunk.
This would lead to a worse compression ratio but it speeds things up.

BTW, my solution can't even compress a 50kB file, it's just too slow. So I try to solve that by splitting the string up, sacrificing compression ratio for speed.

#6 Re: GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-09-21 18:16:32

It should not be able to compress/decompress every file it is offered.
If you choose to create something that can only compress plain text then that's ok, but it will affect your score of course.

Well, my intension was that everyone could check out your file, learn from it, tell you what they would change, etc.
but if you don't want to publish the source, you can send it to me privately and post an executable here so others can see how you did.

#7 GML Creations » CHALLENGE: Lossless Data Compression / Decompression » 2010-09-21 16:54:27

kalzme
Replies: 19

The goal would be to create 1 or more scripts in Game Maker capable of compressing data and afterwards being able te decompress it to the exact same data, meaning you will have to create a lossless compression algorithm. You will also have to keep in mind that speed is an important factor so the key to winning this challenge is finding a good balance between speed and compression ratio.

I will split this challenge into 2 rounds because I want the participants to be able to learn from each other while they can still change their solution. People that want to participate have to let me know by replying BEFORE the 27th of September because that's when ROUND 1 starts.

For ROUND 1 you will get 3 weeks (27 Sept - 18 Oct) but you can send your solution whenever you are ready.

After solutions have been sent I want the participants to discuss the solutions (how can the solutions be improved, why is a certain solution slow, etc.) This should be an interesting way for the participants to get new ideas and to learn from the others.

I WILL judge the solutions of ROUND 1(based on speed of compression, speed of decompression, compression rate and reliability)
BUT I WILL NOT show you your scores yet.

After ROUND 1 has ended (18 Oct), ROUND 2 will start IMMEDIATELY and you will get 1 week (18 Oct - 25 Oct) to improve your solution.

After that I will judge your second version and then I will anounce your total scores (ROUND 1: 40% | ROUND 2: 60%)

NOTE:
Be sure that your compression doesn't only compress good when it comes to plain text, because it will also be tested on files that don't contain plain text.

I wish you all the best of luck!

IF YOU FIND IT HARD/IMPOSSIBLE TO CREATE THIS WITHIN THIS TIMESPAN, PLEASE LET ME KNOW, I CAN STILL CHANGE THE STARTING/ENDING DATES.

Spoiler

I will not participate myself but I have already created a solution (even though it's not optimal yet).
I will probably post it after ROUND 1 so my solution can also be used/discussed/...

Board footer

Powered by FluxBB