Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
Amanita (80%)   [2022]

Amanita (80%) Released by :
Samar Productions [web]

Release Date :
29 May 2022

Type :
C64 Demo

Released At :
Moonshine Dragons 2022

Achievements :
C64 Demo Competition at Moonshine Dragons 2022 :  #1

User rating:*********_  9.3/10 (63 votes)   See votestatistics
**********  9.8/10 (19 votes) - Public votes only.

Credits :
Code .... Golara of Desire, Samar Productions
  Mojzesh of Padua, Samar Productions, The Great Reset
  Slajerek of Samar Productions
Music .... Conrad of Samar Productions
  Jammer of 1mandivision, MultiStyle Labs, Protovision
  MCH of Genesis Project, MultiStyle Labs, Samar Productions
Graphics .... Isildur of Samar Productions
  jetan of Samar Productions
Design .... Golara of Desire, Samar Productions
  Isildur of Samar Productions
  Jammer of 1mandivision, MultiStyle Labs, Protovision
  jetan of Samar Productions
  Mojzesh of Padua, Samar Productions, The Great Reset
  Slajerek of Samar Productions
Linking .... Mojzesh of Padua, Samar Productions, The Great Reset
Loader .... Lft of Kryo
Directory Art .... buzz_clik of Onslaught


SIDs used in this release :
Amanita Overdose(/MUSICIANS/J/Jammer/Amanita_Overdose.sid)
Ancient Walk(/MUSICIANS/C/Crowley_Owen/Ancient_Walk.sid)
Ant(/MUSICIANS/M/MCH/Ant.sid)

Download :

Look for downloads on external sites:
 Pokefinder.org


Summary
Submitted by Mojzesh on 29 May 2022
The whole demo consists of 50k lines of Assembly code + countless Golang, C++ and Python scripts.

The whole demo has been linked using SpinGo which is a custom modded fork of Spindle (LFT) ported to Golang by Mojzesh. it has 30% faster file compression than the original C implementation. Its unique feature is an ability to capture the 1541 drive during the demo in order to perform DriveCalc and be able to continue the demo afterwards. It also features a custom built-in DemoSystem and it fully relies on JSON or YAML config files to describe each demo part. Twisted Vectors (Cubes in Cube) is utilising that.

Amanita 80% credits:

//-------------------------------------------------------------
Code by Slajerek:
//-------------------------------------------------------------
- BASIC Mushroom FadeOut
- Blocky ShowPic
Both ShowPic, Riveter and Mapper were done in C++ and ASM as plugins to Retro Debugger. ShowPic flying bricks effect is actually very much inspired by one of the best demos ever made, the Overdrive 2 by TiTAN. The Riveter idea came just a few weeks before deadline to have an animation that moves dirart characters to some other place on the screen, it then evolved to a more versatile piece of code with a larger petscii logo image. Mapper is actually compiled on the same codebase as Spirals effect seen in the NGC1277, this time sprites only. You may lurk into the memory to see that in fact there's a Samar logo, which then was heavily noised on index image to obtain a water-like drawing.

//-------------------------------------------------------------
Code by Golara:
//-------------------------------------------------------------
- ThreeLayers
Because I lack any creativity, I call this effect "three layers".

The orange layer is made out of 3 expanded sprites. It's meant to look fullscreen but in fact the graphics are only between the blue strips.

The blue strips are in multicolour charset mode. They can scroll independently with different speeds every frame. Their shape and colours are very specific for this effect to work. Only certain colours will appear in front of sprites (the orange layer) and one colour is limited to 0-7 range in mc charset mode.

The third layer is the face and it's made out of 4 sprites.

In total, its 7 sprites multiplexed over the whole screen while updating the blue strips in the background in one frame and single buffer. The blue strips code is split into parts to draw different parts of the screen at different times to avoid tearing.

This effect was 99% done in 2019 for X2020 that never happened. I wish I could spend more time refining it, firing it more to the new music, but oh well, life stuff happens sometimes, sometimes it's just pure laziness :P

- Mushroom Meduses Fade In/Out

//-------------------------------------------------------------
Code by Mojzesh:
//-------------------------------------------------------------
- BASIC Fade Out + Bouncing Intro
This effect contains a highly optimised Image per-pixel blending, using sophisticated speed code and crafted LUTs. Custom Golang scripts were used to prepare LUTs.

- Spinning Mushroom Morphing
Sprite-based effect. The biggest challenge here was to find the raster time to switch between various effects: Moving, Morphing, Raster Colour Cycling, Sprite Colour Cycling and Fuzzing. Thanks to Jammer, this demo is also using SID song tags so fuzzing and colour-cyling is triggered by the soundtrack and then arranged by Jammer. Also, contains a custom Python script for generating morphing information.

