| |
That Thing I Hate About Myself [2023] |
AKA :
VIC Gray Dot Bug
Released At :
Pågadata 2023
Achievements :
C64 Demo Competition at Pågadata 2023 : #1
Credits :
SIDs used in this release :
Download :
Look for downloads on external sites:
Pokefinder.org
Production Info Submitted by trident on 1 December 2024
some tech notes about this demo:
* the vic version detection logic is from VIC-Check 2
* the fairlight logo that is done with splits uses the illegal slo opcode to place two gray pixels in adjacent positions, the shy,x opcode to place pixels with 5 cycles distance, and the inc/dec opcodes to end or start a gray line with a gray dot in the next pixel position.
* the 2023 stretcher originally said 2022 and later tweaked to say 2023. like the fairlight logo, it uses several illegal opcodes, but in this case there are a few places where there are missing pixels due to no matching opcode, but they are not overly visible due to the movement. the fade in / fade out was somewhat annoying to get right because some of the pixels are shared between two letters and were a little extra tricky to patch at runtime.
* the 2d starfield is inspired by the starfield in Risen from Oblivion but this one uses a combination of two adjacent dots in the x direction (implemented with a slo instruction) where the first dot gets a second dot immediately underneath it (implemented with a sta) so that the dots would be more visible
* in the 3d starfield, each star consists of two dots on top of each other, and only one star per two raster lines. the movement of the stars is precalculated.
* the zooming splits happened to look reasonably good even if they have a minimum resolution of 8 pixels in the x direction, probably because the y direction has no such restriction
* the burning heart is implemented using ecm mode and a fire routine: the four ecm colors are used for the fire routine, and underneath is a piece of code that repeatedly sets a black color into the four ecm color registers, resulting in gray dot pixels in the different ecm colors. the code sets different amount of pixels into the different ecm colors, in an increasing scale. the result is that different ecm colors have different intensities. the fire routine then plots out the ecm characters so that the characters closer to the heart have more gray dots than the ones farther away from the heart.
* the scroller in the final part uses the same single-pixel outline with the ghostbyte, which was previously used in Hues , but here it also uses a gray dot split to produce a gray border. the right split has to happen on top of the (expanded) border color just before sprite 0 is stealing cycles and the left split just after sprite 6 steals its cycle, leading to a slightly off-centered border. the split is implemented with the illegal sre opcode.
* the big raster color split in the final part is a mind trick and not a vic trick: after seeing so many gray dot splits in the demo, we are conditioned to think that every gray dot we see is made with the gray dot bug. so we see the the gray dot line and thinkg gray dot bug. but then the line starts to move in pixel perfect fashion - and we don't believe our eyes. this is of course made with a single-pixel gray sprite that moves with the colors and not with an actual vic gray dot bug. |
|
|
|
 | Search CSDb |
 |
|
 | Navigate |  |
|
 | Detailed Info |  |
|
 | Fun Stuff |  |
· Goofs · Hidden Parts · Trivia
|
|
 | Forum |  |
|
 | Info on other sites |  |
|
 | Support CSDb |  |
|
 |  |
|