Memory Full

Forum / Development

Octopus Pocus

toms * 25 Apr 2019 14:56:49 * Modified at 15:00:22

Here are some technical details about Octopus Pocus, it may interest some of you:

- No trackload is involved, the whole demo fits in memory and is 65788 bytes long.

- The whole demo runs at full frame rate.

- rexbeng used a custom charset (composed of 156 4x8 characters) to make all the graphics. It saved a lot of memory and contributed to give a graphic identity to the demo.

- The crazy musician composed the astounding tune with Arkos Tracker 2 and the demo uses the AKY player to play it. The audio part (player + music) is 16079 bytes long (around 9kb when crunched).

- Exomizer was used to (de)crunch the whole demo, except a part of the waving zoom which was crunched with ZX7 (it needed to be decrunched faster).

- The tunnel has a 16 layers depth (CPC world record!), moving with a pixel precision. It can be deformed and sliced at will.

- The waving zoom has 128 zoom steps (pixel precision). There is no zoom factor limit, but we used a maximum of x4 for aesthetic reasons (maybe a mistake as the zoom is not noticeable enough).

- The twisting cube (world first on CPC!) is composed of 180 frames. In addition to the twisting, this is the first time on CPC that a 3D object rotates around the 3 axis at the same time at full frame rate (of course, I talk about big objects). Each frame is independent of each other, allowing to skip some of them or do some rewind. It is also possible to move the cube horizontally and slice it at will. The lighting is done by using a 4 pixels dithering for each face.

Finally I'd like to thank:

- rexbeng: it was a pleasure to work with you, your graphics are amazing!
- Targhan: AY masterpiece, you're crazy.
- TotO: the cables master!
- Barjack: the last minute heroe!
- beb: thanks for that ridiculous group name :)
- Hicks: the twisting cube was coded with random instructions only!

Now it's time to move on the next Pulpo Corrosivo demo!

krusty * 26 Apr 2019 16:10:22

Great 1st real demo.
You do not talk of the involved tools. Have you made all precomputing on a bare CPC ? CPC with memory expansion ? PC ?

I'm pretty sure it is easier to do a twisting cube than straight one ;)

I'm impatient to see your next demo !

toms * 27 Apr 2019 12:35:01

The tunnel datas were precomputed on my CPC, while the twisting cube ones were precomputed on PC using a homemade PHP script because it was far too slow to do it on a CPC.

For the waving zoom, no datas are stored.

To make this demo, I used Orgams, an X-Mem, a bit of WinAPE (I was not aware that macros were working in Orgams), Exomizer, ZX7 and Arkos Tracker 2 (and its AKY player).

I actually began by doing a straight cube and then a twisting cube. The straight one works fine but consumes more memory and CPU time because of its straight lines which generate more differences from one line to another.

However, it's much harder to precompute the datas for a twisting cube (nearly impossible to do on a CPC as the precomputing code is too slow and consumes too much memory), while it's easily doable for a straight cube.

As I had to choose between the 2 cubes, the twisting one was obvious because never done before.

Thanks for the encouragements!

Hicks * 27 Apr 2019 15:14:17

The twisting cube is really a killer effect, and the best I've seen on 8 bits!

I remember last year when Toms see phX's tunnel live at Revision: he was disapointed because his tunnel was finished since some months and feared that people think he just make a copy! Hard rule in demomaking: hurry up to be the first!

Isn't it Krusty? ;)

krusty * 27 Apr 2019 18:06:41

Yes it is, Hicks ;) But this year it is more you than Toms or Madram that cutted ground from under my feet.