Deutsche Portalseite für Blitz Basic

Übersicht
- Was kann Blitz Basic?
- Demo downloaden
- Blitz Basic kaufen
- Programmieren lernen
- Bücher über Blitz Basic
- Links
Was kann Blitz Basic?
Blitz Basic ist eine der einfachsten Programmiersprachen für Windows. Sie wurde speziell für Spieleprogrammierung entwickelt.

Früher musste man jahrelang C++ lernen, bis man endlich einen simplen Tetris-Klon in DirectX erstellen konnte. Besonders Anfänger haben größere Probleme mit der C++-Syntax. Bei der Programmierung mit DirectX kann man sich gleich die Kugel geben. Man hat das Gefühl, als ob es absichtlich so kompliziert gemacht wurde.

Mit Blitz Basic jedoch kann jeder 2D- oder 3D-Programme innerhalb von wenigen Wochen programmieren. Dabei ist Blitz Basic einfach zu erlernen und bietet genug Möglichkeiten und genug Power für professionelle Spiele. Natürlich ist Blitz Basic kein simpler Klick-Editor wie z.B. Click & Play. Hier muss ein Programm noch richtig programmiert werden.

Blitz Basic ist schnell. So kann Blitz Basic ein großes Hintergrundbild setzen und Hunderte von Objekten bewegen, ohne daß der Rechner in die Knie geht. Einige programmieren sogar noch auf PCs mit Pentium-1-Prozessoren.

Cletus Clay

Die meisten Blitz Basic-Befehle beschäftigen sich mit Grafik. Man kann Fenster mit beliebiger Auflösung und Farbtiefe öffnen (wahlweise als Vollbild oder als Fenster). Einfache Linien, Rechtecke, Kreise oder Punkte können genauso einfach gezeichnet werden wie große Grafiken, die in gängigen Formaten wie BMP und JPG geladen werden. Bilder können mit einem Befehl gedreht, skaliert oder verzerrt werden. Auch für zum Testen von Kollisionen bietet Blitz Basic Befehle. In einem Bild kann man eine Farbe durchsichtig (transparent) machen - dadurch lassen sich Spielfiguren ohne Ränder darstellen. Aber auch Animationen können so einfach wie noch nie zuvor erzeugt werden.

Blitz Basic ist in der Lage, Videos abzuspielen. Man kann während der Laufzeit Ausgabegröße und Position verstellen - und sogar mit anderen Grafikbefehlen kombinieren. Es können AVI, MPG, MOV und GIF geladen werden. Je nachdem, welche Codecs noch installiert sind, können noch andere Videoformate abgespielt werden.

Weiterhin kann Blitz Basic Sounds aus Formaten wie WAV, MP3, MIDI und OGG laden und dann im Hintergrund abspielen. Mehrere Soundkanäle werden automatisch gemischt. Lautstärke, Balance oder Frequenz von Sounds können während der Laufzeit manipuliert werden. Musik-CDs lassen sich problemlos abspielen.

Dr. Franken

Die Tastatur kann genau so einfach in Programmen verwendet werden wie Maus. Alle digitalen und analogen 2D- und 3D-Joysticks werden unterstützt (auch mehrere gleichzeitig). Alles geschieht ohne Verzögerungen.

Blitz Basic hat sehr viele Dateibefehle. Dateien können einfach für den Lese- und/oder Schreibzugriff geöffnet werden. Man kann abwechselnd im Binär- oder im ASCII-Modus auf eine geöffnete Datei zugreifen. Auch der Verzeichnisinhalt kann einfach ausgelesen werden.

Es gibt in Blitz Basic TCP/IP- und UDP-Netzwerkbefehle. Dabei spielt es keine Rolle, ob Daten in eine Datei oder in ein Netzwerk gesendet werden. In Blitz Basic sind es immer "Streams". Man schreibt/liest Daten mit denselben Befehlen.

Weiterhin gibt es DirectPlay-Netzwerkbefehle. Damit können Netzwerkspiele noch einfacher realisiert werden. Ein Spieler verbindet sich über einen Dialog mit einem Server und kann sofort loslegen. Sollte z.B. der Server ausfallen, dann wird ein anderer als Ersatzserver gewählt. Sollten Daten nicht ankommen, dann werden diese erneut gesendet.

