Blitz Sonic Engine code
THIS IS A CODE OF SONIC WORLD ENGINE RELEASE 9, a fork of BlitzSonic, containing 42 characters and a Chao Garden.
This version of the game is built on V1.106 of Blitz3D with various required userlibs. Newer versions don't work as compatibility with userlibs are broken
- FastImage
- FastExt
- ParticleWorks
- Blitz3DA
- DirectX7A
- User32
As Blitz3D is no longer maintained, most of these userlibs' original links are down, so all the required .dll's and .decl's are provided. Assets are not included and need to be provided. See Assets heading to see how to acquire said assets.
- Follow the steps of the Blitz3D download
- Download this project and put it in this own folder.
- Drag all the assets into this folder for the game.
- Copy all of the
.dll
and.decl
files into Blitz3D's install directory into auserlibs
folder. - You can delete the
.decl
files in the game's folder as they only need to be read by Blitz3D. - Open
Sonic World.bb
in Blitz3D or your IDE (I recommend IDEaL) - Go to Program/Run Program. If everything's placed correctly the game should run.
- Open
Sonic World.ipf
in IDEaL. (This is the equivilant of a .vsproj file for Blitz3D games) - Click
Compile/Create executable
.
- Open
Sonic World.bb
in Blitz3D - Click
Program/Create executable
.
you will have to add the Blitz3D/bin folder to your path
Environment Variable.
- Open the folder for this project in the terminal.
- Run
blitzcc -o "Sonic World" "Sonic World.bb"
in the game folder to build an executable using the compiler.
As this is a recent discovery, it has not been tested much. Hopefully this repo will be updated to support the bbdoc syntax exclusive to this extension.
you will have to add the Blitz3D/bin folder to your path
Environment Variable.
- Install this extension in the VSCode marketplace.
- Go into the extension settings and set your Blitz3D path. This will be used for generating stubs and documentation for built-in methods.
- Open this repository as a folder in VSCode.
- Go to
Sonic World.bb
. - From the Command Pallate (Ctrl + Shift + P), you should see methods from the Blitz3D extension. These can be used for running open files and debugging.
- To build an exe you will need to open a terminal in VSCode and run
blitzcc -o "Sonic World" "Sonic World.bb"
.
When distributing the game, you need the exe, all the dlls, any folder without an underscore and a GameArchive.swarc (this file can be empty if using extracted assets)
This repository ONLY includes the code for the game. Assets will need to be retrieved from a compiled version of Sonic World Release 9. The game assets are encrypted using Molebox, so you need De-Mole-ition, to extract the assets contained in GameArchive.swarc. The extracted folders should all be placed in the game's main directory (i.e. Characters should be in the same folder as Mods, and _SourceCode)
Contributions are welcome! Feel free to fork this repository and make pull requests for new features or optimizations. If any new assets not from the base game are required for this, make sure to include those assets as well. As Blitz3D is a very old program, documentation is sparse. As a guide, you can learn from this tutorial series or the Blitz3D Documentation and Samples (DocsPak). These will be downloaded locally as .html files but give you almost everything to start.