Blitz Basic

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Blitz Basic (oft auch BlitzBasic oder kurz BB) ist eine Programmiersprache, die sich an der BASIC-Syntax orientiert und sich vor allem zum Programmieren von PC-Spielen eignet.

Blitz Basic entstand auf dem Amiga. Nach dem Untergang der Homecomputer beschloss der Autor Mark Sibly, Blitz Basic auf den PC für Windows zu portieren. Mittlerweile wird beim aktuellen BlitzMax-Ableger auch Macintosh und Linux berücksichtigt. Aus dieser Familie stammen folgende Sprachvarianten: Blitz2D, Blitz3D, BlitzPlus und BlitzMax. Blitz2D wird heute allerdings nicht mehr weiterentwickelt, da BlitzPlus und Blitz3D den vollen Sprachumfang von Blitz2D besitzen. Es existiert jedoch noch eine Demoversion von Blitz2D, die unbegrenzt genutzt werden kann und somit zum Lernen sehr gut geeignet ist.

Amiga[Bearbeiten]

Blitz Basic[Bearbeiten]

Blitz Basic ist ein Dialekt der BASIC-Programmiersprache. Der Compiler kam Anfang der 90er Jahre für den Amiga auf den Markt. Mark Sibly von Acid Software in Neuseeland hatte ihn im Hinblick auf die Programmierung von Computerspielen entwickelt. Er enthält zusätzliche Sprachelemente und Funktionen, die es erlauben, ohne größere Vorkenntnisse Multimediaanwendungen und Spiele zu schreiben. Der Vorteil von Blitz Basic im Bereich der Spieleprogrammierung ist, dass die Programmiersprache im grafischen Bereich sehr schnell arbeitet.

Blitz Basic 2[Bearbeiten]

Mit Blitz Basic 2 konnte man später noch Workbench-Anwendungen schreiben, außerdem wurden eine Menge neue Befehle hinzugefügt. Blitz Basic 2 wurde gegen Ende des Amigas zur Open Source AmiBlitz, welche immer noch intensiv weiterentwickelt wird.

PC[Bearbeiten]

Blitz2D[Bearbeiten]

Anfang 2000 begann dann die Entwicklung von Blitz Basic für den PC, einer 2D-Spieleprogrammiersprache basierend auf DirectX 7.0 mit einer Menge Features.

Hiermit kann man die Basic-Grundsyntax benutzen (beispielsweise If-Statements sowie For- und While-Schleifen). Man kann 2D-Grafiken und Sound ausgeben. Es basiert auf DirectX 7.0, welches die meisten Befehle zur Verfügung stellt, die man für 2D Spiele braucht. Da DirectX abwärtskompatibel ist, ist Blitz Basic zum jetzigen Zeitpunkt unter allen Windows Versionen verwendbar, welchen DirectX 7.0 oder höher zur Verfügung steht.

Blitz3D[Bearbeiten]

Blitz3D
Blitz3DLogo.png
Blitz3D Logo
Basisdaten
Erscheinungsjahr: 2001
Entwickler: Blitz Research Ltd.
Aktuelle Version: 1.107  (Drittes Quartal 2013)
Beeinflusst von: BlitzBasic
Betriebssystem: Windows
Lizenz: zlib/libpng
blitzbasic.com

Blitz3D (kurz auch B3D) kam nach ca. 68 Updates (bis v1.68) neu hinzu. Es fügte Blitz Basic mehr als 200 3D-Befehle hinzu. Mit dem Update 1.78 wurde der Compiler von der IDE getrennt. Die derzeitig neuste Version von Blitz3D ist 1.107.

