How about a good size-coding compo revival...
category: code [glöplog]
maybe "most compressable shader code" compo? :)
A couple of years ago, I was designing a stack-oriented virtual machine where the main design principles would be an extreme code density and a zero overhead in program length. The initial plan was to introduce the machine at the esoteric programming language competition of Alternative Party 2007, but I didn't manage to finish it in time, so I kind of forgot it.
If people are interested, I'd like to revive this project.
A quick summary of some features:
A dual-stack machine superficially similar to Forth.
Instruction lengths are counted in bits instead of bytes. The final lengths will be chosen by statistical means based on a "corpus" consisting of implementations of classical demo effects.
Almost any combination of bits, when run as a program, produces some kind of visual output. The shortest program that produces visual output is zero bits long.
The simplest programs can be thought of as subroutines conceptually similar to pixel-shader programs. These are run by the VM in an endless time:y:x loop.
Sound output and data input (i.e. keyboard interaction) will also be supported.
If people are interested, I'd like to revive this project.
A quick summary of some features:
A dual-stack machine superficially similar to Forth.
Instruction lengths are counted in bits instead of bytes. The final lengths will be chosen by statistical means based on a "corpus" consisting of implementations of classical demo effects.
Almost any combination of bits, when run as a program, produces some kind of visual output. The shortest program that produces visual output is zero bits long.
The simplest programs can be thought of as subroutines conceptually similar to pixel-shader programs. These are run by the VM in an endless time:y:x loop.
Sound output and data input (i.e. keyboard interaction) will also be supported.
And yes, I was also planning a 128-bit demo competition that would be held after releasing a working VM that implements the final version of the binary instruction set.
Quote:
The shortest program that produces visual output is zero bits long.
Damn. Beats my virtual machine. Setting bit 1 produces visual output of FR-08. Setting bit 2 produces visual output of FR-019 etc :)
Sounds interesting. And the instructions will be compressed using a Huffman code?
I has six toes!!
Adok: What the ...!?
Decipher > he just pretends to be smart by inserting random technical buzz here and there, no worry nobody's fouled :p
Adok: something like Huffman will be used to determine the instruction lengths, but that'll be a static mapping. The overall complexity of the machine will be relatively low, so you won't get any dynamic compression libraries, 3D engines, raytracers or the like integrated into the system :)
I'll put some detailed info on-line at some later point of time.
I'll put some detailed info on-line at some later point of time.
well there isnt anything so special about making VMs, even I did one... what the ***..
my 2pworth.
BP size coding compo (4k) was awesome. Each of the top three entries had someone involved who works on compressors. At least two of them used non-public obfuscators and or compressors - ie its not off the shelf size coding. Those compressors have taken years to develop. Two incredible 4k synths and an unbelieveable 1k synth. All three involved assembler coding where suitable/necessary - I assume good quality given the people coding and in the case of mentors 1k, 100% assembler I guess. All three had top class shaders: you cant compete today without great shader coding skills.
It all means its not just a graphics coding battle but a true intro coding one with synth, compressor, asm and shader skills all on show. You really miss the point if you think size coding is all about assembler or if you think its all about using dlls and hidden data: the two main complaints about modern size coding.
Really this was the great intro coding competition, and could be the best intro coding competition the scene has ever had.
BP size coding compo (4k) was awesome. Each of the top three entries had someone involved who works on compressors. At least two of them used non-public obfuscators and or compressors - ie its not off the shelf size coding. Those compressors have taken years to develop. Two incredible 4k synths and an unbelieveable 1k synth. All three involved assembler coding where suitable/necessary - I assume good quality given the people coding and in the case of mentors 1k, 100% assembler I guess. All three had top class shaders: you cant compete today without great shader coding skills.
It all means its not just a graphics coding battle but a true intro coding one with synth, compressor, asm and shader skills all on show. You really miss the point if you think size coding is all about assembler or if you think its all about using dlls and hidden data: the two main complaints about modern size coding.
Really this was the great intro coding competition, and could be the best intro coding competition the scene has ever had.
In the future, all parties worth speaking of will replace the traditional 4k + 64k compos with 1k + 16k compos.
Quote:
How about a good sized coding compo revival
Indeed, I loved the demoscene when it was about coding.
Quote:
How about a good-sized coding-compo revival
There, in case you did not get it the first time.
Quote:
I mean, come on: Nowadays the youngsters write 4K in C++. We gotta show them how we did it back then.
Open your eyes. Please.
And full ACK to what auld said.
don't see the 4k replacement happening just yet, but replacing 64k with 16k is something we've been thinking about for bp, yes.
ryg: I really like the idea of a 16k competition. But 64k is not dead - just wait.
i don't really give a damn, i'll put the dagger in its back myself if i need to :)
Go make a demo about it.
no. make a intro instead
yes. go make a 16k about it
demo yes, intro no, i'm through with size optimization.
aaaaw :/
i think any compo with a sizelimit from 1 - 512 kb is interesting. different size-limits offer different possibilities - and just pushing the good old "classic" size-compos is getting boring imho, especially 64k.
(i wonder what the outcome of a 128k competition would be.)
(i wonder what the outcome of a 128k competition would be.)
64k became boring because it's hard work to reach the best.