Demoscene

   Demoscene is an underground [1]hacker [2]art subculture revolving around
   making so called [3]demos, programs that produce rich and highly
   [4]curious and intriguing audiovisual effects which are sometimes limited
   by strict size constraints (so called [5]intros). The scene originated in
   northern [6]Europe sometime in 1980s (although things like screen hacks
   existed long before) among groups of [7]crackers who were adding small
   signature effect screens ("crack intros") into their cracked software
   (popularly likened to "digital graffiti"); [8]programming of these cool
   effects later became an art of its own and started to have their own
   competitions (sometimes with high financial prizes), so called [9]compos,
   at dedicated real life events called [10]demoparties (which themselves
   evolved from [11]copyparties, real life events focused on [12]piracy). The
   community is still centered mostly in the [13]Europe (primarily Finland,
   in some countries demoscene was even officially added to the cultural
   heritage), it is underground, out of the [14]mainstream; [15]Wikipedia
   says that by 2010 its size was estimated to 10000 people (such people are
   called demosceners or just sceners).

   Demoscene is a bit of a bittersweet topic: on one side it's awesome, full
   of beautiful hacking, great ideas and minimalism, on the other side there
   are secretive people who don't share their source code (most demos are
   [16]proprietary) and ugly unportable programs that exploit quirks of
   specific platforms. Common platforms are [17]DOS, [18]Commodore 64,
   [19]Amiga or [20]Windows. These guys simply try to make the coolest
   visuals and smallest programs, with all good and bad that comes with it.
   Please strive to take only the good of it.

   Besides "digital graffiti" the scene is also perhaps a bit remotely
   similar to the culture of street rap in its underground and competitive
   nature, but of course it differs by lack of improvisation and in centering
   on groups rather than individuals. Nevertheless the focus is on
   competition, originality, style etc. But demos should show off
   technological skills as the highest priority -- trying to "win by content"
   rather than programming skills is sometimes frowned upon. Individuals
   within a demogroup have roles such as a [21]programmer, visual artist,
   music artist, director, even [22]PR etc. The whole mindset and
   relationship to technology within demoscene is much different from the
   mainstream; for example it's been stated that while mainstream sees
   computers just as a tool that should just make happen what we imagine, a
   demoscener puts technology first, he doesn't see computing platforms in
   terms of better or worse e.g. for its raw computational power, he rather
   sees a rich world of unique computing platforms, each one with specific
   personality and feel, kind of like a visual artist sees different painting
   styles.

   A demo isn't a [23]video, it is a non-[24]interactive [25]real time
   executable that produces the same output on every run (even though
   categories outside of this may also appear). [26]Viznut has noted that
   this "static nature" of demos may be due to the established culture in
   which demos are made for a single show to the audience. Demos themselves
   aren't really limited by resource constraints (well, sometimes a limit
   such as 4 MB is imposed), it's where the programmers can show off all they
   have. However compos are often organized for intros, demos whose
   executable size is limited (i.e. NOT the size of the source code, like in
   [27]code golfing, but the size of the compiled binary). The main
   categories are 4 KB intros and 64 KB intros, rarely also 256 KB intros.
   Apparently even such categories as 256 [28]byte intro appear. Sometimes
   also platform may be specified (e.g. [29]Commodore 64, [30]PC etc.). The
   winner of a compo is decided by voting.

   Some of the biggest demoparties are or were Assembly (Finland), The Party
   (Denmark), The Gathering (Norway), Kindergarden (Norway) and Revision
   (Germany). A guy on https://mlab.taik.fi/~eye/demos/ says that he has
   never seen a demo [31]female programmer and that females often have free
   entry to demoparties while men have to pay because there are almost no
   women anyway xD Some famous demogroups include Farbrausch (Germany, also
   created a tiny 3D shooter game [32].kkrieger), Future Crew (Finland),
   Pulse (international), Haujobb (international), Conspiracy (Hungary) and
   [33]Razor 1911 (Norway). { Personally I liked best the name of a group
   that called themselves Byterapers. ~drummyfish } There is an online
   community of demosceners at at https://www.pouet.net.

   On technological side of demos: great amount of [34]hacking, exploitation
   of bugs and errors and usage of techniques going against "good programming
   practices" are made use of in making of demos. Demosceners make use and
   invent many kinds of effects, such as the plasma (cycling color palette on
   a 2D noise pattern), copper bars, [35]moire patterns, waving, lens
   distortion etc. Demos are usually written in [36]C, [37]C++ or
   [38]assembly (though some retards even make demos in [39]Java [40]lmao).
   In intros it is extremely important to save space wherever possible, so
   things such as [41]procedural generation and [42]compression are heavily
   used. Manual [43]assembly optimization for size can take place.
   [44]Tracker music, [45]chiptune, [46]fractals and [47]ASCII art are very
   popular. New techniques are still being discovered, e.g. [48]bytebeat.
   [49]GLSL shader source code that's to be embedded in the executable has to
   be minified or compressed. Compiler flags are chosen so as to minimize
   size, e.g. small size optimization (-Os), turning off buffer security
   checks or turning on fast [50]float operations. The final executable is
   also additionally compressed with [51]specialized executable compression.

See Also

     * [52]hacker culture
     * [53]code golf
     * [54]databending
     * [55]kkrieger
     * [56]procedural generation
     * [57]bytebeat
     * [58]LAN party
     * [59]MUD

Links:
1. hacking.md
2. art.md
3. demo.md
4. interesting.md
5. intro.md
6. europe.md
7. cracker.md
8. programming.md
9. compo.md
10. demoparty.md
11. copyparty.md
12. piracy.md
13. europe.md
14. mainstream.md
15. wikipedia.md
16. proprietary.md
17. dos.md
18. c64.md
19. amiga.md
20. windows.md
21. programmer.md
22. pr.md
23. video.md
24. interactive.md
25. real_time.md
26. viznut.md
27. golf.md
28. byte.md
29. c64.md
30. pc.md
31. female.md
32. kkrieger.md
33. razor_1911.md
34. hacking.md
35. moire.md
36. c.md
37. cpp.md
38. assembly.md
39. java.md
40. lmao.md
41. procgen.md
42. compression.md
43. assembly.md
44. tracker_music.md
45. chiptune.md
46. fractal.md
47. ascii_art.md
48. bytebeat.md
49. glsl.md
50. float.md
51. executable_compression.md
52. hacking.md
53. golf.md
54. databending.md
55. kkrieger.md
56. procgen.md
57. bytebeat.md
58. lan_party.md
59. mud.md