Category Archives: Demoscene

Lua remake of an Amiga cracktro

Recently, I wanted to test the Plus wrapper of Harfang on a simple project, and I found that I could try to remake an ancient Amiga cracktro I used to enjoy back in the days.

[youtube]https://www.youtube.com/watch?v=NJjQM982S6s[/youtube]

Starfield!
The starfield is a simple list of 3D points on which a vector is applied each frame, transformed from 3D to 2D and displayed using 2D sprites. The 3D to 2D projection works the usual way :

x2d = (a.x * zoom) / a.z
y2d = (a.y * zoom) / a.z

There’s room for an optimization, as the whole list of sprites could be drawn as a unique batch. If more performance was needed, for several thousands of stars for example, DrawSpriteAuto() would really work faster.

Music!
The venerable ProTracker module, available on the Exotica archives, was converted to the XM format and replayed easily in Harfang, using the following instruction :

al:Stream("assets/unit5.xm")

Let’s Scroll!
The scroll text, finally, was made easy to render thanks to the Plus wrapper, by blitting each glyph to the screen. The original font was grabbed from the original cracktro using a memory snapshot from the WinUAE emulator.

Each glyph is then drawn, using :

Blit2D()

This remake is not 100% accurate as the scope of this project was more focused on using the Plus wrapper than being in competition with the most excellent Flashtro project.

Here is the Win64 release :
http://fra.planet-d.net/prods/Unit-A-Interceptor-Win64.zip

Here is the source code on Github :
https://github.com/astrofra/harfang-lua-experiments/tree/master/unit-a-interceptor-remake/src

ZeroFx, a demo for the Oric48K by Defence Force

[youtube width=”600″ height=”344″]http://www.youtube.com/watch?v=Z97yfN69_z4[/youtube]

Lately, I had the opportunity to work with Dbug on a small demoscene release.
I did a series of screens (the main title, the Defence Force logo and some other bitmaps) for this production and had a lot of fun making pixelart for the Oric.

The real challenge is to understand how the ‘serial attribute switching‘ works.

The demo ranked 1st in the ‘Oldschool platforms’ competition! Yeah!