Blitz BASIC

Blitz BASIC is a compiler for the BASIC programming language. Originally developed on the Amiga, Blitz BASIC compilers are now available on several platforms. The Blitz products are mainly designed for programming games but also feature support for graphical user interfaces and general applications.The term Blitz BASIC is often used to refer to the general syntax used in the entire range of Blitz languages, as well as the original product that started them.

History

The first compiler, originally designed by "Acid Software" from New Zealand, was Blitz BASIC for the Amiga. It competed with Europress Software's AMOS. Both AMOS and Blitz were distinguished from other BASIC implementations by their built-in support for writing computer games.

It was shortly after this time that "Acid Software" became known as "Blitz Research Limited" and concentrated solely on the development and promotion of Blitz languages and tools.

Blitz Basic

Blitz Basic was released in October 2000 for Microsoft Windows which allowed only 2D graphics. It was Blitz Research's first product and was published by Idigicon. It is now discontinued from its developers.

Recognition of Blitz Basic increased when a limited range of "free" versions were distributed on popular UK computer magazines such as PC Format. This resulted in a legal dispute between the developer and publisher which was eventually amicably resolved.

Blitz3D

Blitz3D was then released later in September 2001 and was also for Microsoft Windows. It was distributed at first by Idigicon. Blitz3D is Blitz Basic with a built in 3D engine and command list allowing the creation of 3D games for the first time in the Blitz range of languages. It kept all of Blitz BASIC's older commands and incorporated an entirely new set for the movement and rendering of three-dimensional objects. It used DirectX7 to create 3D, and competes with other similar PC game-development languages such as Dark Basic.

Blitz Research Limited later signed a deal with Idigicon giving them full rights to distribute Blitz Basic, to clear their stock of copies of Blitz 3D, and to now allow Blitz Research Limited to distribute Blitz3D themselves.

BlitzPlus

In February 2003 Blitz Research Limited released BlitzPlus, also for Microsoft Windows. It does not have the 3D engine of Blitz3D, but does bring new features to the 2D side of the language by allowing some control over Microsoft Windows forms and widgets, as well as implementing compatibility of the 2D engine as far back as DirectX 1.

BlitzMax

Infobox programming language
name = BlitzMax

paradigm = object oriented, reflective
year = 2004
designer = Mark Sibly
developer = Blitz Research Limited
latest release version = v1.30
latest release date =
typing = static, weak/Strong (SuperStrict Mode)
implementations =
dialects =
influenced_by = BlitzBasic

The latest in the range of Blitz languages is BlitzMax which, unlike previous Blitz products, is designed to run on multiple operating systems. It was released for Mac OS first, in December 2004, and then for Microsoft Windows and Linux in May 2005. BlitzMax brought the largest change of language structure to the modern range of Blitz products by adding object-oriented concepts and switching the graphics layer to favour OpenGL.

