Introduction:
With the very first demoparty dedicated to sizecoding, everyone in the community was very excited to see what it was all about. And boy did they show up and supported this party in a way that we didn't expected, immediately breaking the record of most executable releases ever released at a demoparty!
Ofcourse we didn't ever expect this kind of turnout, so when it came to creating our own releases for the party we wanted to do our best to support the party in a big way. As a result some of the releases didn't have the polish we would normally give our productions.
Blake 32 (32 Bytes, DOS):
This intro, referencing the famous poem by William Blake, was the main production I had done for the party.
The very first version of the base-fractal started as a cheaper-solution for the fractal ground in our Enigma intro. Doing a full mandelbrot wasn't possible within the size budget, so i had to come up with a much cheaper alternative.
Initial the thinking was to do a sort of reverse minsky-type of transformation, but instead of using it to jump to the next x,y position i would use it in a check to calculate the colorindex.
This approach worked very well for our Enigma intro, so when the 2020 Christmas card challenge came along I decided to use the same technique to generate icey-shaped patterns for an exclusive christmas card production. Because we sent this christmas card as a hexcode type-in It couldn't be too big of a code.
So in an effort of cutting the effect down to its minimum components, i think i had it around 40-44 bytes at this point, at which point I was thinking maybe a 32 bytes version could maybe be possible.
From here it took a lot of work and iterations to slowly but steady cut the code down to 42... 40... 38... 36 bytes where it sat for a little while before finally ending on the 32 byte version that became the intro.
Some of the tricks applied include setting the ES register inside the update loop and re-using the lowbyte of 0x20CD to make up the constant to extract the X,Y position as well as the somewhat bold move of accessing the timer directly from 0x46c inside the fractal loop to provide an exit condition for the fractalloop without the need of any other counters and outerloops.
org 100h
mov al,13h ; 2
int 10h ; 2
frameloop:
les ax,[bx] ; 2 es = 9fff ; ax=20cd
mov ah,0xcc ; 2 ax = cccd
mul di ; 2 dl = x, dh=y
clc
mov al,16 ; start color
fractalloop:
jc nosub
inc ax
nosub:
adc dl,byte [fs:0x46C] ; 5 bytes (!!!)
sbb dh,dl ; 2 py=py-px
ror dl,cl
adc dl,dh ; 2 px=px+temp
jno fractalloop
stosb ;1
jmp frameloop ;2
nop ; bonus
Upon release the intro was well received and won the compo by an extremely large margin, marking a new era for 32 byte intros in part due to the dedicated 32 byte intro competions held in the years after. In later years it caught the attention of Steve Wozniak and got selected for a small-arts festival
Bytestorm (256 Bytes game, TIC-80):
This was one of the last minute spontanious releases that me and Blossom worked on days before the party. Blossom did the background anim and ship control and collision handling and I worked on the enemy waves.
To save space, We opted for a single button control scheme akin to flappy bird as well as bodged perpective in the background animation.
Even though it looks great in presentation, we weren't too pleased with the overall playability. Sure its a fully functional game with control-input, collision detection and scoring, but it didn't any further than avoid-the-enemy-waves.
Pontus (128 Byte Intro, DOS):
This little intro actually has a lot more going on for it than you would think. Voxel rendering, heightmap generation, water caustics, sound, etc. However the extremely low-contrast blue color scheme bodged the presentation of this in both the compressed video capture and screenshot.
Fortunately we were able to use a couple of the techniques first used here like the basic raycaster setup and heightmap generator in our GAIA: Poetry of Life intro.
I very much underestimated the impact these very low contrast blue colors would have on the presentation of this on the stream. People just couldn't make out what was happening. Lessons were learned that day.
Bamboozled (256 Bytes Intro, TIC-80):
Another quick last-minute production, focusing on progression and some music sync. The title was suggested by Blossom's brother. Basically its a bunch of low-resolution polar-based effects that evolve over time. Drawing is done with circles representing depth rather than square pixels.
A similar concept was later used in Picology as the first tiny PICO-8 intro (back then still with a 28 byte header attached).
Snowgazer (256 Bytes Intro / Executable Graphics, TIC-80):
This production was stealth partycoded during Lovebyte 2021 by Blossom, who was sitting at home while I was organizing the party. I didn't even notice it until it was time to prepare the compo slides.
I can't comment on anything technical about this entry, but ofcourse I was pleasantly surprised to see it in compo.
Bytelove (8 Bytes, DOS):
This was a small collection of three 8 byte intros I made to support the 8 byte showcase at Lovebyte. I would say the star of this mini colllection is the bytelove intro itself which contains moving/scrolling pink hearts which matched the lovebyte theme very well.
The main tricks used here are ofcourse the segment init inception of les ax,[si]
which relies
on the opcodes for the next 2 opcodes to place the ES segment within range of 0xB800. The other tick is
this flip-flop mechanism I found when using the XLAT instruction, which does al=bx[al] and allows for a
determined sequence of values to be repeated over and over again, in this case the moving hearts.
And here is the sourcecode:
org 100h
les ax,[si]
frameloop:
aaa
stosb
xlat
jmp frameloop
nop ; yes i can
Conclusion:
The first Lovebyte demoparty was a massive succes that honestly we couldn't have expected and prepared for! Thanks to everyone who showed their love and support to make this happen! <3
For more information about all the Lovebyte 2021 releases, you can find them at demozoo
- Enjoy!