Difference between revisions of "BooBoo"

From CMYKilluminatiNetwork Wiki
Jump to: navigation, search
Line 20: Line 20:
  
 
The game engine is built on [[Shim]]. A few things in the command line version also use parts of Shim for convenience.
 
The game engine is built on [[Shim]]. A few things in the command line version also use parts of Shim for convenience.
 +
 +
== 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.
  
 
== Game Library ==
 
== Game Library ==

Revision as of 16:52, 18 October 2024

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 also can't modify their inputs.

Engine

The game engine is built on Shim. A few things in the command line version also use parts of Shim for convenience.

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.

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
  • Collision Detection
  • Audio
  • Input
  • JSON
  • Configuration