BlitzMax is also the first modular version of the language, allowing modules/plugins to be written for the language itself. This opened up new possibilities for programmers to configure the language, as well as to purchase additional components from Blitz Research Limited. For instance, the official BlitzMax cross-platform GUI module (known as "MaxGUI") was released by Blitz Research Limited, allowing developers to write GUI interfaces for their applications on Linux (FLTK), Mac (Cocoa), and Windows. Various user-contributed modules extend the use of the language by wrapping such libraries as wxWidgets, Cairo, FontConfig as well as a selection of database modules. In addition, there are many third-party 3D modules available for BlitzMax, including MiniB3D [http://www.blitzbasic.com/Community/topics.php?forum=119] - an open-source OpenGL engine which can be compiled and used on all 3 of BlitzMax's supported platforms.

In October 2007, BlitzMax update v1.26 (available to registered users as a download from the official site) included the addition of a Reflection module, which further increased the flexibility of the language.

Programs written in BlitzMax require compilation on the target platform since BlitzMax is multi-platform but not entirely cross-platform. Compilation for each target CPU (Mac PPC, Mac Intel, Linux Intel, Windows Intel) requires a hardware computer based on that CPU upon which the BlitzMax compiler is run. This allows the creation of an executable binary for that platform. To compile for more than one platform requires the compiler to be run ON that platform, and thus requires as many target computer platforms as systems on which your sourcecode is to be deployed. However, BlitzMax as a language itself requires very little modification in order to be fully cross-platform compatible and in many cases requires just a recompilation, making cross-platform development quick and easy.

Blitz3D SDK

The latest product from Blitz Research Limited, a 3D graphics engine based on the engine in Blitz3D. It is designed to be used with C++, C#, Blitz Max and PureBasic, however it can be used with other languages.

Unfortunately there are several outstanding issues with the SDK which "are" currently being resolved - but which preclude release of any applications ( [http://www.blitzbasic.com/Community/topics.php?forum=121 Blitz3D SDK Bug Reports] )

Max3D module

Blitz Research is currently working on a next-generation 3D engine which will feature an easy-to-use command API similar to but more advanced than that of Blitz3D. The module will be designed to provide a cross-platform 3D graphics API, bringing official 3D support to Mac and Linux. The module is rumored to be initially based on OpenGL with possibly later support for DirectX on Windows. It is also said to be similar to the Blitz3D SDK in that initially it will provide an interface for the BlitzMax language and later provide access from other languages such as C or a derivative thereof.

ample code

The following code creates a windowed application under Windows that shows the current time in binary and decimal format. This code is written in Blitz Basic, but will compile and run in both Blitz 3d and Blitz Plus. See below for the same example in BlitzMax.

AppTitle "Binary Clock" Graphics 150,80,16,3 ;Copy, modify and redistribute this source as much as you like ;##################################################### ; MAIN LOOP ;##################################################### ;create a timer that means the main loop will be ;executed twice a second secondtimer=CreateTimer(2) Repeat Hour = Left(CurrentTime$(),2) Minute = Mid(CurrentTime$(),4,2) Second = Right(CurrentTime$(),2) If Hour >= 12 Then PM =1 If Hour > 12 Then Hour = Hour - 12 If Hour = 0 Then Hour = 12 ;should do this otherwise your PM dot would be ;left up once the clock rolled past midnight! Cls Color(0,255,0) ;make the text green for the PM part If PM = 1 Then Text 5,5,"PM" ;set the text colour back to white for the rest Color(255,255,255) For bit=0 To 5 xpos=20*(6-bit) binaryMask=2^bit ;do hours If (bit<4) If (hour And binaryMask) Text xpos,5,"1" Else Text xpos,5,"0" EndIf EndIf ;do the minutes If (minute And binaryMask) Text xpos,25,"1" Else Text xpos,25,"0" EndIf ;do the seconds If (second And binaryMask) Text xpos,45,"1" Else Text xpos,45,"0" EndIf Next ;make the text red for the decimal time Color(255,0,0) Text 5,65,"Decimal: " + CurrentTime$() ;set the text back to white for the rest Color(255,255,255) ;will wait half a second WaitTimer(secondTimer) Forever

BlitzMax version of the above clock:

AppTitle$ = "Binary Clock" Graphics 145,85 secondtimer = CreateTimer(2) Repeat Hour = Left(CurrentTime$(),2).ToInt() Minute = Mid(CurrentTime$(),4,2).ToInt() Second = Right(CurrentTime$(),2).ToInt() If Hour >= 12 Then PM =1 If Hour > 12 Then Hour = Hour - 12 If Hour = 0 Then Hour = 12 'should do this otherwise your PM dot would be 'Left up once the clock rolled past midnight! Cls SetColor(0,255,0) 'make the text green For the PM part If PM = 1 Then DrawText "PM",5,5 'set the text colour back To white For the rest SetColor(255,255,255) For bit=0 To 5 xpos=20*(6-bit) binaryMask=2^bit 'do hours If (bit<4) If (hour And binaryMask) DrawText "1",xpos,5 Else DrawText "0",xpos,5 EndIf EndIf 'do the minutes If (minute And binaryMask) DrawText "1", xpos,25 Else DrawText "0", xpos,25 EndIf 'do the seconds If (second And binaryMask) DrawText "1",xpos,45 Else DrawText "0",xpos,45 EndIf Next 'make the text red For the decimal time SetColor(255,0,0) DrawText "Decimal: " + CurrentTime$(),5,65 'set the text back To white For the rest SetColor(255,255,255) Flip 'will wait half a second WaitTimer(secondTimer) If KeyHit(KEY_ESCAPE) Exit Forever

Notable software written using Blitz Basic

*" - Blitz Max
*"Fairway Solitaire - Blitz Max
*"Grid Wars - Blitz Max
*"Platypus - Blitz 2D (Mac port, Blitz Max)
*"Worms" - originally titled "Total Wormage" and developed in Blitz Basic on the Amiga before its commercial release [IGN. [http://uk.ps2.ign.com/articles/136/136825p1.html Worms Blast Preview] ]

References

See also

*Protean IDE - an IDE for blitzbasic/plus/3d
*IDEal IDE
* [http://www.blide.org/ BLIde] - a .NET IDE for BlitzMax
* [http://sourceforge.net/projects/blitzmax-ide/ MaxIDE Community Edition] - An open source branch of the default IDE maintained by some members of the Blitzmax Community.
* [http://www.projectstudioide.com/ Project Studio] - a .Net IDE for Blitz3d/Basic and BlitzMax

External links

* [http://www.blitzbasic.com Blitz Research] official site of the Blitz Basic distributor
* [http://wxmax.googlecode.com/ wxMax for BlitzMax] Brucey's wxWidgets language binding for BlitzMax
* [http://maxmods.googlecode.com/ MaxMods for BlitzMax] Brucey's mods for BlitzMax
* [http://dmoz.org/Computers/Programming/Languages/BASIC/BlitzBasic/ BlitzBasic on dmoz]
* [http://c2.com/cgi/wiki?BlitzBasic BlitzBasic on WikiWikiWeb]
* [http://www.pantson.com/mods?BlitzBasic BlitzBasic on WikiWikiWeb]
* [http://www.blitz3dfr.com Official site of the french Blitz Basic community]
* [http://www.blitzbasic.de German Blitz Basic site]
* [http://socoder.net/index.php Socoder]
* [http://blitzetc.blitzmax.ru Russian electronic BlitzBasic-related magazine "Blitz Et Cetera"]
* [http://www.blitzcodebase.co.uk/ BlitzBASIC codebase] code archive
* [http://www.syntaxbomb.com/ Syntaxbomb] - Indie Coders Community Forums
* [http://www.greyaliengames.com/framework.php Grey Alien BlitzMax Game Framework]
* [http://www.pantson.com/mods Misc BlitzMax modules] a selection of useful modules for BlitzMax including Theora movie playback

Books on Blitz Basic

*"Learn to Program 2D Games in Blitz Basic" by John "Krylar" Logsdon, (2003) website of creator http://www.krylarskreations.com/bb_book.shtml
*"Game Programming for Teens" by Maneesh Sethi, (2003), ISBN 1-59200-068-1
*"Games Programming for the Absolute Beginner with Blitzmax" by Sloan Kelly, ISBN 0-9553771-0-2
*"3D Game Programming for Teens" by Eric Grebler, (2006) ISBN 1-59200-900-X


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Blitz Basic — 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… …   Deutsch Wikipedia

  • Blitz BASIC — Saltar a navegación, búsqueda Blitz BASIC es un compilador para el lenguaje de programación Basic. Los productos Blitz han sido diseñados con el objetivo de crear videojuegos. La más reciente en la gama de lenguajes Blitz, BlitzMax a diferencia… …   Wikipedia Español

  • Blitz BASIC — Содержание 1 Blitz3D 1.1 Примеры программ 2 BlitzMax 2.1 Основные возможности …   Википедия

  • Blitz Basic — Blitz3D Auteur Blitz Research Ltd Développeur Marc Sibly Paradigme Impérative Système d exploitation …   Wikipédia en Français

  • Blitz Research — Ltd is an Auckland, New Zealand based company which currently produces 3 BASIC based programming languages. Founded in 2000 by Mark Sibly, the company s first product was the now obsolete Blitz Basic 2D, a PC version of the Amiga Blitz Basic. It… …   Wikipedia

  • Blitz — Blitz, German for lightning or very fast , may refer to:Armed Conflict*Blitzkrieg, the very fast executed war , a strategy of World War 2 Germany. *The Blitz, the German aerial attacks on Britain in WWII. The name Blitz was subsequently applied… …   Wikipedia

  • Blitz (Begriffsklärung) — Blitz bezeichnet: Blitz, eine elektrische Entladung in der Atmosphäre Funke (Entladung), ein Licht ausstrahlendes Plasma bei einer kurzzeitigen Gasentladung Blitzlicht, eine Beleuchtungseinrichtung in der Fotografie übertragen: Blitz (American… …   Deutsch Wikipedia

  • Blitz Max — Blitz Basic BlitzBasic désigne à la fois le Langage de programmation de type BASIC et l Environnement de développement intégré du même nom, pour les plateformes AmigaOS et Windows. Néanmoins la version AmigaOS de BlitzBasic, Blitz2, est… …   Wikipédia en Français

  • Basic (langage) — BASIC Pour les articles homonymes, voir Basic. {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres   Sigles de trois lettres …   Wikipédia en Français

  • Blitz QFD — was developed by Richard Zultner for his clients in the software industry in the 1990s. The premise was that the House of Quality and other large matrices demanded too much time and resources when speed of development was a critical customer need …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”