BlitzBasic-Community-Tutorial

Aus Wikibooks
Wechseln zu: Navigation, Suche

Dieses Buch steht im Regal Programmierung.


Einführung[Bearbeiten]

Vorwort[Bearbeiten]

Hallo, erstmal! Du willst also die hohe Kunst der Programmierung erlernen. Ob du es glaubst oder nicht, indem du dieses Tutorial geöffnet hast, hast du den ersten Schritt auf dem langen Weg zu deinem ersten Spiel getan. Wahrscheinlich wirst du viele Rückschläge und Enttäuschungen erleiden, doch dies passierte jedem von uns, sogar den Programmierern von z.B. EA-Games oder MMOG-Spielen.

Spieleprogrammierung bedeutet harte Arbeit. Nur wenn man sich wirklich dafür interessiert und sich anstrengt, kann man die schwierigen Aufgaben bewältigen. Doch das heißt NICHT, dass Programmieren keinen Spaß macht. Ganz im Gegenteil, es ist das interessanteste Hobby, das ich kenne.

In diesem Tutorial geht es um die Programmiersprache BlitzBasic. Möglicherweise hat dir jemand erzählt, dass C++ (eine weitere Programmiersprache) oder das Programm "GameMaker" wesentlich besser für Spieleprogrammierung geeignet ist. Das stimmt jedoch nicht ganz. BlitzBasic ist wesentlich mächtiger als der GameMaker. Das bedeutet, dass Spiele, die mit Blitz entwickelt wurden, wesentlich schneller sind. Außerdem kann man mit Blitz so gut wie ALLES machen, im Gegensatz zum GameMaker, dessen Funktionsumfang stark begrenzt ist. C++ ist zwar schneller als Blitz und kann eigentlich auch viel mehr, aber da die Sprache sehr kompliziert ist, braucht man meist jahrelange Erfahrung, bis man einen simplen Snake-Klon zustande gebracht hat.

Ich rede hier so lässig von Programmiersprachen, aber was ist das überhaupt? Also, wie die meisten schon wissen, versteht der Computer keine "normalen menschlichen Wörter", sondern nur 1 und 0. Die 1 steht für "Strom fließt" und die 0 steht für "Strom fließt nicht" (Dies bezeichnet man übrigens als Binär-Code). Man kann sich vorstellen, dass so zu Programmieren ziemlich kompliziert ist; deshalb entwickelte man Assembler. Assembler ist sozusagen die "Ur-Sprache" und stellte eine Vereinfachung des Binärcodes dar. Häufig vorkommende Zahlenfolgen wurden zu "Wörtern" zusammengefasst. Ab da ging es bergauf mit der Programmierung. Es wurden immer mehr neue und leichter zu verstehende Programmmiersprachen entwickelt. Trotzdem ist so eine Sprache nicht mit einer normalen menschlichen Sprache wie z.B. Englisch zu vergleichen. Es ist vielmehr eine Art "Code" (deshalb wird programmieren auch oft als "coden" bezeichnet).

Das Programm, das den Code in Binärcode umwandelt, nennt sich übrigens Compiler.

Ein weiterer Ausdruck, den du kennen solltest, ist "Syntax". Aber nicht vom Wort abschrecken lassen ;). Es ist einfach die "Grammatik" einer Programmiersprache.

Wo bekommt man Hilfe?[Bearbeiten]

Es hat sich eine recht große Internetcommunity um BlitzBasic entwickelt. Einen ersten Einblick in die Sprache gibt http://www.blitzbasic.de. Auf www.blitzbase.de findet sich eine Übersicht über alle BlitzBasic-Befehle mit Beispielen und Erklärungen. Das könnte man quasi als Wörterbuch der Sprache BlitzBasic ansehen. Dieses Wikibuch hier versucht hingegen, die Grammatik beizubringen und den Einsatz der "Wörter" zu lehren.