Rockfall

Neben einfachen DIM-Feldern gibt es in Blitz Basic benutzerdefinierte Typen, die gleichzeitig auch als (dynamische) verkettete Listen dienen können. Auch größere Speicherbereiche können für ein Programm reserviert werden. Es steht der komplette Speicher zur Verfügung.

Alle von anderen Programmiersprachen bekannte mathematische Funktionen werden auch von Blitz Basic unterstützt. Acos, Asin, Atan, Cos, Sin, Tan, Log sowie einige weitere Funktionen können verwendet werden. Viele von anderen Sprachen bekannte Befehle gibt es auch in Blitz Basic.

Außer DirectX werden keine externen Bibliotheken benötigt. Verwendete Librarys werden sofort in die EXE eingebaut. Die erstellten Spiele benötigen keine Installation mit überall im System verstreuten DLL-Dateien. Die Spiele können sofort mit einem Doppelklick gestartet werden. Die Spiele sind auf allen Windows-Systemen lauffähig (Windows 95, 98, Me, 2000, XP).


Was kann Blitz Plus?
Blitz Basic wurde zu Blitz Plus weiterentwickelt. Diese Version enthält alle 2D-Befehle. Zusätzlich gibt es über 100 neue GUI-Befehle zum Entwickeln von Windows-Applikationen. Es gibt verschiedene Objekte wie z.B. Fenster, Button, CheckBox, RadioButton, Canvas, ComboBox, HtmlView, Label, ListBox, Menü, Panel, ProgBar, Slider, Tabber, TextArea, TextField, ToolBar, TreeView...

BB-Poker

Zuerst wird ein Fenster erstellt. Dann werden weitere Objekte hinzugefügt. Mit einheitlichen Befehlen werden sie bei Bedarf manipuliert (Größe ändern, deaktivieren, verstecken usw...). Blitz Plus hat ein besonderes Event-System, das alle eingehende Events prozedural verarbeitet.

Menü mit Blitz Plus

Besonders interessant ist Canvas-Objekt. Dieses Objekt wird wie eine Zeichenfläche verwendet. So können aufwendige Grafiken auch in ein Fenster eingezeichnet werden.


Was kann Blitz Basic 3D?
Mit Blitz Basic kann man nur 2D-Spiele entwickeln. Diese Spiele sind zwar einfacher zu programmieren - für die verwöhnten Gamer ist es aber etwas zu wenig. Speziell für 3D-Spiele wurde eine neue Version entwickelt: Blitz Basic 3D oder kurz Blitz3D.

Das Gute an Blitz3D ist, daß alle Befehle aus Blitz Basic auch in Blitz3D enthalten sind. Man kann sogar 3D-Grafik über normale 2D-Grafik legen und danach wieder 2D-Grafik über die 3D-Grafik legen.

Anders als in Blitz Basic werden alle 3D-Modelle als Objekte verwaltet. Hat man ein Objekt erstellt oder geladen, dann wird es in die 3D-Welt gesetzt. Man muss nicht jedes Mal ein 3D-Objekt wie in 2D neuzeichnen. Wurde es eingebaut, dann bleibt es solange, bis man es wieder entfernt.

Die 3D-Objekte können aus X-, 3DS-, B3D oder MD2-Dateien geladen werden. Man kann aber auch primitive Objekte wie Kegel, Kugel, Würfel oder Zylinder direkt erzeugen. In Blitz3D können Objekte aber auch vollständig aus Dreiecken zusammengesetzt werden.

Tech Demo

Alle Objekte können mit einheitlichen Befehlen beliebig skaliert, verschoben, gedreht oder verzerrt werden. Jedem Objekt kann eine Farbe und Transparenz zugewiesen werden. Auch Texturen können wie 2D-Bilder geladen/erstellt und dann auf 3D-Objekte gezogen werden. Neben einfachen Texturen kann man auch mehrere Texturen auf ein Objekt anwenden (Multitexturing).

