Difference between revisions of "BooBoo"

From CMYKilluminatiNetwork Wiki
Jump to: navigation, search
Line 1: Line 1:
[[File:BooBooLogo.png|thumb]]
+
[[File:Booboologo2x.png|thumb]]
  
 
== About ==
 
== About ==

Revision as of 19:03, 19 October 2024

Booboologo2x.png

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