BlitzMax is the new, next generation game programming language from Blitz Research. BlitzMax retains the BASIC roots of Blitz3D and BlitzPlus, but adds a ton of cool new features and abilities.
Enhanced BASIC language
BlitzMax is BASIC...but with a few twists, including:
* Function pointers
* Fully dynamic arrays
* Inheritance and polymorphism
* 'By reference' function parameters
* Byte, Short, Int, Long, Float and Double numeric data types
* Array and string slicing
* Flexible 'collection' system for dealing with linked lists etc
* Low level pointer handling
* UTF16 strings
* The ability to 'Incbin' binary data and access it as easily as if it were a regular file
* External language support for interfacing with C/C++/ObjectiveC or assembly code
BlitzMax has been designed from the ground up for multiplatform support, and BlitzMax programs can be compiled for Windows, MacOS X and Linux. The BlitzMax license is 'all in one' - buy BlitzMax once and run your programs on all three platforms!
BlitzMax is largely based around the idea of modules, collections of commands stored in special files. You can add your own modules to the system, allowing you to cleanly reuse code in your own projects. Modules are also a great way to distribute libraries of commands, and Blitz Research have many weird and wonderful modules lined up for future release!
Easy to use 2D command set
BlitzMax includes the Max2D module which contains a set of very easy to use 2D commands. On MacOS X and Linux, Max2D uses the OpenGL API, while on Windows PCs you have the option of using either the OpenGL or DirectX APIs. Both OpenGL and DirectX use 3D hardware to draw graphics to the screen, allowing for advanced effects such as realtime blending, rotation and scaling.
Intelligent build system
BlitzMax allows you to split a project up into multiple source files which can be pre-compiled to massively reduce development time. This process is handled automatically by the included BMK ('Blitz make') utility and is completely transparent to the developer.
IDE and Debugger
The BlitzMax package includes an 'integrated development environment' (IDE), which is used to enter your programs, and a debugger for tracking down bugs.
Direct OpenGL support
Thanks to the OpenGL module, you can use BlitzMax for direct OpenGL programming. Writing an OpenGL program is now as simple as:
In addition, a module based on the popular 'Glew' library provides support for all OpenGL extensions.
Tons of source code included
Most BlitzMax modules are written in...BlitzMax! When you buy BlitzMax, you will receive the source code to all the BlitzMax modules, allowing advanced users the opportunity to enhance the BlitzMax system, or tweak it for their own needs.