Sowohl Texturanimationen, als auch 3D-Objektanimationen sind in Blitz3D möglich. Man kann sogar jeden Eckpunkt von 3D-Objekten verschieben (Mesh Deformation).

Damit man überhaupt etwas von der 3D-Szene sehen kann, gibt es in Blitz3D ein Kamera-System. Eine Kamera kann genau wie ein 3D-Modell verschoben oder gedreht werden. Neben Zoom- und Nebel-Einstellungen gibt es eine 2D-Kameraansicht (ohne Tiefenwirkung). Man kann sogar mehrere Kameras erzeugen und ein Splitscreen realisieren.

Weiterhin verfügt Blitz3D über ein Licht-System. Mehrere Lichtquellen können im 3D-Raum positioniert werden. Diese belichten danach 3D-Objekte. Es gibt Directional Light, Point Light und Spot Light.

Operation Chateau Pregny

Besonders interessant sind 3D-Sprites. Diese Objekte bestehen aus 2 Dreiecken und können sehr einfach skaliert oder gedreht werden. 3D-Sprites können z.B. für zahlreiche Effekte (auch in 2D) benutzt werden. So lassen sich Vollbild-Explosionen oder Fading-Effekte sehr schnell realisieren.

Sehr wichtig für 3D-Spiele sind Terrains (für Darstellung der Landschaften). Ein Terrain ist ein spezielles Objekt, welches Level-of-Detail (LOD) benutzt. Dadurch sind theoretisch Terrains mit Millionen von Polygonen möglich. Dabei werden nahe Terrainstellen sehr detailliert gezeichnet; weite Terrainstellen haben dagegen geringe Details.

Auch ein Kollision-System wurde ins Blitz3D eingebaut. Verschiedene Kollisions-Typen lassen sich definieren und dann mit einem Befehl auf Kollision checken.

Naked War

Einige Besonderheiten sollen hier nicht verschwiegen werden. Blitz Basic hat ein eigenes 3D-Dateiformat. Für einige 3D-Modeller existieren Plugins, um Modelle als B3D exportieren zu können. Diese B3D-Modelle unterstützen alle Blitz3D-Features.

Sehr interessant ist auch Maplet. Das ist ein 3D-Editor, der speziell für Blitz3D entwickelt wurde. Dieser 3D-Editor ist gratis und erzeugt eine sehr saubere 3D-Geometrie.


Was kann BlitzMax?

BlitzMax erschien im Dezember 2004. Damit lassen sich nicht nur Spiele (auf OpenGL oder DirectX), sondern auch Anwendungen unter Windows, Mac OS X und Linux erstellen. Ganz neu ist die Möglichkeit, objektorientiert zu programmieren. Zudem wird der Quelltext komplett in Maschinensprache compiliert. Somit sind BlitzMax-Programme in etwa so schnell wie Anwendungen, die in C geschrieben wurden. Außer der Möglichkeit objektorientiert zu programmieren, können jetzt Pointer genutzt werden. Die Programmiersprache nutzt zum Kompilieren den FASM und kann Assembler Quelltexte sowie GCC kompilierte Module einbinden.

Razoon

Einer der wichtigsten Aspekte von BlitzMax ist die Möglichkeit, vorkompilierte Module einzubinden und selbst Module zu erstellen und zu kompilieren. Die gesamte Sprache ist somit modular aufgebaut; es gibt sowohl von BlitzResearch Inc. selbst geschriebene Module, als auch solche, die die BlitzBasic-Community hervorgebracht hat. Zu vielen Modulen wird der Quelltext mitgeliefert, so dass Modifikationen durch den Programmierer möglich sind.

ChaosBreaker

BlitzMax stellt den jüngsten Spross der Familie dar. Es beherrscht mit einigen Ausnahmen auch 2D und die BB Grundsyntax (mit minimalen Abweichungen). Außerdem unterstützt es OpenGL, DirectX und OOP. Das wichtigste an BlitzMax ist die Kompatibilität mit Windows, Linux und Mac ohne Quellcodeänderung. Dieser muss lediglich auf jeder Plattform kompiliert werden.

(Quelle: Wikipedia)