Revolutionary Beehaviour by Five Finger Punch & Insane [web]
General: This demo is for Amiga 500 OCS 512Kb chipmem + 512Kb slowmem. It might work on other configurations, but that is not tested nor supported :-) The demo is crunched with Cranker and music is played using The Player in vblank mode. Thank you for those, Bifat and Photon! Music sync is not done with E8x, but with a custom sync routine. I use Milkytracker to convert Myggs tunes to 6CHN and add sync data to channel 5. I then save the new module and run a script that extracts just the sync data. The original module is used for playback. There are two modules, one for the intro and one for the rest of the demo. Most of the graphics are packed using Imodiums packer Punify. Progressbar: Just a custom modified decranker to show the Unity logo above the progressbar. Logo: Five bitplanes logo. I use a xorshift PRNG to add an offset to diwstrt and hw scroll each frame to simulate shaking. The explosion is about 500 particles using 16.16 fixed point. Start positions and initial velocites for the explosion are also generated using xorshift. Intro: Dual playfield, three bitplanes for the flowers, three bitplanes for the flyswatter/beeswatter(?) and the bees are sprites in attached mode. 17 frames are used for the bees and four frames for the flyswatter. Sphere: Four bitplanes 256x256 morphing dot sphere. About 300 points rotated in real time around all three axis. Colors are based on distance to center. Demo name logo: A five bitplane logo. I use a mask in BLTAFWM/BLTALWM to clear part of the logo every frame. Game logo: An animated 16 color sprite drawing a path and then blitting parts of a five bitplanes logo at the appropriate moment. And then a storm of sprite bees. The path is pregenerated and delta coded using 4 bits per coordinate pair. Game level: All data is pregenerated on the PC so this could be seen as an animation player. Mostly a four bitplane bobroutine, some multiplexed sprites and some color changes at the right places. The original idea was to calculate the physics on the Amiga, but I ran out of time. Maybe next time :-) Forest tunnel: All circles are drawn using Bresenhams circle algorithm. The large circles are drawn in realtime. Only the upper part of each circle is drawn, the lower part is mirrored using negative modulo. The small circles are prerendered and then blitted using copper controlled blitter. The small circles are not mirrored, so they can move more freely in the Y direction. The background uses two bitplanes and the circles uses two bitplanes. Only one of the four bitplanes should be mirrored so I use the copper to set the correct lines for one of the bitplanes. The bee is sprites in attached mode with 16 different sizes. Spiral: Two bitplanes are used for the dots and one bitplane for the vector letters. The screen is cleared using the cpu while the blitter is filling the letters. The tree is made of sprites. The copper is used to set the correct color for each letter based on its rotation. Beehive: Three silhouettes are shown, drawn using one bset per raster line. Then a five bitplane logo and 16 color sprites in attached mode. The door zoom is done with linedraw and blitter filling. Honeycomb tunnel: A tunnel of honeycombs in three bitplanes and a three frame animation in one bitplane. It is essentially a bobroutine. I predraw all sizes and colors of honeycombs and then blit them to the appropriate position. The batman style sound effect graphics are sprites. Torus: A torus consisting of three moebius strips, using two bitplanes. Backface culling is used on the polygons making up the torus, to calculate line colors. Each polygon is split into triangles for the calculations. The color for each line is chosen based on the average result for each polygon that the current line is a part of. The background honeycombs are in one bitplane. The melting honeycomb is done by copying a few vertical stripes to a lower position each frame. Credits: The bee is the same bee as in the game level, but this time it is a sprite. The rest is a copper chunky effect, but instead of the normal bitmap overlay that everyone is using I used a bunch of rotating lines. The lines are predrawn into a single bitplane and then scrolled to give the illusion of movement. The honeycombs and small letters are sprites and the large letters are a one bitplane bitmap. Beecrash: Fake zooming of a 256x256 4 bpl image using no prescaled images. I divide the screen into 4 quadrants, create an array from 0-127 and randomize it using Fisher-Yates. Then I do an insertion sort from the array onto the screen. I use the blitter for the horizontal zoom and copper modulo for the vertical zoom. Flash the screen and finally display the full bitmap. Then switch to a bitmap without the bee by copying individual lines. And finally change to polygons looking like glass shards and let them fall while rotating. Dots and lines: I saw a presentation at Mandagsklubben by Zworp about using distance calculations in his PC demo, and decided to have a go at it on the Amiga 500. The lines are drawn using copper controlled blitter and get their color and pattern based on the distance between the start and endpoint. The balls are also drawn using copper controlled blitter. Four bitplanes are used, shorter lines are drawn to more bitplanes than longer lines. Balls are always drawn in all four bitplanes. The lines are cleared by drawing them again with empty line pattern. The line pattern is cleared by blitting directly into the copperlist. I do not use any spatial data structure or sorting but just do a brute force check to find any ball close enough to each ball and draw a line between them. There are four different types of behaviours used: detection - just notice that the other ball is there. repulsion - try to push the balls away from each other. attraction1 - let the balls follow each other. attraction2 - let the balls follow each other agressively. I change the type of behaviour at regular intervals. The messages are made of sprites in attached or detached mode. Morbid/Five Finger Punch @hypp74
[ back to the prod ]