| |
Released At :
Fjälldata 2024
Achievements :
C64 Demo Competition at Fjälldata 2024 : #1
Credits :
SIDs used in this release :
Download :
Look for downloads on external sites:
Pokefinder.org
Production Info Submitted by trident on 3 December 2024
tech notes:
* the fade-to-black dither that follows the basic screen is an improved variant of the full-screen dither-to-black effect originally done in Hues and later in The Scroll of Antonius . unlike the previous ones, which use one dither intensity across the entire screen, this one does a fade from the top to bottom. it works by using sprites in the sideborders and the ghostbyte in the middle of the screen. both the sprites and the ghostbyte are updated every rasterline.
* the credits zoomer is a sprite zoomer underneath a ghostbyte dither pattern. the dither pattern goes blacker the larger the sprites are zoomed, making it look like the sprites dissolve as they zoom up. it is using an 1x1 ghostfont, which later in the demo is shown to be used unexpanded over the entire screen. it is used here to establish it as a normal font, and not a specially crafted ghostbyte font.
* the hires pictures of the ghost and the staff and the petroglyphs use hires with a sprite overlay. the sprite overlay was hand-coded.
* the moving ghost with the color changes uses the same color changing technique as Going 69 at 50 , but this one uses darker colors and is moving around on the screen.
* the fade-to-blue dither pattern after the ghost falls down is the same effect as was used earlier in the demo, but this time it fades from black to a color, and not the other way around.
* the combined fairlight / genesis project logos are done with sprites. the y movement of the sprites use a "transparent" area above and below the picture to cater for the maximum 21 pixel shift of the individual sprites as they move in the y direction.
* the fjälldata 2024 logo is implemented using ghostbyte shinethrough (see Orbit Untold for more technical details) so that it can move into the borders despite so evidently being unexpanded while covering the full width of the screen area. to make it clear that it isn't using sprite x coordinate shifting, there is a d017 stretcher in there too, to convince even the more ardent skeptic that there isn't enough rastertime per line to update the x coordinates of all the sprites.
* the quadrant dither fade is the most advanced version of the ghostbyte screen dither yet, and uses a ghostbyte split in the middle of the screen, and sprites in the sideborders. the sprites are placed in zero page so that they can be updated quickly enough to have different dither patterns in the left and right borders.
* the colored vertical dither bars uses 8 sprites with a dither pattern underneath a ghostbyte dither.
* the colored wave-like pattern uses a ghostbyte split combined with a d016 movement to achieve the full screen pixel wave
* the kneading hooks (degkrokar) are done with two stretched sprites where the x coordinates are changed in a helix pattern, and where one of the sprites are placed underneath the ghostbyte. the ghostbyte is displaying a dither pattern. also, the middle color of the kneading hooks have an alternating color pattern that changes a few times through the part. the second time around, the sprites are expanded in the x direction.
* the ghostbars are done with sprites and ghostbytes and by changing the background color every line. the effect originally appeared in Hues but here they are much more dynamic and is able to both change the color and the dither pattern, which they weren't able to do in Hues
* the raindrops in the village are implemented differently depending on where on the screen they are: the ones on the street are regular unexpanded sprites, whereas the ones in the lower border are expanded sprites with a ghostbyte shinethrough so they cover the entire width of the screen, despite appearing unexpanded. the drops are implemented by drawing into the sprites in the lower border. the moon that peeks into the upper border is a regular sprite.
* the sunrise is implemented with rastercolors underneath a layer of ghostbytes and border sprites, much like how the ghostbars are implemented. but here the pattern is moving.
* the dithered rastersplits are implemented with ghostbytes and bordersprites. but here, there isn't enough rastertime to expand the sprites vertically, so the bars are exactly 21 pixels (i.e. one sprite) high.
* the greetings scrolls use expanded sprites underneath a layer of ghostbytes, with different colors underneath each scroll. the tricky part here is to make the rastertime work while all the sprite scrolls are being scrolled at the same time. this is achieved by letting each scroll have different phases, so that there is no more than one scroll that needs to have data copied at any given time. the characters that have different widths (like i and l) are combined with their adjacent letters beforehand so that each scrolled letter is always 16 pixels wide, to make the scrollers' rastertime work.
* the dither patterns that follow the hires ghost use alternating lines that are phase shifted 3 cycles to make it look like the ghostbyte is updated with 3-cycle precision, despite actually being updated with a 6 cycle precision. to achieve this precision, the code is self-modifying and runs in zero page.
* the panoramic part uses expanded sprites and ghostbyte shinethrough in the lower border to implement the panoramic logo. since 7 sprites are enough to cover the screen width, the 8th sprite is used for the "designs" dycp. this dycp uses an expanded sprite with subpixel precision as the sprite moves in the x direction. the scroll code and font is the same as in the greetings scrolls part.
* the blue dither pattern is a variant on the ghostbars, which appear elsewhere in the demo, but here the dither pattern is being updated over the entire screen. this is achieved by interleaving the pattern update with the display rastercode.
* the lilac dither pattern that follows uses a 3-cycle shift, like one of the previous ghostbyte effects, but this time the pattern is moving.
* the full-screen unexpanded ghosts use a expanded sprites underneath a ghostbyte mask to achieve their unexpanded look, despite being in the borders and covering the full screen width
* the ghostbars following that are able to dynamically update both the colors and the dither pattern
* the "THE GHOST" dysp uses expanded sprites underneath the same ghostbyte pattern as is being used in the sunrise earlier in the demo. the sprites don't go into the sideborders (but the ghostbyte has to be updated every line, hence a dysp routine is needed).
* the final upscroll is seemingly able to show a full 40 character width screen in the upper/lower with 1x1 unexpanded letters. this is implemented with expanded sprites underneath a ghostbyte layer.
* the final pcb ghost picture is implemented using hires with sprites on top of it, unexpanded sprites in the upper and lower border, and d020 splits to extend the pcb lines into the left border. this was hand-coded and i ended up doing a bunch of mistakes, which led to an updated version of the picture here: PCB Ghost (fixed) | Production Info Submitted by trident on 6 April 2024 Production Info Submitted by trident on 12 February 2024
this may look like a demo filled with code magic, but it really is a demo filled with graphics magic.
all the sublime ghostgraphics is done by redcrab : the fjälldata 2024 ghostlogo that is moving freely in the upper and lower borders, the unexpanded ghostdrops in the lower border underneath the rainy village street, the ghostfont in the megagreetings part, the entire panoramic designs concept and logo design, the ghostghosts in the upper and lower borders, and the 1x1 unexpanded ghostfont in the upper and lower border upscroll. all that which makes this demo stand out.
the pictures with the ghost gazing into our inner thoughts, the ghost holding its staff with the petroglyphs in the background, the ghost looking out from inside the pcbs, and the flt/g*p all-border escos megalogo are also by redcrab
the cozy rainy village street, the picture with the ghost going about its business, the plasma ghost, the part 1 / 2 title screens, and the techinfo screen that kicks off the demo are done by The Sarge
the panoramic vsp picture and the ghostdysp font by Pal |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia (2)
|
|
| Forum | |
|
| Info on other sites | |
|
| Support CSDb | |
|
| |
|