BlitzMax favicon

BlitzMax

Create 2D Games for Windows, MacOS and Linux. 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
Modular design 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.