This project is a demonstration developed for the demo competition organized by the University of Paris 8. The competition challenges participants to create compelling demos within strict size limits without game engine (for the tracks I'm intrested in). This demo features a zoom transition from a galactic scale to an atomic scale and was made using C and OpenGL.
The University of Paris 8 hosts a demo competition with specific tracks that dictate the size constraints of the executable:
- 64 KB Track: The executable must be less than 64 KB.
- 64 MB Track: The executable can be up to 64 MB.
The goal of this demo is to participate in both the 64 KB and 64 MB tracks of the competition. More details about the competition and the other tracks can be found on the official API8 website.
Current executable size: 38704 bytes (using UPX)
Current music file size: 22377 bytes
Current total size: 61081 bytes
-
Galaxy rendering
-
Sun rendering
-
Planet and water rendering
-
Underwater particle effect
-
'Atmosphere' rendering
-
Underwater rendering
-
Jellyfish rendering
-
Cells, DNA and atoms rendering
-
Music
-
Minify shaders
-
Credit scene
-
Taking the competition
- 1st place in the 64 KB track
- 2nd place in the 64 MB track
To build this project, you will need GCC for compiling and OpenGL libraries for graphics.
- A computer with Ubuntu or WSL2 installed
- GCC or any C compiler
- OpenGL library
- X11 libraries
-
Install the necessary libraries:
sudo apt-get update sudo apt-get install -y libx11-dev libgl1-mesa-dev zlib1g-dev sudo apt update sudo apt install libmikmod-dev
-
Compile the project:
gcc -I./include ./**.c -lm -lpthread -lX11 -lGL -lmikmod -lz -o zoomDemo
-
Run the executable:
./zoomDemo
This project is licensed under the MIT License - see the LICENSE file for details.
-
University of Paris 8 for organizing the demo competition.
-
Stackoverflow and Stackexchange for help on many topics.
-
GarrettGunnell and gasgiant for the FFT water implementation.
-
Ronja's tutorials, Book of Shaders by Patricio Gonzalez Vivo & Jen Lowe and patriciogonzalezvivo for different shader algorithms
-
ChatGPT for X11 setup and and various programming tasks.
-
elmusho for the music "And I will ever be" used available on The Mod Archive