![]() | Logo by DaveyD (anonymous IP: 216.73.216.206,2511) | |||||||||||||
| ||||||||||||||
Audio (351) Datatype (51) Demo (213) Development (628) Document (24) Driver (102) Emulation (155) Game (1061) Graphics (516) Library (123) Network (243) Office (69) Utility (961) Video (74) Total files: 4571 Full index file Recent index file
Amigans.net Aminet IntuitionBase Hyperion Entertainment A-Eon Amiga Future
Support the site
|
-= L i f e F o r c e =-
AmigaOS4 port (c) kas1e
=======================
ABOUT
-----
LifeForce is a demo by the well-known Greek demogroup Andromeda Software
Development (ASD). It was presented at Assembly 2007, where it took a well
deserved first place.
.Code / Direction - Navis
.Music - Amusic and Leviathan
.2D graphics - Archmage of Andromeda and Amoivikos
.3D Modelling - Ch3 and Navis
For more info, visit the demo's page on pouet.net:
https://www.pouet.net/prod.php?which=31571
AMIGAOS4 PORT
-------------
For the AmigaOS4 port, I reconstructed the demo from the original Windows
binary and the supplied Cg shader files. Since the rest of the source code
was missing, with Ghidra's help,i produced a byte-identical reconstruction
of the original executable,then translated the recovered routines into C++
and got the demo running on x86 under WSL2.From there,a native PPC version
with the necessary endian fixes were build.
To make it work fast on our old machines, the original CPU-heavy rendering
was changed to offload much of the work to the GPU. For example, static
meshes stay in GPU memory, while shaders and compute handle geometry
expansion, fluid simulation, cloth, curves and tubes: this removes CPU
calculations and repeated geometry uploads. To avoid hiccups and micro-
stalls in the process,the demo compiles and loads all the shaders at once,
right at the start, before the demo actually starts. As a result, it takes
about 60-65 seconds to load up on an X1000 at 2 GHz, but in turn you get
around 300-500 FPS over the whole demo, with no hiccups.
The whole demo originally used external textures, music and meshes,and the
packed size of the original demo was 27 MB. I didn't try to lower it much;
I just reduced the binary size a bit by getting rid of unnecessary C++
baggage and unused SDL2 functions, as well as getting rid of the CgEffects
directory, as all the shaders are now internal. And while the original
shaders are no longer used,the final visual result is 1:1 identical to the
original demo.
If you want to run it in windowed mode, use the --win parameter, or simply
double-click or press Alt+Enter to switch between windowed and fullscreen
modes, and, as always, the FPS is shown in the window title when you're in
windowed mode.
COMMAND-LINE OPTIONS
--------------------
Usage:
LifeForce [options]
Options:
--windowed
--window
--win
Start in a window. Fullscreen desktop mode is used by default.
--width N
Set the window width.
Default: 1344
--height N
Set the window height.
Default: 755
--vsync
Enable VSYNC (default off)
--debug
Show diagnostic output
--no-audio
Disable music
--help
-h
Display the command-line help and exit.
RUNTIME CONTROLS
----------------
Alt+Enter / Left mouse-button dbl-click
Toggle fullscreen and windowed modes.
Escape
Exit the intro.
(c) kas1e 29.09.2026
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2004-2026 by Björn Hagström All Rights Reserved |