pouët.net

Checkerboard Challenge

category: code [glöplog]
At Revision 2017, we were blessed with the SEGA Mega Drive demo Overdrive 2 by Titan, which among other things contains a very nice checkerboard effect with (as far as I can tell) 8 zooming layers.

It occurred to me that this ought to have been a classic record-beating effect on the Amiga - who can make one with the most simultaneously visible layers?

But this doesn't seem to be the case. The best one I could find is in the relatively recent 15 Years of Fame by Up Rough. It has 4 layers, but is not fullscreen. Cyberlogik by Alcatraz and TRSI contains a nice, 3-layer one, but this is an AGA demo. Groovy! by Lemon. has a 2-layer, rotated one.

With the Amiga's 6 bitplanes, you would think that at least 6 layers should be achievable, right?

I discussed the situation with Britelite, and we agreed that this needs to be rectified. Hence this challenge. The rules are:

- Minimum resolution 320 x 256.
- 50 fps on Amiga 500 with 512k chip ram and 512k slow ram.
- Single file, i.e. no streaming of data from disk.
- Layers move independently of each other in both X and Y.
- Layers move fully in Z (zoom), but not necessarily independently.
- Layers are able to have colors that are all different.

The challenge showdown is set to take place at Gerp 2018. You are of course welcome to meet the challenge by releasing a checkerboard zoomer later on, but if you want your release to have the full novelty factor and be part of the main showdown, Gerp is the place.
added on the 2017-10-22 18:13:27 by Blueberry Blueberry
"Layers are able to have colors that are all different", but not necessarily? So all white screen? :)
added on the 2017-10-22 18:31:28 by Gargaj Gargaj
I did struggle a bit with that formulation and apparently didn't quite nail it. :)

By "able to" I mean "provable able to" meaning that that capability (of the implementation) is demonstrated at least a substantial part of the time the effect is shown. But I did not want to stipulate that they always have different colors, as that would constrain the design space too much.
added on the 2017-10-22 19:23:42 by Blueberry Blueberry
Cool challenge, although after a number I'd have a hard time to count them (too far from screen, too noisy, I didn't even notice Overdrive 2 had 8).

Knowing nothing about the Amiga, besides it has bitplanes and a powerful blitter, I'd also think it shouldn't be too hard to do this effect justice.
added on the 2017-10-22 19:48:16 by Optimus Optimus
Nice challenge. I already have an idea on how to get about 8-10 layers (depending on how final timing works out), so it might be worth a try. :)
added on the 2017-10-23 09:02:37 by KK KK
I don't even know how this effect is done, so I guess this is a good place to ask for a proper explanation of how the traditional implementations work. Because it's amiga I'm guessing bitplane fuckery and usage of the chipset features?
added on the 2017-10-23 09:25:36 by visy visy
(x xor y ) and 8
(:
added on the 2017-10-23 10:36:33 by g0blinish g0blinish
@visy: The simplest 5-layer approach would be to prepare scanlines for every zoom level and very 0..15 shift.
100 zoom levels x 16 shifts x 80 bytes (double lenght for shifts) = under 128kB, so it's definitely doable.
Then set bitplane modulos to -40 (so every bitplane repeats a single scanline) and generate copperlist to update bitmap pointers (with minimal effort you can get away with upodating only lower word of them) on scanlines where horizontal checkerboard edges fall.
You can prepare 32-entry palette so every layer covers all layers below, but you can also make every layer semi-transparent for free for even fancier effect. :)
But this approach won't go beyond 5 layers due to gfx mode limitations.
added on the 2017-10-23 11:39:32 by KK KK
Shouldn't there be a rule that the layers should be visible simultaneously? (So that it doesn't become a challenge of finding the right movement patterns for X amount of layers that allow you to get away with drawing only X-1 (or 2,3,4,etc) layers on each individual frame)
added on the 2017-10-23 12:14:46 by havoc havoc
That's already there in the overall description of what the challenge is about (second paragraph):
Quote:
make one with the most simultaneously visible layers
added on the 2017-10-23 12:45:16 by Blueberry Blueberry
Ah yes, I missed that, sorry
added on the 2017-10-23 12:51:38 by havoc havoc
Nice compo, I totally approve ;)

Overdrive 2 does indeed use 8 totally independent layers, plus solid background (since normally background and border have the same colour on Mega Drive but I wanted to have black borders together with a background having the colour of the next plane to appear there).
added on the 2017-10-23 14:30:44 by Kabuto Kabuto
Quote:

With the Amiga's 6 bitplanes, you would think that at least 6 layers should be achievable, right?


6 bitplanes without EHB?
Quote:
6 bitplanes without EHB?

Follow the hint. ;)
added on the 2017-10-23 15:37:36 by Blueberry Blueberry
I recall some pretty fine chessboard/checkerboard-effects on the C64.
added on the 2017-10-23 18:50:10 by w00t! w00t!
This is such a cool idea. I wish i was an amiga coder!
added on the 2017-10-23 21:37:11 by reptile reptile
Leffman on EAB did one a while back. Have you checked it? It's realtime.

Might be more interesting with a 32K limit.

Number of colors is a problem, as Gargaj was the first to mention. The demo should simply demonstrate the claim made.
added on the 2017-10-23 22:34:01 by Photon Photon
Quote:
Leffman on EAB did one a while back. Have you checked it? It's realtime.

No, I haven't seen that one. Where can I find it?

Quote:
Might be more interesting with a 32K limit.

How's that? I don't see what the extra space can be used for that can't just be generated anyway. But I would be pleased to be surprised in this regard, hence the big size limit. :)

Quote:
Number of colors is a problem, as Gargaj was the first to mention. The demo should simply demonstrate the claim made.

How do you think the rules about colors should be?
added on the 2017-10-23 23:02:17 by Blueberry Blueberry
Simple: The number of layers that count towards the final score is the total number of distinctly solid colored checkerboards on screen. Two layers with the same color count as one point only. Background doesn't count.
added on the 2017-10-24 01:39:24 by Gargaj Gargaj
@Blueberry: I have trouble finding any technical details on 6 bitplane scroller usd in Interference. If you have any, I'd be delighted to read that before having to resort to debugger & disasm. :)
added on the 2017-10-24 09:55:21 by KK KK
@Gargaj: Makes sense. So basically change the overall goal to "the most simultaneously visible, distinctly colored layers" and drop the rule about color from the list.

@KK: I only have what is written in the end text of the demo. ;)
added on the 2017-10-24 13:06:48 by Blueberry Blueberry
as the number of layers increases you have a very high chance that one single frame may not show all the layers involved.
So for example an 6 layer version might have a frame with only 5 visible layers once in a while. How will you even judge that?
added on the 2017-10-26 22:44:00 by the_Ye-Ti the_Ye-Ti
Quote:
How will you even judge that?

We will go through every single frame from the effect and make sure all layers are visible (as in, at least 10 pixels of a particular layer is shown), and if even one of the frames doesn't match this criteria the entry will be disqualified and not allowed to enter the compo.
added on the 2017-10-27 07:39:32 by britelite britelite
Quote:
and if even one of the frames doesn't match this criteria the entry will be disqualified and not allowed to enter the compo


So if i make a fade out, where one layer disapear because the color is to dark to show (=black). it will not make the cut.

:-D
added on the 2017-10-27 10:01:48 by SCA SCA
Quote:
So if i make a fade out, where one layer disapear because the color is to dark to show (=black). it will not make the cut.


If there's one thing I've learnt in my long demoscene career it's to *always take Britelite seriously!*

login