Auch hier kann der Basic-Grundsyntax benutzt werden. Grundsätzlich steht der volle Sprachumfang von Blitz2D zur Verfügung. Neu hinzugekommen ist die Unterstützung von 3D-Objekten. Auch Manipulationen der 3D-Umgebung sind möglich. Wie bei Blitz2D kommt DirectX 7.0 zum Einsatz, wodurch Kompatibilität zu aktuelleren Versionen gewährleistet ist. Einarbeitungszeit ist hier allerdings vonnöten. Außerdem sollte man sich schon prinzipiell mit 3D-Game-Design beschäftigt haben. Die GUI-Befehle der BlitzPlus-Version sind nicht enthalten, allerdings gibt es für Blitz Basic und Blitz3D mittlerweile BlitzUI, eine kostenlose Erweiterung, welches die Sprachen um GUI-Funktionen erweitert. Die BlitzUI („Blitz User Interface“) für Blitz3D und BlitzBasic ermöglicht eine Annäherung an die Windows-typische Benutzeroberfläche wie unter anderem Menüleisten und Dropdown-Menüs, verwendet jedoch im Gegensatz zu BlitzPlus nicht die Windows Standard-GUI. Obwohl Blitz3D eigentlich keine Updates mehr erhalten sollte, veröffentlichte Mark Sibly eine Version, die Fehlerbehebungen für Nutzer von Windows 8 enthielt.

Blitz3D ist seit dem 03. August 2014 Open Source und ist auf GitHub erhältlich. Es wurde in Microsoft Visual C++ Version 6 programmiert.[1]

Blitz3D SDK[Bearbeiten]

Das Blitz 3D SDK gibt die Funktionen von B3D für andere Sprachen wie C++ oder auch BlitzMax frei. Da nicht alle B3D Befehle enthalten sind, gibt es keine Lösung für das Problem BlitzMax/3D. Zudem ist das SDK an Windows gebunden (Grafik- und Audioanweisungen laufen nur unter DirectX).

BlitzPlus[Bearbeiten]

BlitzPlus
BlitzPlusLogo.png
BlitzPlus Logo
Basisdaten
Erscheinungsjahr: 2003
Entwickler: Blitz Research Ltd.
Aktuelle Version: 1.47  (22. November 2009)
Beeinflusst von: BlitzBasic
Betriebssystem: Windows
Lizenz: zlib/libpng
blitzbasic.com

BlitzPlus (kurz auch B+ oder BP) kam 2003 als Download-Version hinzu, und löste somit Blitz Basic ab. BlitzPlus beinhaltet neben dem Befehlssatz von Blitz Basic noch Befehle zur Erzeugung einer GUI. BlitzPlus beinhaltet alle Blitz2D-Befehle, allerdings ist es nicht 3D-fähig. Im Gegensatz zu Blitz2D wird es allerdings heute noch vertrieben. Dennoch wird diese Sprache nur von sehr wenigen verwendet. Seit dem 29. April 2014 ist BlitzPlus Open Source und steht unter der zlib/libpng-Lizenz.[2][3] Bereits rund seit zwei Jahren zuvor war es kostenlos verfügbar.

Zur Programmierung aufwändigerer Anwendungen stehen Programmiersprachen wie z. B. Visual Basic von Microsoft oder Delphi von Borland zur Verfügung. BlitzPlus hingegen wird wegen der Möglichkeit, auf einfachste Weise eine Windows-typische Benutzeroberfläche zu integrieren, zunehmend geschätzt von Entwicklern, die früher Batches (Stapelverarbeitung) programmiert haben, da durch die Benutzeroberfläche die mit BlitzPlus einfach zu erstellenden Stapelverarbeitungen im Gegensatz zu den früheren .BAT-Dateien auch vom ungelernten Anwender einfach bedient werden können. BlitzPlus ist somit eine Programmiersprache für Entwickler, für welche die Anwendungsentwicklung nicht die Hauptaufgabe ist, sondern ein zusätzliches Hilfsmittel, das in erster Linie die Anforderungen schneller Erlernbarkeit und effizienter, komprimierter Sprachgrammatik stellt, so wie sie der Grundgedanke aller BASIC-Dialekte ursprünglich implizierte.

BlitzPlus selber wurde in Microsoft Visual C++ Version 6 programmiert.[4]

Multiplattform[Bearbeiten]

BlitzMax[Bearbeiten]

BlitzMax
BlitzMaxLogo.png
BlitzMax Logo
Basisdaten
Paradigmen: objektorientiert, imperativ, modular, reflektiv
Erscheinungsjahr: 2004
Entwickler: Blitz Research Ltd.
Aktuelle Version: 1.50  (Februar 2014)
Typisierung: statisch, schwach
Beeinflusst von: BlitzBasic, Blitz3D
Betriebssystem: Windows, Mac OS X, Linux
Lizenz: Kommerziell
blitzmax.com

