Skip to content

Latest commit

 

History

History
83 lines (60 loc) · 2.8 KB

README.md

File metadata and controls

83 lines (60 loc) · 2.8 KB

Galactic to Atomic Zoom Demo

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.

About the Competition

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.

Features

Current executable size: 38704 bytes (using UPX)
Current music file size: 22377 bytes
Current total size: 61081 bytes

Done

  • 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

Result

  • 1st place in the 64 KB track
  • 2nd place in the 64 MB track

Building the Project

To build this project, you will need GCC for compiling and OpenGL libraries for graphics.

Prerequisites

  • A computer with Ubuntu or WSL2 installed
  • GCC or any C compiler
  • OpenGL library
  • X11 libraries

Compile and Run

  1. 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
  2. Compile the project:

    gcc -I./include ./**.c -lm -lpthread -lX11 -lGL -lmikmod -lz -o zoomDemo
  3. Run the executable:

    ./zoomDemo

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements