pouët.net

4k Procedural Animation Category

category: offtopic [glöplog]
While we're at it, someone talked about the subject of a virtual machine.
The compo could indeed test coders skills on a minimalistic cpu. think of jvm or llvm, or something more abstract and minimal. Or not, or a simple classical Von Neuman or Harvard machine.

I'll throw in another idea: mips limitation, lets say, per frame.
I think iq talked about this subject in one of his papers quite some time ago.
Mips versus size.

Of course this is tricky. How do we define relative op weights? Native floats? Mem accesses? Choose to ignore cache?
But this could lead to very interesting things.
Maybe that way we could go down to a one-bit machine cost or something, maybe some kind of universal computation measurement.

Or the demo could be provided with its signature: number of float ops, int ops, mem accesses, conditional jumps. This would make them pass through years with the honour they deserve, isnt it? This is appealing.

Or, all demos in a compo could "run" on the same "hardware", and if the mips budget is exceeded, well, you lose one "vbl", or more. Heh heh.

Of course that would, well, be awfully slow compared to gpu magic, and demos have in part been about showing off the best possible graphics without any rules. But, there are still amiga demos watched in accurate emulators.

Also, demos have in part been about tickling the real hardware for the sake of it, and, hardware particularities are a huge part of that, and surch a universal mathematicalish virtual machine destroys this.
But, still.
If we got down to that one-bit machine, people would have to write their compiler, choose word length, etc, or you could code in binary, and compare results.
Designign the building blocks would be a bit like designing harware.
What about the output format then, rgb, etc.
Okay maybe this one bit thing is not possible, I didnt think about it thouroughly.
psenough: yeah, exactly, it would imply preview tools and such, wouldnt want to open that can of worms. but to each their own :)
added on the 2012-11-03 07:17:41 by psenough psenough
i meant that line for psonice obviously :)
added on the 2012-11-03 07:18:00 by psenough psenough
no sound?
added on the 2012-11-03 09:30:11 by musk musk
iq: Hah great, haven't experimented with video before, code seems quite easy, thanks :)
added on the 2012-11-03 10:11:15 by Optimus Optimus
One of a problems is instruction costs. A real cpu starts new instructions before the last one finished as long as there is no dependency. This makes long float instructions much faster. Also binary instructions probably take more time than it actually takes for the circuitry to do it because it finishes so fast it still has to wait the next clock cycle. Consider the case of a clockless cpu. Each some instructions take picoseconds to finish, others nanoseconds. And if the float instructions cost too much then they'll barely get used. If they don't cost enough then everything will be in float.
added on the 2012-11-03 10:14:11 by musk musk
Thanks iq :) much appreciated!
added on the 2012-11-03 11:17:12 by xTr1m xTr1m
Thanks iq! :)
[robotic voice] Alert. Thread is sunking.
:)
Well - as a party compo basically dead by construction - due to the horrible overhead for the organizers.
Maybe as some kind of online thing?

To the VM Idea - yeah let's hack pathtracers on turing machines. ;)
added on the 2012-11-05 23:59:44 by las las
Quote:
Well - as a party compo basically dead by construction - due to the horrible overhead for the organizers


I won't say it dead on arrival (yet). Let's just reconsider what's really the issue for the organizers: It's not the time for rendering the video. A prerendered video could be provided with the executable - so zero overhead for the organizers here. No different from the usual wild/animation compo.

I guess the issue is more "verification", meaning the organizers should verify that the provided executable really is capable of generating the content.

This could be easily achived with a mandatory cmdline switch which (instantly) generates a single frame. So the organizer just have to generate e.g. 10 randomly chosen frames and check them with the same frames from the video. This could be ofc done automatically (psnr/ssim thingy or so) and should be possible within the thight schedule of compo preparations.
So the video would need to be uncompressed and the entry visuals couldn't depend on previous frames (motion blur, biological simulations, etc)? Sign me up...
added on the 2012-11-06 13:17:38 by Preacher Preacher
Uncompressed video would be desirable anyway so it can be shown at full quality at the party.

I'm not sure on this 'generate random frames' thing though. That was my first thought for verification too, but if you're building something that evolves procedurally through the demo then to render a random frame you potentially have to render all previous frames.

It'd make more sense to simply render the first few frames to check and then go on trust, knowing it's unlikely somebody would code the first few seconds and fake the rest, and they'll be releasing the binary and people can run it later.

It's not like a regular 4k where nobody can actually run it outside of the box it was coded on after all :D

Another way is to quickly render out some frames at low quality / res. But that's not good either, because you might have an incredibly slow routine generating the basic data plus very fast rendering.

