scene.org File Archive

File download

<root>­/­parties­/­2026­/­euskal26­/­open-intro/intro_cosmic_rusk_64k_by_felisuco_ctm.ee34.zip

File size:
365 671 780 bytes (348.73M)
File date:
2026-08-01 15:29:03
Download count:
all-time: 2

Preview

  • INTRO_Cosmic_rusk_64k_by_Felisuco^CTM.EE34/ dir
  • INTRO_Cosmic_rusk_64k_by_Felisuco^CTM.EE34/demo64k.final 60.71K
  • INTRO_Cosmic_rusk_64k_by_Felisuco^CTM.EE34/File_id.diz 10.54K
  • INTRO_Cosmic_rusk_64k_by_Felisuco^CTM.EE34/salida2.mp4 351.49M

file_id.diz

================================================================================

     ____  ___   ___ __  __ ___ ___   ___ _   _ ___ _  _    __ _  _   _  __
    / ___|/ _ \ / __|  \/  |_ _/ __| | _ \ | | / __| || |  / /| || | | |/ /
   | |   | | | |\__ \ |\/| || | (__  |   / |_| \__ \ __ | / _ \| || |_| ' <
   | |___| |_| |___) |  | || |\___| |_|_\\___/|___/_||_|/_/ \_\_||_|_|_|\_\\

                               COSMIC RUSH 64K
                             a 64k intro by felisuco
                                      CTM
                          Euskal Encounter 34 (2026)
                                 64k intro compo

================================================================================

  "ZERO GB. ZERO MB. ONLY BYTES."

  Un ejecutable Linux <= 64 KB inspirado en Cosmic Rush 3 (la demo grande).
  C99 + raw X11 + GLX (OpenGL 3.3 core) con TODO el trabajo pesado en un
  fragment shader raymarched. Shader embebido en el binario, ningun fichero
  externo, ninguna dependencia opcional.

  Empieza como un 64k intro clasico (torus + solids + terrain + finale
  mandelbulb + credits) y despues explota en un MONTAJE de 80+ mini-escenas
  homenajeando cine, videojuegos, demoscene y guiños vascos.

--------------------------------------------------------------------------------
 REGLAS DEL COMPO (EE 64K INTRO)
--------------------------------------------------------------------------------

  * Tamaño maximo: 65536 bytes (un solo fichero ejecutable).
  * Solo librerias del sistema por defecto (nada tipo msvcr70.dll o SDL2).
  * Sin permisos de root/admin.
  * Salida limpia con ESC.
  * No escribir a disco (excepto tmp, y limpiar al salir).

--------------------------------------------------------------------------------
 DEPENDENCIAS RUNTIME (dynamic-linked, no cuentan al tamaño)
--------------------------------------------------------------------------------

  libc.so.6      (siempre)
  libm.so.6      (siempre)
  libX11.so.6    (siempre en cualquier Linux con entorno grafico)
  libGL.so.1     (siempre en cualquier Linux con graficos; provee GLX)
  libasound.so.2 (ALSA, siempre en cualquier Linux con audio)
  libpthread     (parte de glibc moderno)

  Instalar HEADERS en Debian/Ubuntu para compilar:
      sudo apt install libx11-dev libgl1-mesa-dev libasound2-dev

--------------------------------------------------------------------------------
 BUILD
--------------------------------------------------------------------------------

      make              # compila y muestra reporte de tamaño
      make pack         # aplica UPX al ELF final (build/demo64k.final)
      make run          # ventana 1280x720
      make run-fs       # pantalla completa
      make clean

--------------------------------------------------------------------------------
 RUN
--------------------------------------------------------------------------------

  Fullscreen (por defecto):
      ./build/demo64k.final
      ./build/demo64k

  Ventana 1280x720:
      ./build/demo64k.final w
      ./build/demo64k w

  Teclas:
      ESC / Q       quit
      N             quit (respuesta al prompt CRT)
      Y             reinicia visual+audio desde el principio
      ENTER         skip al post-DANCE (arranca la parte de mini-juegos)
      Click mouse   quit (escape hatch)

  Al terminar el GAME OVER final la demo se cierra automaticamente.

