Blitz BASIC refers to the programming language that was interpreted by the first Blitz compilers, by New Zealand -based developer Mark Sibly. Being derived from BASIC , Blitz syntax was designed to be easy to pick up for beginners. The languages are game-programming oriented but are often found to be used for most types of application. The blitz language has evolved as new products have been released, with recent incarnations offering support for more advanced programming techniques such as object-oriented and multi-threading . This led to the languages losing their BASIC moniker in later years. 
The first iteration of the Blitz language was created for the Amiga platform and published by the Australian firm Memory and Storage Technology. Return to New Zealand , Blitz BASIC 2 was published several years later by Acid Software (a local Amiga game publisher). Since then, Blitz has been released on several platforms . Following the demise of the Amiga as a commercially viable platform, the Blitz BASIC 2 source code was released to the Amiga community. Development continue to this day under the name AmiBlitz.
Idigicon published BlitzBasic for Microsoft Windows in October 2000. API for performing basic 2D graphics and audio operations. Following the release of Blitz3D, BlitzBasic is often synonymously referred to as Blitz2D.
Recognition of BlitzBasic Increased When A limited ranks of “free” versions Were distributed in popular UK computer magazines Such As PC Format . This resulted in a legal dispute between the developer and publisher which was eventually resolved amicably.
Blitz3D was released for Microsoft Windows in September 2001, competing with other similar PC game-development languages of the time (such as Dark Basic ). Blitz3D extended BlitzBasic’s command-set with the inclusion of an API for a DirectX 7 -based 3D engine.
Although originally Blitz3D’s distribution rights were owned by Idigicon, Blitz Research Ltd. Blitz Research Ltd. Blitz Research Ltd. To distribute Blitz3D themselves. In return, Idigicon were granted full rights to distribute BlitzBasic and to clear any outstanding stock copies of Blitz3D.
In February 2003, Blitz Research Ltd. Released BlitzPlus also for Microsoft Windows. Microsoft Windows Control support for creating native GUIs . Backwards compatibility of the 2D engine was also extended, allowing compiled DirectX 1.
|Paradigm||Imperative , object-oriented, modular , reflective|
|Designed by||Mark Sibly|
|Developer||Blitz Research Ltd.|
1.51 / 21 September 2015 ; 21 months ago
|Typing discipline||Static , Weak , Strong(Optional)|
|BONE||Microsoft Windows , Mac OS X , Linux|
The first BlitzMax compile Was released in December 2004 for Mac OS X . This made it the first blitz dialect that could be compiled on * nix platforms. Compilers for Microsoft Windows and Linux were subsequently released in May 2005. BlitzMax has the open-label API to better OpenGL . BlitzMax Was aussi le premier of the Blitz languages to Represent strings internally using UCS2 , native carrier Allowing for string literals Composed of non- ASCII characters.
BlitzMax’s platform-agnostic command-set allows developers to compile and run source code on multiple platforms. However, the compiler and build chain will only generate binaries for the platform that is executing on. Unofficially, users have been able to get Linux and Mac OS X to cross-compile to the Windows platform.
BlitzMax is also the first modular version of the Blitz languages, improving the extensibility of the command-set. In addition, all of the standard modules shipped with the compiler are open-source and can be tweaked and recompiled by the programmer if necessary. The official BlitzMax cross-platform GUI module (known as MaxGUI) allows developers to write GUI interfaces for their applications on Linux ( FLTK ), Mac ( Cocoa ) and Windows. Various user-contributed modules to extend the use of the language by wrapping such libraries as wxWidgets , Cairo , and Fontconfig .
In October 2007, BlitzMax 1.26 was released and included the addition of a reflection module.  BlitzMax 1.32 shipped new threading and Lua scripting modules and most of the standard library have been updated so that they are unicode friendly. 
Blitz3D SDK is a 3D graphics engine based on the Blitz3D engine. It was marketed for use with C ++ , C # , BlitzMax and PureBasic , however it could also be used with other languages that follow compatible calling conventions. As of January 2011, Blitz3D SDK is no longer listed for sale on the official Blitz website.
In 2008, the source code to Max3D – a C ++ – based cross-platform 3D engine – was released under a BSD license . This engine focused on OpenGL, but assimilated to other graphics drivers (such as DirectX) and made use of many open-source libraries, namely Assimp , Boost and ODE .
Despite the excitement in the Blitz community of Max3D being the eagerly awaited successor to Blitz3D, interest and support. There is no indication that Blitz Research will pick up the project again.
BlitzPlus was released as Open Source on 28 April 2014 under the zlib license on github.com .   Blitz3D follow on August 3, 2014.   Also BlitzMax was released as Open Source on 21 September 2015 on github. 
The following code describes the current time in binary and decimal format. This code is written in BlitzBasic, but will compile both Blitz3D and BlitzPlus. See below for the same example written in BlitzMax.
|BlitzBasic version||BlitzMax version|
AppTitle "Binary Clock" Graphics 150 , 80 , 16 , 3 ; create a timer means clustering That Will Be the hand loop ; Executed twice a second secondtimer = CreateTimer ( 2 ) ; ############## ####################################### Repeat ; MAIN LOOP 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 ; shoulds do this Otherwise the PM dot Will Be ; Left up the clock rolls past midnight! Cls Color ( 0 , 255 , 0 ) ;
AppTitle = "Binary Clock" Graphics 145 , 85 secondtimer = CreateTimer ( 2 ) Repeat Hour = CurrentTime () [. .2 ] . ToInt () Minute = CurrentTime () [ 4 . .6 ] . ToInt () Second = CurrentTime () [ 6 . . ] . ToInt () If Hour > = 12 Then PM = 1 If Hour > 12 Then Hour = Hour - 12 If Hour = 0 Then Hour = 12 'shoulds do this dot Otherwise the PM Will Be ' Left ounce up the clock rolls past midnight! Cls SetColor ( 0 , 255 , 0 ) 'Make the text green For the PM part If PM = 1 Then DrawText "PM" , 5 , 5 '
Notable software written using BlitzBasic
- Eschalon: Book I – BlitzMax
- Eschalon: Book II – BlitzMax
- Fairway Solitaire – BlitzMax
- Grid Wars – BlitzMax
- Platypus – Blitz2D (Mac port, BlitzMax)
- SCP – Containment Breach – Blitz3D
- Worms – Originally titled Total Wormage and in Blitz Basic Developed on the Amiga before ict shopping release 
Monkey and Mojo
In 2011, BRL released a new cross-platform programming language called Monkey and its first official module called Mojo. Monkey has a similar syntax to BlitzMax, but instead of compiling directly to the code, it translates Monkey source files directly into source code for a choice language, framework or platform eg Windows, Mac OS X , iOS , Android, HTML5 , and Flash.
- Protean IDE – An IDE for BlitzBasic / Plus / 3D
- Jump up^ “The Official Blitz Website” . Www.blitzbasic.com .
- Jump up^ “Blitz News” . Www.blitzbasic.com .
- Jump up^ “BlitzMax update 1.26 now available!” . Www.blitzbasic.com .
- Jump up^ BlitzMax V132 for Windows and MacIntel now up! On blitzbasic.com
- Jump up^ BlitzPlus Source Code Releasedby simonh (2014-04-29)
- Jump up^ Blitz3D open sourced! On Blitz3D Forums by (2014)
- Jump up^ Blitz3D Now Free and Open Source! By simonh (2014-08-03)
- Jump up^ blitz3don github.com
- Jump up^ blitzmaxon github.com
- Jump up^ IGN. Worms Blast Previewon ign.com