Dieses Buch stellt nicht den Anspruch, perfekt zu sein, und stellt auch nicht an dich den Anspruch, alles auf Anhieb zu verstehen. Es ist ganz klar, dass beim Lesen Fragen aufkommen. Probleme sind ein Hauptbestandteil des Programmierens. Darum versuche, sie selbst zu lösen! Sollte dies nicht gelingen, so gibt es mehrere Internetforen, in denen du deine Fragen stellen kannst. Dieses Buch wurde größtenteils von Mitgliedern des Forums http://www.projectblitz.de (aber leider ist es nicht mehr online) geschrieben. Sollten sich direkt Fragen aus dem Text ergeben oder dir gar Fehler und Unklarheiten auffallen, wende dich bitte zum etabliertesten und größten deutschsprachige Blitzbasicforum http://www.blitzforum.de. Dort wird dir in der Regel schnell geholfen.

Wenn du des Englischen mächtig bist, gibt es noch eine weitere, sehr gute alternative Anlaufstelle: die internationale, englischsprachige Community auf der offiziellen BlitzBasic-Seite http://www.blitzbasic.com. Dort findet sich ein riesiges Forum voller hilfsbereiter Menschen und auch der offizielle BlitzBasic-Support. Besonders in BlitzBasic entdeckte Fehler sollten dort gemeldet werden.

Über Basic[Bearbeiten]

Wikipedia-logo-v2-de.svg
Wikipedia hat einen Artikel zum Thema:
BlitzBasic

BlitzBasic basiert auf der Basic-Syntax; das bedeutet, dass es eine der am leichtesten zu erlernenden Sprachen ist. Allerdings wurde BlitzBasic (kurz: BB) um einige neue Features ergänzt (Directx-Unterstützung, Grafikbefehle) und auf Windows und andere neuere Betriebssysteme übertragen. Dabei wurde die einfache Basic-Syntax auf weite Strecken beibehalten. Auch wurden einige Optimierungen vorgenommen.

BlitzBasic3D (kurz: B3D) ist eine Erweiterung zu dem normalen Blitz. Wie der Name schon sagt, wird die Sprache durch einige spezifische 3D-Grafikbefehle erweitert. So können Würfel und andere 3D-Objekte durch einfache Befehle erstellt werden. Außerdem kann man die Kamera sehr einfach mit den Befehlen für Meshs an seine Bedürfnise anpassen. Ein vollständiges Kollisionssystem ist genauso vorhanden, wie die Möglichkeit, Heightmaps zu erstellen. Das Ganze basiert zwar noch auf DirectX-7-Basis, aber trotzdem lassen sich immer wieder erstaunliche Effekte auf den Bildschirm zaubern. Allerdings ist dafür mehr Übung notwendig, als für den Umgang mit einfachen 2D-Sachen.

BlitzPlus (kurz: B+) ist ebenfalls eine Erweiterung zu BlitzBasic. Wie auch B3D kann es alle 2D-Funktionen, aber keine 3D-Funktionen. Stattdessen kann mit b+ die sogenannte GUI (Graphical User Interface) verwendet werden. Damit lassen sich einfache Anwendungen realisieren, z.B. Grafikprogramme, Internet-Browser und Taschenrechner.

BlitzMax (kurz: BMax) ist eine erweiterte Version von BB. Es arbeitet mit z.T. anderer Syntax (anderen Befehlen) als die vorigen Versionen. Außerdem ist es betriebssystemübergreifend. Sprich: Ein Programm, das du in Windows entwickelt hast, kannst du auch für Linux oder Mac-Intosh PCs nutzbar machen.

Demoversionen der Editoren für die jeweiligen Versionen kann man sich hier herunterladen. Sie sind allerdings wie bei Demoversionen üblich stark eingeschränkt: http://blitzbasic.de/download.htm

Ich empfehle zum Ausprobieren Blitz3D.

Inhalt[Bearbeiten]

