Amiga.org

Amiga computer related discussion => General chat about Amiga topics => Topic started by: saimo on April 14, 2019, 02:00:49 PM

Title: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on April 14, 2019, 02:00:49 PM
In the past months I've been thinking of some new game concept that would finally put my dot-matrix engine for AGA Amigas to good use. Admittedly, I haven't come up with anything worthy yet, but I've been doing some technical experiments. I thought you might fancy having a look at the latest experiment:

https://www.youtube.com/watch?v=LE8FyrxEhnQ

Details:
Note that I'm NOT going to make a beat'em up. Again, this is just an experiment.

(The graphics have been derived from assets which are the property of Capcom Co., Ltd.)

Previous video:

https://www.youtube.com/watch?v=mB6wgJbj0Gg
Title: Re: Dot-matrix engine for AGA
Post by: F1Lupo on April 14, 2019, 08:24:07 PM
looks crazy freakish cool 8) ;D
Title: Re: Dot-matrix engine for AGA
Post by: golem on April 14, 2019, 09:28:31 PM
Looks really good. My mind boggles at the maths that must be behind that.
Title: Re: Dot-matrix engine for AGA
Post by: saimo on April 14, 2019, 11:08:35 PM
@F1Lupo

Thank you :)


@golem

Looks really good.

Thanks!

Quote
My mind boggles at the maths that must be behind that.

Nothing particularly special, to be honest.
Title: Re: Dot-matrix engine for AGA
Post by: saimo on December 20, 2019, 12:06:13 PM
This video shows a stock Amiga 1200 running various visual effects using the dot-matrix engine. The effects are obtained by means of a system that allows every single pixel to be located anywhere in memory (regardless of the RAM type). Lately, I've started thinking again of a game that makes use of the dot-matrix engine, and I came up with this new system. I finally have a somewhat interesting game concept (not shown here), but I'm still thinking of better alternatives.
Technical note: while the dot-matrix engine doesn't require any CPU operation, this new system is entirely CPU-driven, so each screen update takes more or less 1.3 frames on a stock A1200; therefore, if the game eventually uses the system, it will run at most at 25 fps.

https://www.youtube.com/watch?v=jSvJmn0-KoE
Title: Re: Dot-matrix engine for AGA
Post by: kolla on December 20, 2019, 01:05:25 PM
Would be cool as a native video format too - movie.dmv, dot-matrix video :)
Title: Re: Dot-matrix engine for AGA
Post by: saimo on December 20, 2019, 06:25:33 PM
Would be cool as a native video format too - movie.dmv, dot-matrix video :)

Well, conceptually, the only difference with any existing format is that the depth is just 2 bits. Anyway, boooring ;D
Title: Re: Dot-matrix engine for AGA
Post by: saimo on December 27, 2019, 12:44:32 PM
Two more experiments: https://www.youtube.com/watch?v=cH20N0D5kKw

For convenience, these are the previous videos:
 * https://www.youtube.com/watch?v=mB6wgJbj0Gg
 * https://www.youtube.com/watch?v=LE8FyrxEhnQ
 * https://www.youtube.com/watch?v=jSvJmn0-KoE
Title: Re: Dot-matrix engine for AGA
Post by: saimo on February 10, 2020, 01:34:05 PM
Reprise of the spaceship-travelling-through-tunnel idea: https://www.youtube.com/watch?v=Be94FYcr1Oc

The tunnel renders in about:
 * 1.1 frames on a stock Amiga 1200 (I must say I'm quite disappointed I just can't make it take less than 1 frame);
 * 0.28  frames on an Amiga 1200 + Blizzard 1230-IV with 60 ns RAM (the machine used to record the video).

Previous videos:
 * https://www.youtube.com/watch?v=mB6wgJbj0Gg
 * https://www.youtube.com/watch?v=LE8FyrxEhnQ
 * https://www.youtube.com/watch?v=jSvJmn0-KoE
 * https://www.youtube.com/watch?v=cH20N0D5kKw
