BooBoo
Contents
About
BooBoo is a mini language that shares some DNA with assembly language but is much higher level. It includes two versions, one command line only version and one with a builtin, powerful game API.
Syntax
BooBoo uses Polish notation for syntax. That means the operation comes first instead of in the middle. e.g. + x 1 increments x.
Modelling
The DirectX .x exporter here: Codeberg link can be used with Blender 2.78 to export compatible models until a exporter is developed for new Blender versions. You should set it to a right handed matrix when exporting in the options, as well as make sure everything you want exported is checked.
Builtin vs. BooBoo functions
BooBoo functions can't accept variable number of arguments (unless you use vectors.) They can now modify their inputs using references (~) but that wasn't always a feature.
Engine
The game engine is built on Shim. A few things in the command line version also use parts of Shim for convenience. libutil in Shim has been separated out so the command line version doesn't have any dependencies on SDL/etc.
DirectX
Shim does not use D3DX which hosts the shader compiler. Instead, you need to pre-pack your HLSL shaders with pack_shader.exe. You need the DirectX 9 SDK installed and run pack_shader from the D3D9 SDK command prompt.
Demo Games
The demo games are:
- CoinHunt
- DOOMED
- RAINRUNNER
In addition to the simpler examples. There are also some mini-games like Pong and Robots in the slideshow example.
Game Library
The documenatation has the following sections, which describe the different major areas the library supports aside from core BooBoo functionality
- Core
- Graphics
- Primitives
- Image
- Sprite
- Font
- Tilemap
- Shader
- 3D
- GUI
- Collision Detection
- Audio
- Input
- JSON
- Configuration