This project is an attempt to revive & modernize Blitz3D.
Branch: master
Clone or download
Latest commit dbb7a10 Dec 30, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_release mingw32 compilation with docker. Sep 9, 2018
asm_makeinsts Removed old VS files. Apr 7, 2017
bblaunch Removed unused premake files. Updated README. Dec 30, 2018
bbruntime_dll windows cmake improvements Dec 29, 2018
bin README update plus build fixes [skip ci] Dec 30, 2018
blitzide Removed unused premake files. Updated README. Dec 30, 2018
common Moved most 3rd party code into 'src/deps' directory. May 9, 2017
compiler Removed unused premake files. Updated README. Dec 30, 2018
config GL tweaks May 9, 2017
debugger Removed unused premake files. Updated README. Dec 30, 2018
innosetup Bumped version, added innosetup scripts. Dec 8, 2014
lib/blitz3d README update plus build fixes [skip ci] Dec 30, 2018
linker Removed unused premake files. Updated README. Dec 30, 2018
src Fixed GL camera viewport. Dec 30, 2018
stdutil Adjusted cmake to compile for android and added new tests. Sep 10, 2018
test Testing and android improvements. Sep 15, 2018
.dockerignore
.editorconfig Transitioned build system to CMake. May 21, 2018
.gitattributes Initial commit. Jan 30, 2014
.gitignore
.gitmodules deps update [skip ci] Dec 30, 2018
.ruby-version Added .ruby-version to fix travis build. May 7, 2017
.travis.yml travis tweaks Dec 30, 2018
CHANGES.md
CMakeLists.txt
Dockerfile Dockerfile update [skip ci] Dec 30, 2018
Gemfile
Gemfile.lock Removed commonmarker gem from mingw envs. Apr 21, 2017
LICENSE.TXT Added LICENSE.TXT Aug 1, 2014
Makefile Testing and android improvements. Sep 15, 2018
README.ORIGINAL.TXT Added premake config and adjusted code for compiling with VS2015. Dec 6, 2016
README.md README update plus build fixes [skip ci] Dec 30, 2018
appveyor.yml appveyor update Dec 29, 2018
docker-compose.yml Testing and android improvements. Sep 15, 2018
make.bat win64 compilation fixes Dec 30, 2018
make_release.bat Added mediaview compilation to make_release.bat. Fixes #2. Dec 8, 2016

README.md

Blitz3D "NG"

Build status Build Status Help

This project is an attempt to revive & modernize Blitz3D by adding cross-platform & 64-bit support.

So far, we've made huge strides in making this happen. Some of the basic samples (such as castle, driver, and tron) can run on macOS (64 bit!) with little-to-no modifications.

This is achieved by translating Blitz source into C code.

(Note: The Windows build still uses the original Blitz code generation.)

Download

You can get the latest Windows build directly from our CI tool. This build includes Direct3D 7 & OpenGL runtimes, without DirectPlay.

If you're looking to customize your build further or interested in macOS or Linux, please see the next section.

Support

If you need help with anything, please ask on the Discord server.

For bug reports & feature requests, feel free to open an issue.

Building

To keep the project simple to build, all 3rd-party dependencies are included in the repo or linked as submodules.

Prerequisites (All platforms)

You'll need cmake (3.12+) and an (optional) ruby 2+ install.

We use these tools to generate the appropriate build files per-platform as well as documentation.

Windows

Install Visual Studio 2017.

Open up a command prompt via Start -> Visual Studio 2017 -> Developer Command Prompt for VS2017.

> git clone --recursive https://github.com/blitz3d-ng/blitz3d-ng
> cd blitz3d-ng
> make.bat release

macOS

Install Xcode and brew.

$ git clone --recursive https://github.com/blitz3d-ng/blitz3d-ng
$ cd blitz3d-ng
$ brew install wxmac glfw3
$ bin/blitz3d config && make ENV=release

Linux

$ git clone --recursive https://github.com/blitz3d-ng/blitz3d-ng
$ cd blitz3d-ng
$ apt-get install -y build-essential libwxgtk3.0-dev
$ bin/blitz3d config && make ENV=release

Alternatively, you can build everything with docker.

$ git clone --recursive https://github.com/blitz3d-ng/blitz3d-ng
$ cd blitz3d-ng
$ docker build -t blitz3d - < Dockerfile
$ docker run -t -i -v `pwd`:/blitz3d-ng blitz3d make ENV=${ENV} PLATFORM=linux

Documentation

The original Blitz3D help is available in the _release/help directory in HTML form. We've started replacing it with a Markdown based system.

$ bundle install
$ bin/blitz3d help --build

Roadmap

  • Add misc. quick fixes & improvements (i.e., add "missing" features like BlitzClose.)
  • Improve help files & styling.
  • Swap out FMOD for something with a more permissive license.
  • Integrate Assimp so that we don't depend on the DirectX X library anymore.
  • OpenGL & newer Direct3D renderers.
  • 64-bit support.
  • macOS, Linux, Android, iOS support.

License

The zlib/libpng License

Copyright (c) 2013 Blitz Research Ltd

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.