--------------------------------------------------------------------------------
 TIMELINE (~337s total)
--------------------------------------------------------------------------------

  --- BLOQUE 64k INTRO CLASICO (0-63s) ---
     0 -  2 s   card 0  : FELISUCO
     2 -  4 s   card 1  : IN EE34 VISION
     4 -  8 s   card 2  : COSMIC RUSH 64K
     8 - 16 s   TORUS   : donut plum con grid wireframe sobre papel lavanda
    16 - 22 s   SOLIDS  : grid infinito de cajas/octaedros fly-through
    22 - 30 s   ORBIT   : 5 solidos girando alrededor de octaedro central
    30 - 33 s   NEBULA  : particulas cosmicas + shockwave sincro con kick
    33 - 41 s   TUNNEL  : atravesando un tubo torcido
    41 - 49 s   TERRAIN : heightmap raymarched + cielo purpura
    49 - 57 s   FINALE  : mandelbulb + arpeggio A minor
    57 - 63 s   CREDITS : FELISUCO / CTM / THANK YOU en papel

  --- BLOQUE CRT + MINI-JUEGOS (63-337s) ---
    63 - 69 s   ANOTHER WORLD-style preroll: CRT verde, HDD, prompt Y/N
    69 - 81 s   DANCE 4 chapters (aurora / kaleidoscope / pixel / arena)
                  con drop de techno 160 BPM
    81 - 99 s   MATRIX digital rain
    99+  s      mini-games/refs montage @ 4x speed (~3s cada uno):
                  SHMUP · TETRIS · MARIO · PACMAN · PONG · ASTEROIDS ·
                  STAR WARS · SNAKE · BREAKOUT · KAMEHAMEHA · DVD ·
                  WOLFENSTEIN · STREET FIGHTER · FLAPPY BIRD · BSOD ·
                  SONIC · HAL 9000 · INDIANA JONES · TERMINATOR ·
                  BLADE RUNNER · IKURRIÑA · EUSKAL LOGO · DONKEY KONG ·
                  ZELDA · GALAGA · TRON · JURASSIC PARK · AKIRA ·
                  MEGA MAN · BACK TO THE FUTURE · FROGGER · METROID ·
                  JAWS · STRANGER THINGS · DUNE · GHOSTBUSTERS · DOOM ·
                  CONTRA · METAL SLUG · BOMBERMAN · MINECRAFT · STAR TREK ·
                  PLASMA · KEFRENS BARS · ROTOZOOMER · STARFIELD 3D ·
                  METABALLS · FIRE · GREETINGS SCROLLER · CENTIPEDE ·
                  TUNNEL FX · VECTOR BALLS · MANDELBROT · ANOTHER WORLD ·
                  ALIEN xenomorph · SPACE INVADERS · AMIGA WORKBENCH ·
                  KITT scanner · VOXEL LANDSCAPE · DRAGON BALL SS ·
                  PREDATOR thermal · Q*BERT · MS-DOS prompt · SEGA splash ·
                  PORTAL · ROCKY · MATRIX pill · GAMEBOY boot · RAMBO ·
                  PIKACHU · MTV · WINDOWS 3.1 · MARIO KART · SIMPSONS ·
                  BATMAN signal · SUPERMAN shield · MASTER CHIEF (Halo)
   ~337 s       INSERT COIN / GAME OVER  -->  auto-close

--------------------------------------------------------------------------------
 AUDIO
--------------------------------------------------------------------------------

  Mini synth procedural via ALSA en thread separado. Cero samples.

  SONG A (dark minor, 120 BPM):
      Progresion Am - F - C - G
      Kick 4-on-the-floor + snare beats 2/4 + off-beat hats
      Bass saw + octave con sidechain-like dip en cada kick
      Pad triada con LFO lento + lead melody escala A minor
      Arp finale A minor arpeggio en la parte mandelbulb

  SONG B (techno drop, 160 BPM):
      Progresion Em - C - G - Dm mas etereo
      Kick mas fuerte con click + hats de 16 (0.09s)
      Solo durante DANCE (T=69-81)
      Fade in/out limpio, silencio dramatico en MATRIX

  El shader recibe `T` (tiempo audio-driven) y `B` (beat envelope 0..1)
  para sincronia visual-musical.

