Difference between revisions of "BooBoo"

From CMYKilluminatiNetwork Wiki
Jump to: navigation, search
(DirectX)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:BooBooLogo.png|thumb]]
+
[[File:Booboologo2x.png|thumb]]
  
 
== About ==
 
== About ==
Line 11: Line 11:
 
== Modelling ==
 
== Modelling ==
  
The DirectX .x exporter here: [https://codeberg.org/CMYKilluminatiNetwork/shim4/src/branch/master/misc/io_scene_x_goobliata 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.
+
The DirectX .x exporter in the shim repo 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 ==
 
== Builtin vs. BooBoo functions ==
  
BooBoo functions can't accept variable number of arguments (unless you use vectors.) They also can't modify their inputs.
+
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 ==
 
== 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.
+
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/DirectX/etc.
  
 
== DirectX ==
 
== 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.
 
[[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.
 +
 +
OpenGL is the default, which is able to compile shaders online.
  
 
== Demo Games ==
 
== Demo Games ==
Line 48: Line 50:
 
* Shader
 
* Shader
 
* 3D
 
* 3D
 +
* GUI
 
* Collision Detection
 
* Collision Detection
 
* Audio
 
* Audio

Latest revision as of 18:39, 1 December 2024

Booboologo2x.png

About[edit]

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[edit]

BooBoo uses Polish notation for syntax. That means the operation comes first instead of in the middle. e.g. + x 1 increments x.

Modelling[edit]

The DirectX .x exporter in the shim repo 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[edit]

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[edit]

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/DirectX/etc.

DirectX[edit]

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.

OpenGL is the default, which is able to compile shaders online.

Demo Games[edit]

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[edit]

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