42
DEMOSCENE STORIES, AND OLD SCHOOL CODE TRICKS Rafal Koffer Ice-k (Incuvo) & Tomasz Bednarz Warlock (QUT, ACM SIGGRAPH IRC ) 7th May 2015 @ FMX 2015

Demoscene Stories, and Old-School Code Tricks presented at FMX2015

Embed Size (px)

Citation preview

Page 1: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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

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

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

OUR STORY

Page 5: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

EVERYTHING STARTED

WITH A

Page 6: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

HOW WE HAVE STARTED

Early computer exchange/market

Page 7: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

COMPUTER MARKET AND VIRUS

STORY

Page 8: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

BEGINNINGS WERE

CHALLENGING

MATH KNOWLEDGE ON LEVEL OF

ALU

Page 9: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

NO FPU BUILD

IN

BEGINNINGS WERE

CHALLENGING

Page 10: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

NO GPU

BEGINNINGS WERE

CHALLENGING

Page 11: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

NO INTERNET !!!

BEGINNINGS WERE

CHALLENGING

SWAPPING ONLY!

Page 12: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

& NO REFERENCES AVAILABLE, JUST

EXPERIMENTS

BEGINNINGS WERE

CHALLENGING

Page 13: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

BUT...

Page 14: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

IN EUROPE EVERYBODY C++

Page 15: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

AND ASSEMBLY AND...

Page 16: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

WE HAD A DREAM TO CREATE

IMPOSSIBLE

Page 17: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

WE TRAVEL TO THE PARTY

PLACE

Page 18: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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

WORKFLOW (CREATING

DEMOS)

Page 20: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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

PARTY PLACE

COMPETITION

Page 22: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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
Page 24: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

TRAVEL BACK HOME

AND START WITH ANOTHER…

Page 25: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

DREAM

Page 26: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

WHY?

emotionspush hardware to the limits

competition

Page 27: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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

DO YOU REMEMBER HERCULES?

Page 29: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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

ENVIRONMENTAL MAPPING

Page 31: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

3D OBJECTS

Page 32: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

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

DEMOSCENE AND SCIENCE

Page 34: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

DEMOSCENE AND SCIENCE

Page 35: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

IMMERSIVE EBOOK

Page 36: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

MICE BONE CANCER VISUALISATION

Page 37: Demoscene Stories, and Old-School Code Tricks presented at FMX2015
Page 38: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

DEMOSCENE = FOUR HATS

art science

design engineering

Page 39: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

interactive breathing

with June Kim - Colab, AUT University, NZ

Page 40: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

FLASHBACK 2015, SYDNEY

Page 41: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

join us at #Demoscene BIRDS OF A FEATHER

Page 42: Demoscene Stories, and Old-School Code Tricks presented at FMX2015

THANK YOU