Wie entwickle ich mich vom Giga-Zuschauer zum Democoder
The Update
Vor kurzem hast du von der Existenz der Demoszene erfahren. Du hast Demos gesehen, die dich begeistert haben. Du willst aktiv werden, du willst auch Teil der Szene werden, über die du praktisch noch nichts weißt, von der du bislang nur ihre Werke gesehen hast.
Das ist im Prinzip einfach. Du schaust dir an, welche Wert- und Moralvorstellungen innerhalb der Szene existieren, prüfst, ob das mit deinen zu vereinbaren ist. Das ist im Prinzip der wichtigste Schritt, den viele übersehen und sich später aufregen. Die Szene ist nun einmal genauso ein Ort der Realität mit Neid und Missgunst wie überall anders auch. Du darfst dich nicht daran stören, dass es Leute gibt, die den lieben langen Tag ihre Arroganz zur Schau stellen. Du darfst dich nicht wundern, wenn du in IRC-Channeln gekickt wirst, weil du nicht wußtest, dass man den Gruppennamen nicht in Klammern vor's Handle schreibt. Das ist Teil der Selbstreinigung der Szene, die sie vor genau den Leuten schützt, die sich dort sowieso nicht wohl fühlen würden.
Man mag es arrogant nennen, auf der anderen Seite ist es halt für die, die dabei sind, ungemein hilfreich. Du solltest die Spielregeln akzeptieren aber dir auch nicht alles gefallen lassen. Im Grunde zählt ein höflicher Umgang. Fordere von niemandem, dass er dir etwas erklärt. Frag einfach, aber wenn du aus irgendeinem Grund keine Antwort erhälst, liegt das nicht unbedingt daran, dass man dir Böses will. Es könnte auch daran liegen, dass deine Frage entweder zu trivial war und von Google hätte beantwortet werden können, oder dass sie einfach schlecht formuliert war, d.h. unverständlich, unhöflich etc., oder einfach das derjenige, den du gefragt hast, selbst ein Huhn ist. Längst nicht alle Szener sind nett.
Wenn du soweit bist, dass du denkst, dass du hier richtig bist, schaust du dir an, welche Techniken eingesetzt werden. Visual Basic und Turbo Pascal sind dabei nicht die richtigen Werkzeuge. Für die meisten ist C++ das Mittel der Wahl, auch Java und Delphi werden des öfteren gesehen und gelegentlich taucht mal ein Flash-Demo auf. Auch dreht sich alles um das Erscheinungsbild. Niemanden interessiert, ob du deine 3D-Objekte in einem Binärbaum oder in einem Array gespeichert hast, niemanden interessiert, ob dein Programm auch auf Parallelrechnern läuft oder ob es auf zehn verschiedene OS portabel ist. Das sind nette Features, aber was zählt ist das Aussehen: Raum, Klang und Design.
Sollte auch das mit deinen Vorstellungen übereinstimmen, versuchst du erst einmal, Existentes nachzubauen. Schau dir deine Lieblingsdemos wieder und wieder an und überleg dir, wie man sowas wohl programmieren kann. Fang an, einfache Würfel in der dritten Dimension rotieren zu lassen und versuche zu verstehen, wie man z.B. Partikelsysteme und inverse Kinematik implementiert. Wenn das ganz gut funktioniert, hast du das nötige Handwerkszeug, selbst kreativ zu werden. Bis zu diesem Zeitpunkt hast du nach Möglichkeit noch nichts innerhalb der Szene veröffentlicht, es wird dir in vier Jahren selbst peinlich sein. Sobald du etwas eigenes erschaffen hast, zeigst du es auf einer Demoparty deiner Wahl.
Die Beobachtungen fängst du am besten über Web-Foren und Diskmags an (http://www.ojuice.net, http://www.pouet.net, http://www.wildmag.de, http://www.hugi.de) und blätterst einfach mal in den Sachen, die die Szene so zur Verfügung stellt. Informiere dich an Hand öffentlichen Materials. Als nächstes schaust du dir Unmengen Demos und Intros an (http://www.monostep.org), und dann versuchst du nachzuvollziehen, wie die Leute das wohl entwickelt haben. Ein paar nützliche Dinge auf dem Weg dorthin sind ein Compiler deiner Wahl (gerne verwendet wird MS Visual C++), ein API deiner Wahl (OpenGL, DirectX), Bibliotheken deiner Wahl (Sound mittels BASS, FMod, Framebuffer mittels Open/TinyPTC), und eventuell ein Demosystem deiner Wahl (DemoGL, Demopaja) und insbesondere enorme Motivation. Wie du mit den einzelnen Dingen umgehst ist überall nachzulesen. Für C++ gibt's Tausend Millionen Bücher, zu DirectX gibt's das SDK, zu OpenGL das RedBook und NeHes Tutorial etc., so dass du am besten erst mal alle Handbücher und Dokus liest und erst dann fragst.
The Update/CoPro