| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Compotime: Show me your (vector)balls
After several comments arised that such an amiga-ball can be filled faster, i now want to call out a filler-compo for our coders.
Requirements:
The vector must be rendered in hires, background is white, foreground is dark red.
There's a raster-irq running that splits the screen at $2d and $f2 to set the background and border color to white and black, as seen in the screenshot. Means, there is a charline free in the bottom, that is where the benchmark results are displayed with the system charset. Displaying the result with screencodes is enough for us coders, but hex or decimal values are okay too.
The animation will be precalculated to see the power of your filler only. Therefore a data.bin is provided that contains all animationsteps for all faces with culling etc. already done.
The data structure may be altered to your needs, but not the animation itself, obvious isn't it?
The structure of data.bin is as follows:
byte x1 | $80
byte y1
byte x2
byte y2
byte x3
byte y3
byte x4 (optional, depending on if we have a triangle or quad)
byte y4 (optional, depending on if we have a triangle or quad)
As you can see faces can have 3 or 4 vertices, the first vertice is marked with bit 7 set, to be able to determine if a face consists of 3 or 4 vertices and to have a break out point for a finished frame, which is marked with the value $ff. If there's further questions about the data-format, don't hesitate to contact Bitbreaker
The filling must happen fullframe and fullsize, means, no interlacing or other cheap tricks with reducing resolution.
A counter for benchmarking must be implemented to count the frames until 256 frames have been displayed, it must be made visible in the bottom line.
The lowest value achieved counts (as there might be some jitter), for that, each entry must run in an endless loop.
The whole mem can be used, but every free byte of mem gives extra kudos.
Deadline is June 25th 0:00.
If the deadline is extended, a severe drama is expected, if not, you are out. Also i'll participate with an own entry, make a drama about it! :-)
Entries must be handed in to Bitbreaker and must not be released beforehand. They all will then released after the deadline, for maximum thrill and drama :-)
Each entry must be executeable with run.
SO DO YOU HAVE THE BALLS? |
|
... 166 posts hidden. Click here to view all posts.... |
| |
Mixer
Registered: Apr 2008 Posts: 455 |
My version is round faced and runs on PC! I might join in, but I'll cheat! naah, no time.
I've been thinking whether this could be done by rearranging and organizing the animation coordinates by drawing each red face on sprites with somewhat hardcoded sprite filler and then just multiplexing sorted sprites on screen. Perhaps one could even shrink all the continuous vertical edges and expand them with sprite stretcher, however stretching eat precious cycles. Similar approach might work with chars, but I guess the overhead makes it pointless. |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: :D
Well, i wasted a whole day on implementing the hard-liner.. and all i got was ~16 frames or so on 256 animation steps :(. Overhead ate my hardliner.. :P. Ok, now at least i have done it, perhaps i can reduce some shit somewhere.. But no matter what, i'm still generations behind Cruzer..
dont get it, drawing 256 phases in 16 frames is like 20 rasterlines to draw one phase? :) |
| |
HCL
Registered: Feb 2003 Posts: 728 |
@Oswald: No, i *gained* some 16 frames. Calm down boy ;).
@Mixer: I think the sprite-shit will be hard to get working.. The faces are just a tad bit bigger than one sprite. That also rules out the popular sprite-filler (by updating sprite x-pos each rasterline), since it would require masking the right edge with a white sprite, and there are possibly more than 4 red ares on one rasterline.. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Well, I finally got something working last night, albeit running in around 2.8 frames. Got it down to 2.6 today and sent off a draft to @Bitbreaker.
Now to try to improve it further :D |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
2.5 is suprisingly good, considering that about a 3/4 frame alone is the filling :) |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
So guys, i see you have been struggling hard and there's already two drafts in my inbox, while i was laying at the beach and enjoying my holidays :-) |
| |
Skate
Registered: Jul 2003 Posts: 495 |
I was hoping to find some time to join this compo. but there is just 4 days to go and i couldn't even start yet. :/ |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: So guys, i see you have been struggling hard and there's already two drafts in my inbox, while i was laying at the beach and enjoying my holidays :-)
you had a release version before the compo even started, so what? |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Quote: you had a release version before the compo even started, so what?
right, but a slow one though that i improved since the compo started. I'd say everyone has some filler-routines ready to adopt to that compo. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Ideas yes, code no. I started from scratch when the compo was announced with no more code than a raster IRQ initialiser and a few lines of Python that dump arrays out to .a65 sources or .prgs |
Previous - 1 | ... | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ... | 18 - Next |