Title: Re: Dot-matrix engine for AGA
Post by: saimo on February 11, 2020, 12:39:39 PM
I managed to get the effect to run in less than one frame also on a stock Amiga 1200. I was trying to be too smart, so I thought I'd try to dumb the code down... and it worked! The time needed to render the tunnel went from ~1.1 frames (~22 ms) to ~0.937 frames (~18.74 ms). On the other hand, unsurprisingly, the simplified code performs worse on expanded machines: on an Amiga 1200 with Blizzard 1230-IV with 60 ns RAM, it went from ~0.28 frames (~5.6 ms) to ~0.48 frames (~9.52 ms).

This video shows the effect running on a stock Amiga 1200. The second part shows visually the rendering time: the blue blackground represents the part of a frame (the whole screen + vertical blanking area) taken by the the tunnel rendering; in other words, the non-blue blackground represents the unused time of a frame.

https://www.youtube.com/watch?v=DCvqD-35_zE

Previous videos:
 * https://www.youtube.com/watch?v=Be94FYcr1Oc
 * https://www.youtube.com/watch?v=mB6wgJbj0Gg
 * https://www.youtube.com/watch?v=LE8FyrxEhnQ
 * https://www.youtube.com/watch?v=jSvJmn0-KoE
 * https://www.youtube.com/watch?v=cH20N0D5kKw
Title: Re: Dot-matrix engine for AGA
Post by: F1Lupo on February 12, 2020, 09:41:39 PM
crazy crazy psychedelic cool stuff Simone ! 8) ;D
Title: Demo THE CURE
Post by: saimo on July 11, 2020, 11:06:34 PM
Eventually I used the engine to make a demo. It got released at the Solskogen 2020 demoparty about 1 hour ago. Feel free to watch/download it from https://www.retream.com/THE_CURE (running it on a real Amiga is mandatory to really appreciate it, as a video, due to technical reasons, just doesn't cut it) ;)
The demo comes with a README that explains all the details, including why I dropped the idea of a making game and went for a demo, instead.
Title: Re: Dot-matrix engine for AGA
Post by: lionstorm on July 12, 2020, 07:15:19 PM
well done and congrats for winning the 1st place ! I watch it the demo over the net and will downlaod and try the demo on my A1200.
Title: Re: Dot-matrix engine for AGA
Post by: saimo on July 12, 2020, 08:39:15 PM
Thanks, lionstorm!
You'll definitely enjoy it more on your machine, as the visuals of the demo are unsuitable for videos.
Title: Re: Dot-matrix engine for AGA
Post by: Matt_H on July 13, 2020, 02:37:42 AM
Really lovely demo--looks like a marvelous technical achievement and the messaging is on point. Congrats!

I think there still must be a game somewhere in that engine... even if you haven't found it yet. Give yourself a well-deserved break and maybe the idea will come to you when you least expect it.
Title: Re: Dot-matrix engine for AGA
Post by: saimo on July 13, 2020, 11:11:48 AM
Really lovely demo--looks like a marvelous technical achievement and the messaging is on point. Congrats!

Thank you!

Quote
I think there still must be a game somewhere in that engine... even if you haven't found it yet. Give yourself a well-deserved break and maybe the idea will come to you when you least expect it.

Nope, it just isn't suitable. But I already have 2 other engines that are waiting to be made use of for games, and I'm already working on that ;)
Title: Re: Dot-matrix engine for AGA
Post by: F1Lupo on July 14, 2020, 04:21:40 PM
@ saimo
big time congrats for a well deserved 1st place at the Solskogen 2020 demoparty ;D !!! ;D
Title: Re: Dot-matrix engine for AGA
Post by: saimo on July 24, 2020, 02:12:48 PM
I've been asked a few times to release the music separately, and finally I got around to do it! Here it is:

https://soundcloud.com/retream/the-cure