Perhaps the rules must just state that you have to provide a quick way of verifying it, then you can go with random frames or low quality output. Also consider the case where the demo does something mega complex + slow, but you can just tell the orgas "render 2 frames - the rest of the demo is the same".
added on the 2012-11-06 13:44:39 by psonice psonice
I am sure that the organizers would appreciate being handed 4k animation entries on DVDs if the video would be uncompressed.
added on the 2012-11-06 13:54:09 by Preacher Preacher
Yeah, and having to deal with some crazy setup with an SSD fast enough to stream 1080p60 uncompressed yet big enough to hold 20x 5 minute entires :D

Ok, so compression is probably needed. But 1080p60 would still be welcome, so would very high bitrate.
added on the 2012-11-06 14:48:33 by psonice psonice
1080p60 starts looking good at around 20mbits if you're doing 2-pass encoding, so that's doable.

Not too sure if this is a viable concept for a compo tho.
added on the 2012-11-06 14:53:19 by kb_ kb_
+1 for kb
added on the 2012-11-06 14:55:18 by ferris ferris
kb: what kind of issues do you foresee? (Apart from lack of entries, some visible sign of interest like a few entries ought to come first :)
added on the 2012-11-06 15:06:46 by psonice psonice
My 2 cents from an IRC chat (I'm probably way too late):

<paniq_> i think they're selling themselves under value
<paniq_> we have learned and sufficiently demonstrated that memory is not the only enemy
<paniq_> but execution time as well
<paniq_> what they want to do is eliminate the time constraint and purely work against the memory constraint
<paniq_> which is nice - you can get amazing "mathematical sculpting" work out of that that might also work for realtime
<paniq_> lots of development for graphical formulas to make procedural content
<paniq_> they probably won't share much but i hope they do, because otherwise they'd be assholes
<paniq_> the other extreme
<paniq_> which is measuring yourself against the time constraint only, allowed to use as much memory as your want, is not that interesting
<paniq_> in fact everybody does it and it's boring.
<paniq_> hey.
<paniq_> that is not what i originally wanted to say at all.
<paniq_> <paniq_> i think they're selling themselves under value
<paniq_> forget that one.
<paniq_> i think they have exactly figured out where we should go next.
<paniq_> everybody profits from the work that comes out of that.
<paniq_> especially me.
* paniq_ rubs hands and covers up an evil snicker
added on the 2012-11-06 16:52:59 by paniq paniq
psonice:
- it's placed in some weird spot between 4k exe graphics (only very few entries) and animation (mostly crap) and will probably be an oddity forever
- No or fairly shitty sound. It's bad enough with current 4Ks where visual and aural quality sometimes radically differ from each other, and it'll get worse when suddenly the graphics coder can go nuts with complex algorithms but the musician is still left with only the most basic stuff and no chance to do anything complex. Because, surprise, good audio takes memory and non-realtime doesn't solve this at all. Especially because as a musician work is effing tedious and shit if
you're being forced to work "offline". And no sound => no fun in the compo. Sorry, graphicians.

Putting all of these together: Do your non-realtime 4k, let someone make a good soundtrack as mp3, release it in the animation compo, add exe/mp3 to archive and make sure the audience gets it -> instant success. IMHO way better than fragmenting everything even more until we reach the point where party orgs only hold one big combined compo because of lack of entries in any category.


added on the 2012-11-06 17:10:52 by kb_ kb_
added on the 2012-11-06 17:15:35 by kb_ kb_
answering to psonice (2nd post):

1. i am not in, dont wanna wait for a demo to get rendered first all the time, doesnt feel right! (i can start blender, give it some 50 parameters and render it, watch the result and my only reaction is: "imma do it in realtime, less advanced, lesser effects, not em many ray-bounces etc, but atleast its realtime and not a stupid video!")

2. only big parties would be able to hold such a compo, good thing here is: i am just building/selling_beer/giving_infos, so its not my job to go_thru/prepare(for compo) such releases! :p

i´d like to see such prods for sure, but even the making of one would scare me away from any pc for the next years! ;) (having had to rewatch every 4k-intro about 200 times until release, due to small changes in late parts (yes, 4klang starts always from the beginning, so no scratching here, unless you alter the source-code and build your own .dll, which wasnt possible for a long time, but is now that gopher released the source-code!) was way more than i wanted to go thru already ;) )
Because dumping the audio to a raw file and then loading it back in with offset is so very, very hard :P
added on the 2012-11-06 17:48:23 by kb_ kb_

login