--------------------------------------------------------------------------------
 ARQUITECTURA
--------------------------------------------------------------------------------

  src/main.c
      XOpenDisplay + glXChooseFBConfig + glXCreateContextAttribsARB (3.3 core)
      + main loop con XNextEvent. Fullscreen via _NET_WM_STATE_FULLSCREEN.
      Punteros GL cargados via glXGetProcAddressARB (evita GLEW).
      Fullscreen triangle via gl_VertexID trick (sin VBO).
      Torus mesh 28x14 con VBO/EBO (flat shading via dFdx/dFdy).
      Keyboard: event loop + XQueryKeymap polling (double-safety en XWayland).
      Time-remap dispatcher para reordenar/velocidad de escenas sin editarlas.

  src/audio.c
      pthread + ALSA (snd_pcm_open + snd_pcm_writei blocking).
      Osciladores sin/saw/sqr en C, kick/snare/hat sinteticos.
      Master volume schedule con fades entre song A y song B.

  shader.frag
      Todas las escenas viven aqui: raymarching + SDFs + procedurales +
      mini pixel-art font (glyphs 3x5 packed en int bits).
      9 funciones scene_extras1..9 con 62 mini-escenas del montaje.
      Se embebe en compile time por el Makefile via sed -> src/shader_embed.h.
      Iteracion: editar shader.frag y `make` recompila (~1 segundo).

--------------------------------------------------------------------------------
 REPORTE DE TAMAÑO
--------------------------------------------------------------------------------

  Version actual: ~62 KB (94% del budget de 64 KB).

  Pipeline de compresion:
      elf raw       ~333 KB   (gcc -Os + strip)
      upx --best     ~62 KB   (LZMA compression, ELF real ejecutable)

  El .final es un ELF nativo (double-click funciona en cualquier file
  manager). No hay shell trampoline ni auto-extract: es el binario real.

--------------------------------------------------------------------------------
 ORIGEN
--------------------------------------------------------------------------------

  Version big-brother:  ../cosmicrush3/  (Python + pygame, demo compo grande)
  La estructura visual mimica CR3 pero cada escena es un shader GLSL
  original, no un port del codigo Python (imposible portar numpy a GLSL).

  Escenas basadas en CR3:
    * INTRO cards -> mismo estilo paper lavanda + typography black
    * TORUS       -> plum + grid wireframe (matches TorusScene BG/palette)
    * SOLIDS      -> inspirado en SolidsRainScene de CR3
    * ORBIT       -> inspirado en OrbitingSolidsScene de CR3
    * NEBULA      -> particulas cosmicas + shockwave sincronizado
    * TERRAIN     -> heightmap fly-through como en CR3
    * FINALE      -> mandelbulb (nuevo, no equivalente 1:1)
    * CREDITS     -> FELISUCO/CTM/THANK YOU stacked sobre papel

  El bloque de mini-juegos es exclusivo de la version 64k: aprovechando
  que cabe muchisimo shader en pocos KB tras UPX, se rellena el budget
  con 60+ mini-escenas homenaje.

--------------------------------------------------------------------------------
 CREDITOS
--------------------------------------------------------------------------------

  Code + shader ..... felisuco
  Music (synth) ..... procedural, C
  Tools ............. C99, gcc -Os, X11 headers, GL headers, ALSA headers, UPX
  Group ............. CTM / Chimuelos Taxidermistas En Motonieve

  felisuco  --  info@justdust.com
  https://justdust.com

  Todos los personajes, logos y refs son propiedad de sus respectivos
  dueños. Uso puramente como homenaje demoscene sin animo de lucro.

--------------------------------------------------------------------------------
 GREETINGS
--------------------------------------------------------------------------------

  To the good people at EE34, y a toda la scene: RGBA, TPOLM, ULM, iNK,
  MERCURY, FARBRAUSCH, TITAN, KEFRENS y a todos los que siguen empujando
  bytes uno a uno.

  STAY COSMIC. KEEP CODING.

================================================================================