(The quality is higher than in the demo itself due to the limitations of the Amiga hardware - for details, check out the "About the music" post in the Community section of the demo page (https://retream.itch.io/the-cure).)

And sorry for the delay :P
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on March 13, 2021, 02:37:17 PM
I just found out that the demo earned me a nomination in the New Talent category of The Meteoriks 2021 (that's the demoscene equivalent of the Oscars) :)

Nominees presentation: https://youtube.com/watch?v=lyaTR13RxmQ
Meteoriks 2021 website: https://2021.meteoriks.org/nominees
THE CURE webpage: https://retream.itch.io/the-cure
THE CURE video: https://www.youtube.com/watch?v=qgg90MCJKok
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: Matt_H on March 13, 2021, 05:05:04 PM
Congratulations! Much deserved. :)
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: F1Lupo on March 14, 2021, 10:21:16 PM
congrats & hope you win Simone :) !
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on June 02, 2021, 12:53:24 PM
Lately I realized I could make the startup and cleanup code of SkillGrid (https://www.retream.com/SkillGrid) more robust, so I improved it further. I decided to apply the same improvements to my other productions, and today it was THE CURE's turn...

v1.1 (20210602)
* Made startup and cleanup code more robust.
* Fixed (unlikely) memory leak in cleanup code.
* Replaced "actual" with "current" in standings graphics.
* Fixed/improved README.

The new version is available for free download from https://www.retream.com/THE_CURE (https://www.retream.com/THE_CURE).
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: bubbob42 on June 02, 2021, 01:22:53 PM
Wow. Just wow. Probably the most meaningful demo I ever watched. A perfect example of technology emphasising the messages.
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on June 02, 2021, 06:03:58 PM
Such words are much appreciated. Thanks for the lovely feedback!
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on August 04, 2021, 09:07:30 PM
Just released a slightly revised version.

v1.2 (04.08.2021)
* Made startup and cleanup code more robust.
* Made a few tiny optimizations.

https://www.retream.com/THE_CURE
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on August 19, 2021, 02:05:07 PM
While working on the SkillGrid update, backporting to it all the improvements I recently made to my other projects, I realized that those improvements came with a couple of new bugs. THE CURE was affected by them, so here's a new bugfixed version.

https://www.retream.com/THE_CURE

v1.3 (19.08.2021)
* Fixed recently-introduced memory leak in startup code.
* Replaced unreliable CIA-access-based delay code at startup with machine-agnostic code.
* Made a couple of minor internal changes.
Title: Re: Demo THE CURE (Was: Dot-matrix engine for AGA)
Post by: saimo on April 29, 2022, 09:05:35 PM
This update was not planned, but, still, it happened - and makes the demo even better. In short: it improves the music, it improves the audio-to-video sychronization, it adds a few more palette effects and brings other little improvements (for the details, check out the changelog below).

Get THE CURE v1.4 from https://retream.itch.io/the-cure and enjoy!

v1.4 (29.04.2022)
* Improved music: improved S/N ratio by eliminating a peak (caused by the "str" of "street" in the spoken part) and re-normalizing the waveform; amplified initial part a little bit; reduced greatly the noise that affected the coda (due to the 8-bit quantization) by amplifying that part of the waveform to the maximum and balancing that with a real-time volume change; increased sampling frequency to 29073 Hz (side effects: channels 2 and 3 can no longer be used, so the output volume is lower; music decoding takes a little longer as there is more data to decode each frame; the CHIP bus time taken by audio DMA is almost halved, which makes the demo less demanding).
* Added switch-off of filter to ensure music sounds as it is supposed to.
* Fixed audio-to-video synchronization: fixed drifting caused by the difference between the actual and theoretical rates (~49.92 VS 50 Hz) of the video refresh (that, by the end of the demo, caused an asynchronism of ~0.5 s); fixed 60 ms asynchronism caused by the fact that the first three frames required for music setup/buffering were ignored; fixed a few timing marks in the script (an off-by-one mark which caused a peak of operations in the specified frame; a mark that caused the following effect to execute 4 frames too late; a few marks that were off by a frame).
* Fixed a bad routine pointer (caused by a wrong letter in a label in the source code; it is quite incredible that this did not produce disastrous results).
* Added some palette effects.
* Optimized music decoding by unpacking and undeltaing data at the same time (why it was not like this right from the beginning is a mistery).
* Made some other small optimizations.
* Made startup and cleanup code more robust by shielding some critical operations from NMIs and by dealing with audio playback performed with direct hardware access by other programs concurrently.
* Added version string.
* Improved/extended README.