The Speed of Mathematics

Year: 2008 Authors: Javier Barrallo

Core claim

Demoscene demonstrates how mathematics and algorithmic optimization enable high-speed real-time audiovisual creation under extreme size limits.

Topics

Demoscene, real-time graphics, procedural generation, algorithmic optimization

Domains

calculus, algebra, geometry, discrete algorithms, digital art, music visualization, computer animation, graphic design

Methods

real-time rendering, procedural generation, formula optimization, sample-based trackers

Media

VGA graphics, 3D animations, music and sound effects, COM executables

Paper text

The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.

479

The Speed of Mathematics

Javier Barrallo The University of the Basque Country School of Architecture. Plaza Oñati, 2 20018 San Sebastián, SPAIN

Abstract

Demos are real time computer presentations made within a computer subculture known as Demoscene. Demos shows off the programmer’s ability to squeeze visual effects, graphics and music into very little space, often by generating images and sound data by means of optimized mathematical formulae and algorithms rather than just reading it from a data file.

What is Demoscene?

Demos are computer animated multimedia presentations made within a computer subculture known as Demoscene. The difference between ordinary animation movies and the demos is that the display of a demo is calculated live at the time it runs on a computer instead of being a playback of previously rendered scenes.

The ability of the programmer to create stunning visual effects in real time with the highest possible speed in its rendition is the biggest challenge of Demoscene. Demogroups create demos to demonstrate their abilities in programming, music, drawing, and 3D modeling. Demos are mostly composed of 3D animations mixed with 2D effects and full screen effects with a background of music and sound effects.

To push to demo to its limit it is necessary to have a very deep knowledge of Calculus, Algebra and Geometry. Procedural Generation is used for squeezing a lot of impressive audiovisual content like textures, landscapes or lights into very small executable programs. This is simply because a demo has not enough space to store a large amount of pre-made effects, textures, 3D objects, music and artwork.

From the first Demos to present day

The first demos were created around 1980 to fit in the first block of the floppy disk that was to be loaded into RAM (generally 512 to 4096 bytes). Those demos were a type of electronic graffiti introduced by software crackers prior to the loading of the cracked program.

In 1987 IBM introduced the VGA card using an 8-bit depth (256 colors) and a resolution of video array. The maximum size of an MS-DOS-based COM executable program was 64 Kilobyte (65536 Bytes). These numbers soon became standards in the Demoscene. Small file sizes have been an integral feature of demos from the very beginning. Nowadays, the practical need for very small demos had diminished, but the willingness to compete in squeezing much into little space had not disappeared.

Because of the strict size limits, demos show off the programmer’s ability to squeeze much into little space, often by generating graphic and sound data rather than just reading it from a data file. There are still competitions for demos under 256 Bytes (Yes Bytes, not Kilobytes) which require high skills in both assembly programming and algorithmic optimization.

Higher-level programming languages, such as C and C++, started to gradually take over assembly programming in the demos of the 1990s, when cycle-level timing was no longer considered as important as before and compilers were beginning to be able to produce code comparable to hand-coded assembly.

Parts of a Demo

Demoscene is an incredible source of graphical algorithms and visual effects. In fact, many of the especial digital effects we can presently see in movies and videogames have their origin in Demoscene.

The creativity and genius displayed on Demoscene has been possible due to the specialization of the members of Demogroup in different areas:

  • Visual Effects. Program code performing visual tricks, collectively called effects. Effects are often used to show off the programmer’s skills and are based on mathematical algorithms.
  • Music. Considered essential to demos. The use of sample-based trackers greatly affects the style of music used in Demos.
  • Graphics. Also known as GFX, typically only includes the work of the graphician. That is, still images, textures, 3D scenes, 3D objects and color schemes.
  • Design. In its broadest sense, refers to everything that combines the separate elements of a demo into a consistent whole, from the synchronization of soundtrack and visuals to the overall concept and narrative.

The first effects were implemented on either the Commodore 64 or the Amiga in the 1980s and became typical on IBM-DOS based computers during the 1990s. Some of these effects are the following: Scrollers, Tunnels, Wormholes, Sprites, Vector Balls, Plasma, Moire Patterns, Quads, Voxels, Zoomers, RotoZoomers, Metaballs, Fractals, IFS, Particle Systems and Bilboarded Systems.

All these effects will be shown in real time during the lecture. Some basic concepts like formulae optimization, real time rendering, calculation of FPS (Frames Per Second), discrete algorithms, etc. will be shown. The effects will be followed by the projection of a complete demo.

References

[1] http://www.scene.org/. Scene.org is a non-profit organization aimed at providing the ‘electronic art scene’ with a forum for communication and for sharing their work.

[2] http://www.icm2006.org/. “Demoscene: Mathematics in Movement”. Sessions August 24, 25 and 28 2006 at ICM (International Congress of Mathematicians). Madrid.

480

0 items under this folder.