Hier werden die Grundlagen der BlitzBasic-Programmierung und -Syntax vermittelt.
Hier liegt der Quelltext eines Textadventures vor. Fertige Codes sind ideal, um sich selbstständig in eine Programmiersprache einzuarbeiten.
Hier werden die Grundlagen der visuellen Darstellung von Inhalten in BlitzBasic vermittelt.
Hier wird die Abfrage auf Kollisionen in BlitzBasic erläutert.
In diesem kapitel wird beschrieben, wie man in BlitzBasic Sounds einbindet bzw. abspielt.
Hier wird anhand eines Tutorials gezeigt, wie man Spiele in BlitzBasic schreibt.
Hier wird der Umgang mit dem Dateisystem in BlitzBasic näher erläutert.
Hier wird die Möglichkeit in BlitzBasic, über das Netzwerk und über das Internet zu kommunizieren, erläutert.
BlitzBasic unterstützt sogar die Wiedergabe von Videos. Wie man die Videowiedergabe realisiert, wird hier erklärt.
Hier wird der Umgang mit Speicherbänken in Blitz beschrieben.
  • DLLs 00% fertig
    Den Themenbereich DLLs vertiefen...


In diesem Abschnitt liegt eine kurze Einführung in Blitz3D (B3D) vor.
Hier liegt ein unfertiges Tutorial vor, dass den Umgang mit 3d-Objekten verdeutlichen soll.


Zusatzprogramme[Bearbeiten]

Sicher, ein Spiel funktioniert auch wenn man eine Meute brauner einfarbiger Ovale über den Schirm wetzen lässt und an jeden "Keks" dranschreibt. Aber zufriedenstellend ist das für die meisten Programmierer nicht. Deshalb hier eine Zusammenstellung praktischer Zusatzprogramme:

2D-Programme/Bildbearbeitungsprogramme[Bearbeiten]

Mit ihnen lassen sich Bilder und Texturen erstellen:

Die kostenlose, erheblich umfangreichere Alternative von Paint. Die Software ist schnell geladen und bietet neben Ebenen genug Funktion professioneller zu zeichnen.
Ein sehr mächtiges Bildbearbeitungsprogramm, was schon sehr nah an kommerzielle Programme wie Photoshop heranreicht.

3D-Programme[Bearbeiten]

Kostenloser und einfach zu benutzender 3D-Modeller. Gerade für Anfänger ist dieses Programm ein Segen, da es auf den ersten Blick nicht so überladen ist und trotzdem viele wichtige Funktionen bereit stellt, so zum Beispiel auch einen UV-Editor. Die Engine basiert auf dem 3D-Modeller Nendo und kann sich daher gut sehen lassen, allerdings hat Wings 3D Schwächen im Bereich Rendering und Animation. Wings 3D ist besonders gut für Low-Poly Modelle geeignet.
Sehr leistungsstarkes, kostenloses Open Source-3D Programm. Es werden viele gängige 3D-Formate und Betriebssysteme (u.a. Windows9x/ME/2000/XP/Vista/7/Mobile, Linux, MacOS X) unterstützt. Es ist vor allem für Anfänger empfehlenswert, da es viele kostenlose Anleitungen gibt.
3D-Modeller, der auf das Wesentliche reduziert ist. Glänzt vor allem durch haufenweise Import- und Exportformate, speichert auch in ".b3d". Nach 30 Tagen kostet die weitere Nutzung der Speicherfunktion von Milkshape 25 Euro.
Auch als "6CE"-Version erhältlich, welche aber nur sehr selten auf Heft-DVDs/CDs erscheint. Kostet allerdings dann auch nicht mehr als 10 Euro. Ansonsten ist es in der oberen Preisklasse angesiedelt, bietet aber auch dementsprechend viel Professionalität.

Sonstige Programme[Bearbeiten]

Sehr nützlich zur Komprimierung fertig kompilierter EXE-Dateien.
  • Ressource-Hacker
Programm zum Ändern der Ressourcen ausführbarer Dateien, u.a. die Icons von EXE-Dateien. Die Webseite des Herstellers ist offline. Das Programm kann aber bei Chip heruntergeladen werden.

Siehe auch[Bearbeiten]