Blitz3D Logo

The Blitz3D Resource

What is Blitz3D?

Blitz3D is an old framework/engine for making 3D programs. It compiles programs written in the Blitz BASIC programming language, which was designed for beginners but can still be powerful for experienced programmers. Blitz3D was developed by Mark Sibly and released in 2000. It was made with a focus on game development, but it can also be used to make other programs. Despite its age, Blitz3D is still a surprisingly capable tool and can still be used today.

What is this site for?

It can be very hard to find information, guides, or tools regarding Blitz3D today. Online resources have slowly been disappearing, and there aren't many reliable archives available. This site aims to be a resource for all things Blitz, and an archive for useful Blitz3D userlibs, clients, and complementary programs.

Information

Download

The latest version of Blitz3D is still available for download on its official itch.io page. If you are unable to download it from there or wish to download a select older version, you can instead download it from the skyH4PPY Archive.

Blitz3D is also open source and available on Github.

Major Version Differences

  • V1.118: "Modern"
  • V1.108: "Classic"
  • x95-V1.110: "Compatibility"
  • Full changelogs and devlogs are available on the skyH4PPY Archive.

    Issues on Modern Hardware

    Unfortunately, Blitz3D has not been updated in a long time and is slowly losing support for modern hardware. Below are some known issues faced by some users.

  • Displaying Text and 2D Graphics has been known to slow down the program. Using Draw3D2 is highly recommended instead.
  • Drawing Planes and Terrain may cause severe graphical issues and cause texture warping for some users.

  • Graphical Issues

    Resources

    Guides

    The Blitz3D compiler actually comes with a very detailed documentation on the language complete with examples for every command. It also includes several sample programs to learn from. It is highly recommended you read through the documentation and study the examples given to learn how to do things, but if you'd like further help, here are some guides below.

  • J-Man's Blitz3D Crash Course: A very useful crash course on the basics of 3D game development and Blitz3D. This document was written for "classic" Blitz3D.
  • Complementary Programs

  • IDEal: A 3rd party IDE for Blitz3D. The default Blitz3D IDE is extremely barebones, IDEal is a massive improvement to it. Unfortunately IDEal doesn't have proper highlighting support for the "modern" dialect, but this will only cause some visual issues with code highlighting. IDEal is still highly recommended.
  • fragMOTION: An old 3D modelling and animation program. It isn't very good, but can be useful because it supports exporting models in the ".B3D" format. Blitz3D by default only supports .X, .3DS, and .B3D formats for 3D models.
  • Ultimate Unwrap 3D: A standalone UV mapping software for unfolding and unwrapping 3D models. Like fragMOTION, this is also included because it can export B3D files. This program is much more consistent than fragMOTION as a converter, especially with animation support, but it must be purchased.
  • Milkshape3D: Another excellent, but Shareware 3D Modelling program commonly used for Blitz3D projects.
  • gile[s]: A global illumination / radiosity lightmapper, capable of rendering high resolution lightmaps fast and efficiently. It features an easy to use editor, that allows you to place models and lights without fuss. It handles models of arbitrary complexity keeping smoothing groups intact, and rendering perfect results every time. You can even paint directly to the lightmap, and mix and match vertex lighting and lightmaps as you please.
  • Userlibs

    Blitz3D's command set can be extended using userlibs. These can be installed to your copy of Blitz3D to introduce new commands and functionality that wouldn't be possible otherwise.

  • Draw3D2: The default Blitz3D draw system leaves a lot to be desired, and features like text can be unoptimized and unstable. Draw3D2 is a much more powerful and optimized alternative for drawing images, text, and the like.
  • OpenAL: OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.
  • Devil Particle System: Using Blitz3D sprites for particle effects is a bad idea because it lacks in performance. Instead, a single mesh and lots of vertex manipulation is used in order to achieve best results. The Devil Particle System is a single surface particle engine designed to create particle effects such as fire, smoke, sparks or explosions.
  • Devil Shadow System: The Devil Shadow System is a fast stencil shadow system for rendering sharp and crisp shadows.
  • Extra

    Forks

    There are a few community-maintained Blitz3D versions available, here are some below.

  • Blitz3D NG: A cross-platform modernization of Blitz3D based on the original source that strives to stay true to the classic.
  • Blitz3D TSS: An updated and optimized version of Blitz3D designed for projects based on SCP: Containment Breach.
  • Blitz3D TSS (Dx9): A DirectX 7 to DirectX 9 rewrite of Blitz3D TSS.
  • Alternatives

  • raylib: A modern code-only game engine with a very similar workflow to Blitz3D.
  • BlitzMax: Another Blitz dialect more intended for 2D graphics. BlitzMax is object-oriented and multiplatform.
  • BlitzMax NG: A next-generation continuation of BlitzMax.
  • MiniB3D: An open source 3D engine for BlitzMax.
  • OpenB3D: A lightweight OpenGL 1.4+ 3D engine written in C++ for BlitzMax.
  • Online Communities

  • Discord Servers
  • Other






  • In memory of Mark Sibly

    Mark Sibly, the creator of Blitz3D, died on December 12, 2024.




    Website by skyH4PPY