BlitzMax (kurz auch BMax) erschien im Dezember 2004. Damit lassen sich nicht nur Spiele (mit OpenGL oder DirectX), sondern auch Anwendungen unter Windows, Mac OS X und Linux erstellen. Der Quelltext kann oft ohne Änderungen auf allen unterstützten Plattformen kompiliert werden. Ganz neu sind die Möglichkeiten, objektorientiert zu programmieren und Zeiger zu nutzen. Die Programmiersprache wird vom BlitzMax-Compiler in Assemblersprache übersetzt und nutzt den Flat Assembler, um Maschinensprache zu generieren. Externe Assembler- sowie C/C++-Quelltexte können eingebunden werden. Für C/C++-Dateien sind die entsprechenden GNU Compiler erforderlich (auf Windows z.B. durch MinGW).

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 Blitz Research Ltd. 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.

BlitzMax stellt den jüngsten Spross der Blitz-Familie dar. Es beherrscht mit einigen Ausnahmen auch 2D- und die BB-Grundsyntax (mit minimalen Abweichungen). Außerdem unterstützt es OpenGL und DirectX. Das wichtigste an BlitzMax ist die Kompatibilität mit Windows, Linux und Mac ohne Quellcodeänderung. Dieser muss lediglich auf jeder Plattform kompiliert werden. Zum jetzigen Zeitpunkt ist keine offizielle 3D-Erweiterung verfügbar, eine 3D-Engine auf OpenGL-Basis ist allerdings momentan noch in Arbeit.

Bereits erschienen hingegen ist das offizielle GUI-Modul MaxGUI, mit dem sich ähnlich wie in BlitzPlus Anwendungen erstellen lassen, allerdings mit den allgemeinen Vorteilen von BlitzMax. Weitere wichtige Funktionalitäten sind das Reflection-Modul, das in BlitzMax 1.26 hinzugefügt wurde, sowie die Lua- und Thread-Module welche in Version 1.32 dazu kamen.

Monkey[Bearbeiten]

Hauptartikel: Monkey (Programmiersprache)

Monkey wurde am 1. März 2011 von Blitz Research Ltd. veröffentlicht. Im Gegensatz zu den anderen Programmiersprachen der Blitz-Familie gibt es mehr als einen Compiler, Monkey kann theoretisch in jede Programmiersprache übersetzt werden.

Umfang[Bearbeiten]

Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Blitz Basic ist eine umfangreiche Programmiersprache mit gleichnamiger Entwicklungsumgebung. Seit BlitzMax lassen sich auch Programme für Mac OS X und Linux erstellen. Geeignet ist Blitz Basic sowohl für 2D- als auch für 3D-Grafiken und kann damit auch für anspruchsvolle Applikationen ohne technische Einschränkungen eingesetzt werden.

Da man z. B. mit BlitzPlus auf die Windows-API zugreifen kann, ist Blitz Basic auch für normale Anwendungen nutzbar, kommt aber im Vergleich zu Sprachen wie Visual Basic oder Delphi seltener dafür zum Einsatz.

Literatur[Bearbeiten]

  • René Meyer: Jetzt lerne ich Spiele programmieren mit Blitz Basic. Blitzschnell zum eigenen Spiel. Markt und Technik, München 2003, ISBN 3-8272-6544-4 (Behandelt hauptsächlich die 2D-Programmierung.)
  • René Meyer: Hack ’n’ play – Spiele programmieren. Markt und Technik, München 2002, ISBN 3-8272-6317-4 (Behandelt nur die 2D Programmierung.)

Weblinks[Bearbeiten]

 Wikibooks: BlitzBasic-Community-Tutorial – Lern- und Lehrmaterialien

Einzelnachweise[Bearbeiten]

  1. Blitz3D source now available on Github! auf BlitzBasic.com. Abgerufen am 03. August 2014.
  2. BlitzPlus source now available on Github! auf BlitzBasic.com. Abgerufen am 15. Mai 2014.
  3. BlitzPlus auf GitHub. Abgerufen am 15. Mai 2014.
  4. BlitzPlus source now available on Github! auf BlitzBasic.com. Abgerufen am 15. Mai 2014.