Blitz BASIC is the programming language dialect of the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick up for beginners first learning to program. The languages are game-programming oriented but are often found general purpose enough to be used for most types of application. The Blitz language evolved as new products were released, with recent incarnations offering support for more advanced programming techniques such as object-orientation and multithreading. This led to the languages losing their BASIC moniker in later years.[1]
The first iteration of the Blitz language was created for the Amiga platform and published by the Australian firm Memory and Storage Technology. Returning to New Zealand, Blitz BASIC 2 was published several years later (around 1993 according this press release [2]) by Acid Software (a local Amiga game publisher). Since then, Blitz compilers have 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 continues to this day under the name AmiBlitz.[3]
Idigicon published BlitzBasic for Microsoft Windows in October 2000. The language included a built-in 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 range 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.
In February 2003, Blitz Research Ltd. released BlitzPlus also for Microsoft Windows. It lacked the 3D engine of Blitz3D, but did bring new features to the 2D side of the language by implementing limited Microsoft Windows control support for creating native GUIs. Backwards compatibility of the 2D engine was also extended, allowing compiled BlitzPlus games and applications to run on systems that might only have DirectX 1.
The first BlitzMax compiler 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 brought the largest change of language structure to the modern range of Blitz products by extending the type system to include object-oriented concepts and modifying the graphics API to better suit OpenGL. BlitzMax was also the first of the Blitz languages to represent strings internally using UCS-2, allowing native-support 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 official compiler and build chain will only generate binaries for the platform that it 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 so 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 extend the use of the language by wrapping such libraries as wxWidgets, Cairo, and Fontconfig as well as a selection of database modules. There are also a selection of third-party 3D modules available namely MiniB3D[4] - an open-source OpenGL engine which can be compiled and used on all three of BlitzMax's supported platforms.
In October 2007, BlitzMax 1.26 was released which included the addition of a reflection module.[5] BlitzMax 1.32 shipped new threading and Lua scripting modules and most of the standard library functions have been updated so that they are unicode friendly.[6]
Blitz3D SDK is a 3D graphics engine based on the engine in Blitz3D. 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.
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 had an abstract backend for other graphics drivers (such as DirectX) and made use of several 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 died off soon after the source code was released and eventually development came to a halt. 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.[7][8] Blitz3D followed soon after and was released as Open Source on 3 August 2014.[9][10] BlitzMax was later released as Open Source on 21 September 2015.[11]
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 direct to assembly code, it translates Monkey source files directly into source code for a chosen language, framework or platform e.g. Windows, Mac OS X, iOS, Android, HTML5, and Adobe Flash.
What's better, Blitz BASIC II or AMOS PRO? I want to buy a language
to make games...and eventually other stuff... but primarily games. I've seen
a lot of AMOS programs and it seems like a very powerful language (I have
the Amiga Format Coverdisk 1.3 edition...but it won't run on my 4000...and
I can't get the 1.7 extensions to work so I can run it on my 4000...anyone
care to help me out?)... I've seen ONE Blitz Basic I game and it was pretty
good too (Defenda)...nice copper background, good scrolling, smooth movement,
etc... So which one should I blow my $120 on?
AMOS PRO doesn't support AGA yet and Blitz BASIC II does right?
--
Ralph A.Barbagallo III_Only AMIGA Makes it Possible!_nug...@genesis.nred.ma.us
[ Amiga 4000/030, Amiga 500, Commodore 64, Atari 800XL, Atari 2600, 7800, ]
[ Lynx, Sega Master System, Genesis, Game Gear, NES, SNES, Game Boy, NEO GEO]
[ TurboGrafx-16/CDROM, Odyssey 500, ColecoVision, Vectrex-BOB LOVES YOU !!!!]
I believe that an update to AMOS Pro is either imminent, or already released that
allows AGA screen modes to be used. Amiga Shopper quoted Europress as saying that
256-colour screens would definitely be possible, but weren't sure about HAM8 as
yet. Given the length of time between magazine deadlines and hitting the presses,
that version is probably already out.
I used Blitz Basic I when it came out a couple of years ago. Though it was
incomplete, I didn't have much difficulty in using its machine-language hooks
to extend it anywhere that I wanted to. Consequently, I wrote several real-time
interactive 3-D (with glasses) simulators - particle/quantum-physics, nonlinear
dynamics and flows, and molecular modelling - with all of the post calc-level
math, for use in the senior and graduate classes here.I've used AMOS. I wanted to see if it was as good as people were raving about
it. Well, people rave about IBM's. When I converted my simulations from Blitz-I
into AMOS it was a major disappointment to see what had been a nice interactive
3-D system turn into sludge.... the action, when compiled(!), was so dang slow
that it wasn't even worth the attempt. Beyond this, the AMOS interrupt routines
were screwed up, so this required a major laborious code-hack to get the 3-D
glasses to work.... which amounted to shutting down AMOS, therefore defeating
the purpose of using it in the first place.
So, AMOS might be a good start if you are a non-programmer and don't have high
ambitions and you'll stay that way.
But if you're a creative type, then I'd say go with Blitz.
I found AMOS was always *painfully* slow compared to what it should have been
doing (how does molasses flow in winter-time?).
Even worse, AMOS generally has left my machines in weird internal states of
some non-precise nature, with crashes happening afterwards along the ways...
so clean-out re-booting was required to do anything safely afterwards. This
isn't a major problem if all that you're doing is AMOS stuff. But it shouldn't
be that way anyways for a product that's supposed to be so mature.I'm with Blitz II now, since I gave up on AMOS for its lack of speed.
Current developments involve extending my old Blitz-I simulations into DCTV
displays (with the speed maintained - using my own proprietary library
routines). What I especially like about Blitz-II is its "in-line assembler";
you type in assembly language just like regular language (being careful of
course), and it'll even trap out a fair number of gurus for you. That's a good
way to do development. Saves the hassle of re-booting (woes of AMOS return to
mind...).To summarize my experience:
- AMOS couldn't handle my simulations, but Blitz does it fine.
- Blitz is the next best thing to working directly in speed-code assembly
language. Besides, assembly is built in, if you are daring enough.
- AMOS = boring.
- Blitz = excitement!-Hawkins
> I used Blitz Basic I when it came out a couple of years ago. Though it was
> incomplete, I didn't have much difficulty in using its machine-language hooks
> to extend it anywhere that I wanted to. Consequently, I wrote several real-time
> interactive 3-D (with glasses) simulators - particle/quantum-physics, nonlinear
> dynamics and flows, and molecular modelling - with all of the post calc-level
> math, for use in the senior and graduate classes here.
>