Beyond The Limits The Usage of CPP in The Demoscene
Beyond The Limits The Usage of CPP in The Demoscene
http://www.pouet.net/content/screenshots/981.gif
Competitions
Artificial limitation
3
2
1
http://logoblink.com/wpcontent/uploads/2011/12/atarilogo.jpg
http://upload.wikimedia.org/wikipedia/commons/4/48/C64_startup_animiert.gif
http://fc02.deviantart.net/fs71/f/2012/029/2/d/amiga_logo___dark_blue_background_by_pixelozad4o0vdx.jpg
http://www.computermuseumshop.com/computer/hardware/ibm_international_business_machines/ibm_pc_at_5170/ibm_pc_at_logo.jpg
Team
Some facts
4 minutes 56 seconds
Assumption
Used tools
Creating content
Sequencing
Doing post FX
Synthesizer Tunefish
Real-time synthesizer
Viewport
Parameters
Operations
Waterlife
Planet
C++? Perfect!
No standard C-Lib
No inline functions
No virtual functions
http://murmolka.com/img/l/i42.tinypic.com/140x543.jpg
Demo player
Contains no UI
As small as possible
Conditional compilation
Demo engine
Inserted by compiler:_alloca_probe_16,_chkstk,...
Virtual functions
Constructors
Good!
http://upload.wikimedia.org/wikipedia/commons/1/1d/GameBoyAdvance1stGen.png
http://www.mobygames.com/images/shots/l/97274thelegendofzeldatheminishcapgameboyadvancescreenshot.png
Matt Current
by
CPU:
ARM7 at 16.7MHz
Lots of MB of ROM
No 3D acceleration*
No FPU
Very flexible sprite/
background engine
Thumb 16b/instr
Arm 32b/instr
* Kusma and I were at the time working at a Norwegian start-up, developing a low-power GPU, later to become the ARM Mali.
Shitfaced Clowns
Group members:
Dixan Music
Lug00ber Music
Synteesi Music
Fred 2D GFX
Snarling 3D GFX
Spooky Code
Q&A
Q: It's been 7 years. When's the next demo coming out?
Fun sprites,
fun restrictions,
yet somehow comfy
Console demos were just
becoming popular
Only a couple of active demo
groups
We thought we could do better
GBA Toolchain
http://nocash.emubase.de/gbapics.htm
C++? Perfect!
BUT:
Inner-loops:
http://cdn.altrn.tv/s/16eda490dec44cf7a6dc0a52a9fb4120_5_full.png
Effects breakdown
Embedded platforms
Mobile platforms
1
http://www.mobileapplicationservices.com/images/pageimg/crossplatformdevelopment.png
http://upload.wikimedia.org/wikipedia/commons/d/d7/CERN_Server_03.jpg
Why do we do that?
1
2
http://www.slengpung.com/?id=25357&eventid=623
http://www.slengpung.com/?id=25477&eventid=623
http://www.slengpung.com/?id=25521&eventid=623
http://www.slengpung.com/?id=25564&eventid=623
http://www.braincontrol.org/demos/enigma4_turtles_edition.zip
https://github.com/kusma/newton
Revision in Saarbrcken
Evoke in Cologne
(shameless ad)
www.swarm64.com
We're hiring
Send us a quick message at
[email protected]