- RotoZoomer
4x4px highly optimised LUT based RotoZoomer. Initial algorithm has been written in TypeScript + Angular + Canvas in order to visualise and help to craft the most optimal algorithm, which was then then ported to Assembly. All LUTs have also been calculated in the Browser and exported from there. Snakes have been added later and also first implemented in the Browser.
Walking Burning Triangle
8x8px dithered fonts in ECM mode. Highly optimised speedcode, LUT and ZeroPage layout for calculating pixel averages without overflow.

- Fullscreen Multicolor Masked Plasma
I would like to thank Jetan for his hard work on the image and mask for this effect. To achieve this effect, it required writing a custom Golang tool to recognise and correct the colours at the edges of the mask, in order to help Jetan out with correcting the colours to meet the effect requirement. Whole masking logic is purely embedded in the SpeedCode. Golang tool has been written to prepare the input data.

- Flip Disk
Precalculated animation, based on frames drawn using my custom code + Bresenham Line implementation in Assembly. Initial idea of changing the Color sprites came from Jammer (Thx!). But it was a challenge to get it right (so many IRQs to change the colours were needed). The whole animation has been rendered with inverted colours, what allows to manipulate individual sprite colours in order to achieve FLIP IT ColorPattern + Text. Btw. There is also an interesting optical illusion from the mix of Background and Foreground layers. Due to Memory layout we used a reallocated custom version of Spindle to allow waiting for FlipDisk. Also, there is a simple multitasking routine implemented here to allow context switching for playing the music and waiting for disk flip (blocking call) outside of IRQs.

- Amanita Logo Scroller
Double buffered, Multithreaded scroll logic, flatten image date for faster drawing routines.

- Colourful Zoomer
That’s a classical char based D011 zoomer, with little twist of colours which was really tricky to get right in speedcode and right memory layout at zero page.

- EOR Wave + Physics
It started from just an EOR-ing wave, which is my own improved version of it written originally in 1997-1998.
This time it’s based on a differential algo that only EORs the image based on differences from the previous frame.
I also wrote a custom script in Python for Blender to simulate the same wave as on C64 and calculate physics of bouncing balls.
Then I wrote a custom script to export the simulation data. Then I wrote another Python script for HuffmanCoding that took the trajectories of all precalculated balls calced Deltas of movement and rotations. Finally, based on compressed data, a script produced a fully working SpeedCode-based Huffman Decoder in form of KickAssembler source. In the actual effect I was able to decode 24 bytes of data from three separate data streams (X,Y, Rot).

- Twisted Metal
Fullscreen, Multicolor mode. Whole effect is CPU drawn using highly optimised speedcode and texture data structure. Additional tool in Golang has been developed to help convert and prepare the data. Custom Golang script was used to generate the input data.

- Twisted Vectors (DriveCalc)
This effect is using DriveCalc. All rotations and visibility tests are done in Drive, that’s 40 vertices + Face visibility data per frame or 80 (X&Y) + 4 bytes (30 faces = 30 bits of data) received from the drive and 15 + 1 (command) bytes sent to the drive every frame.

- Fullscreen Textured Cube
Second incarnation of TexturedCube effect - first time written by me for & seen in ES1RA. Highly optimised SpeedCode + DataStructure. Whole effect is sprite-based (so DriveCalc would be difficult), so to speed up the effect it’s mostly based on precalculated LUTs with Deltas required by the rasterizer. Additional conversion tool written in Golang has been used.

- EndPart
Simple FLD effect. This is the unfinished part. It will be finished in the 100% version. I’ll keep it secret for now, so let us surprise you.

//-------------------------------------------------------------
GFX by Isildur:
//-------------------------------------------------------------
- Intro
- Blocky ShowPic
- Flip Disk Banner
- ISO Patterns
- Meditating Man (EOR Wave)
- Psychedelic Indian Woman
- Mushroom Meduses
- Spinning Mushroom 3D Objects
- Twisted Vectors Mask
- TheEnd Drazlace Image

Tools used:
- VicEditor @ C64Debugger
- Procjec One
- Photoshop
- Illustrator
- Blender
- Pixcen

//-------------------------------------------------------------
GFX by .Jetan:
//-------------------------------------------------------------
- Bear (Plasma Effect)
- Amanita Logo (3 Screens)
- Falling Guys (Twisted Metal)
- Amanita Mushroom (End part)

Tools used:
- Pixcrn
- Multipaint
- Adobe fresco

//-------------------------------------------------------------
GFX by Mojzesh
//-------------------------------------------------------------
- Spinning Mushroom 3DObj
- Twisted Vectors Patterns
- Textured Cube Textures conversions

//-------------------------------------------------------------
Music:
//-------------------------------------------------------------
- Side A: Jammer
- Side B: MCH
- TheEnd: Conrad
Search CSDb
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries (1)
· User Comments (38)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia (1)
Forum
· Discuss this release
Info on other sites
· YouTube
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.115 sec.