Skip to content

v0.7.0

Choose a tag to compare

@markwpearce markwpearce released this 24 Sep 21:50
· 546 commits to main since this release
94ad997

Highlights

Breaking: BGE.Room is now BGE.GameScene (#227)

  • changeRoom() → changeScene(), onChangeRoom() → onChangeScene(), Renderer.drawScene() → render(), and friends - full rename table in CHANGELOG.md
  • Heads up: an override of onChangeRoom/addToScene/removeFromScene still compiles but is never called - search for those names

Rendering

  • DrawableCircle/DrawableSphere, particles, parallax layers, skybox, composable ground planes (fillMode), camera roll
  • Textured .obj models, Doom-style angle-based sprite billboards (DrawableOrientedSprite)
  • Smarter depth sorting, plus static level geometry drawn through a BSP tree (GameEntity.isStatic)
  • Configurable anchor on every Drawable, tilemap baking, SceneGraph shape components

Collision

  • 3D colliders (SphereCollider3d/BoxCollider3d), raycasting (Game.raycast()/raycastAll()), AABB-vs-tile resolution for platformers

UI

  • Global focus management (list navigation by default, optional pointer cursor), BGE.UI.Theme
  • Button, Checkbox, Select, TextInput, MessagePanel, 9-patch backgrounds, UI sounds
  • UI input is now processed before entity input, so a widget can consume() an event

Input

  • Multiple remotes, simulator gamepads (analog sticks) and browser controllers (with QR-code pairing) all share one player pool
  • Game.setCombineRemoteInputs() for single-player games, ControlMap.getActionHeldTimeMs(), BGE.FreeFlyCameraController

Also

  • TweenManager, CountdownTimer, Game.getEntitiesByTag(), Game.enableStandardDebugUi()
  • 12 new examples: audio, collisions3d, controller, depthsort, http, parallax, particles, platformer, scenegraph, terrain, tweens, ui
  • Lots of renderer fixes - see the changelog
  • Uses native DrawTransformedObject (fixed as of Roku OS 15.3) instead of a polyfill

Full changelog: v0.6.0...v0.7.0 (also see CHANGELOG.md)