demoscene stories, and old-school code tricks presented at fmx2015
TRANSCRIPT
![Page 1: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/1.jpg)
DEMOSCENE STORIES, AND OLD SCHOOL CODE
TRICKSRafal Koffer Ice-k (Incuvo) & Tomasz Bednarz Warlock (QUT, ACM
SIGGRAPH IRC )
7th May 2015 @ FMX 2015
![Page 2: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/2.jpg)
DEMOSCENE
demoscene was born in the computer
underground, and demos are the product of
extreme programming and self-expression
![Page 3: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/3.jpg)
DEMOSCENE VS VFX
• Demoscene is all about all computations done in real-time
• Demoscene productions run as standalone executables (not pre-rendered
animations)
• Demoscene executable has total size not over 4kb, 64kb, etc…
• Demoscene needs to use many procedural generators to overcome size
limitations (generate music, textures, meshes in fly) - rather than load and
operate on “big” source files
![Page 4: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/4.jpg)
OUR STORY
![Page 5: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/5.jpg)
EVERYTHING STARTED
WITH A
![Page 6: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/6.jpg)
HOW WE HAVE STARTED
Early computer exchange/market
![Page 7: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/7.jpg)
COMPUTER MARKET AND VIRUS
STORY
![Page 8: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/8.jpg)
BEGINNINGS WERE
CHALLENGING
MATH KNOWLEDGE ON LEVEL OF
ALU
![Page 9: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/9.jpg)
NO FPU BUILD
IN
BEGINNINGS WERE
CHALLENGING
![Page 10: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/10.jpg)
NO GPU
BEGINNINGS WERE
CHALLENGING
![Page 11: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/11.jpg)
NO INTERNET !!!
BEGINNINGS WERE
CHALLENGING
SWAPPING ONLY!
![Page 12: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/12.jpg)
& NO REFERENCES AVAILABLE, JUST
EXPERIMENTS
BEGINNINGS WERE
CHALLENGING
![Page 13: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/13.jpg)
BUT...
![Page 14: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/14.jpg)
IN EUROPE EVERYBODY C++
![Page 15: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/15.jpg)
AND ASSEMBLY AND...
![Page 16: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/16.jpg)
WE HAD A DREAM TO CREATE
IMPOSSIBLE
![Page 17: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/17.jpg)
WE TRAVEL TO THE PARTY
PLACE
![Page 18: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/18.jpg)
DEMOSCENE PARTIESAND HOW WE WENT TO THE GENERAL PROBE II PARTY
• Demoscene = Cult of DArt.
![Page 19: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/19.jpg)
WORKFLOW (CREATING
DEMOS)
![Page 20: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/20.jpg)
DEMO
• real-time procedural visualisations (not pre-
rendered animations!)
• executable
• limited in size
• 256b, 512b, 1k, 4k, 64k, floppy+
• platforms
• atari, c64, amiga, pc, web
• design process
• group gathering
• music before demo
• demo before music
• code tricks to achieve impossible
Revolt by Amnesty, 1996
![Page 21: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/21.jpg)
PARTY PLACE
COMPETITION
![Page 22: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/22.jpg)
AMIGA AMIGA AMIGA
• released in 1993
• motorola 68EC020 CPU 14.3Mhz
• ROM 512 kB, RAM 2MB
• AmigaDOS 3.1
![Page 23: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/23.jpg)
![Page 24: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/24.jpg)
TRAVEL BACK HOME
AND START WITH ANOTHER…
![Page 25: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/25.jpg)
DREAM
![Page 26: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/26.jpg)
WHY?
emotionspush hardware to the limits
competition
![Page 27: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/27.jpg)
TRICKS
• pmode
• rotations to avoid multiplications
• nop assembly instruction
• env mapping
• self-modified code (loading to registers)
![Page 28: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/28.jpg)
DO YOU REMEMBER HERCULES?
![Page 29: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/29.jpg)
SOME OLD-SCHOOL TOOLS (PC)
• Fasttracker2
• Autodesk Animator
• Autodesk 3D Studio
• Lightwave
• Turbo Assembler
• Watcom C/C++
• Volcov Commander
• Pov-Ray
• Turbo/Borland Pascal
• Photoshop
![Page 30: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/30.jpg)
ENVIRONMENTAL MAPPING
![Page 31: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/31.jpg)
3D OBJECTS
![Page 32: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/32.jpg)
VOODKA BY ABSENCE 1996• team work: 2 coders, musician, 2 pixel
artists
• music done in Fastracker2
• graphics done in Autodesk Animator in
mode 13h (320x200x256)
• 3D models in Autodesk 3D Studio, and
Volkov Commander
• code done in pure assembler, protected
mode EOS v3.02
• energy drink used: carrot juice
• linking and design took ~1 week
• total executable size ~800kbhttps://github.com/tomaszbednarz/demoscene-absence-voodka
![Page 33: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/33.jpg)
DEMOSCENE AND SCIENCE
![Page 34: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/34.jpg)
DEMOSCENE AND SCIENCE
![Page 35: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/35.jpg)
IMMERSIVE EBOOK
![Page 36: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/36.jpg)
MICE BONE CANCER VISUALISATION
![Page 37: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/37.jpg)
![Page 38: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/38.jpg)
DEMOSCENE = FOUR HATS
art science
design engineering
![Page 39: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/39.jpg)
interactive breathing
with June Kim - Colab, AUT University, NZ
![Page 40: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/40.jpg)
FLASHBACK 2015, SYDNEY
![Page 41: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/41.jpg)
join us at #Demoscene BIRDS OF A FEATHER
![Page 42: Demoscene Stories, and Old-School Code Tricks presented at FMX2015](https://reader034.vdocuments.us/reader034/viewer/2022042716/55a9f52d1a28ab481c8b4718/html5/thumbnails/42.jpg)
THANK YOU