GB Studio 4 Released

GB Studio, the free and open source retro game engine for creating GameBoy style (in fact… GameBoy ROMs!) games have just released GB Studio 4. It provides everything you need to create a game from art, level and music creation tools to an intuitive game programming interface. Available for Windows, Mac and Linux, GB Studio is also a great choice for new developers. New features in GB Studio 4 include:

  • Add ability to launch projectiles at a target actor @patrickmollohan @pau-tomas
  • Add angle selector input showing degrees for GBVM angle values @pau-tomas
  • Add support for atan2 function in math expressions @pau-tomas
  • Add magnitude field to camera shake event @patrickmollohan
  • Add checkbox to toggle if new animation should loop when using Set Actor Animation State event @pau-tomas
  • Add shortcut to search scenes when in world mode by pressing /
  • Add support from adding sound effects to a project by dragging files into project window (to match how this works for other asset types)
  • Add native support for Macs with Apple silicon without needing Rosetta
  • Add support for << and >> operators in math expressions @pau-tomas
  • Add script debugger pane to World view, when game is run while this is open allows inspecting currently running scripts, setting breakpoints and updating live variable values
  • Add ‘Color Only’ mode. Roughly doubles the amount of tiles available for backgrounds and sprites though game will no longer run on original GB (DMG) hardware
  • Add event “Replace Tile At Position” and “Replace Tile From Sequence” to update background tiles, calling “Replace Tile From Sequence” repeatedly will cycle through animation frames
  • Add new asset folder “Tilesets” for use in “Replace Tile” events
  • Add ability for plugins to define additional scene types by including defined types (e.g. "sceneTypes": [{"key": "RACING", "label": "Racing 2D"}]) in engine.json @pau-tomas
  • Add ability for Actor Move RelativeActor Set Position Relative and If Actor At Position to use variables as coordinate inputs
  • Add ability for almost every script event input that supports variables to use advanced values, click the button to the left of the value input to select value types, and combine them with math operators
  • Add ability to use variables within Menu and Choice events @pau-tomas
  • Add stack preview mode to debugger
  • Add ability to set common tilesets between scenes, the common tiles will always be loaded in a consistent order between scenes sharing the same common tileset
  • Add ability to set Fade Speed as “Instant” when switching scenes, combine this with use of common tilesets in both scenes to enable seamless scene switching
  • Add ability to use variables, advanced values and expressions for coordinates in Change Scene event
  • Add ability to “Preview as Monochrome” when using mixed color mode by toggling button at bottom left of World view
  • Add ability to provide color PNGs for backgrounds and extract palettes automatically by either clicking “Auto Color” button in brush toolbar or using dropdown on Scene sidebar next to “Background Palettes” label
  • Add ability to override tile data for auto colored backgrounds by providing a matching *.mono.png in your assets/backgrounds folder containing a monochrome version of the background. When provided this file will be used for tiles data and the regular image will be used to extract the color palettes (useful for mixed color mode games when auto palettes isn’t creating tile data as you’d like automatically)
  • Add ability to edit waveforms in music editor using keyboard with ability to copy/paste @pau-tomas
  • Add ability to restore scene’s default palettes in “Set Background Palettes” (especially useful when using auto palettes)
  • Add ability to set filename when creating a new song in music editor
  • Add context menus when right clicking on list items, or on scenes/actors/triggers in world view, or tiles on sprite editor view allowing renaming/deleting
  • Add ability to multi select scenes by shift click + dragging on world view or shift clicking in scenes list. When multiple scenes are selected they can be moved at the same time
  • Add ability to multi select script events by shift clicking the event’s header. When multiple events are selected they can be moved, copied, grouped or deleted at the same time
  • Add ability for scenes, scripts, palettes and image/music assets to be organised into folders by naming them with path separators (/ or \ supported) e.g naming a scene ui/menu/Inventory will place it in a folder ui/menu
  • Generate game_globals.h at compile time allowing access to global variables from C code @pau-tomas
  • Add support for using random numbers in GBVM RPN instructions @untoxa
  • Add Set Camera Position event which can be used before scene fade in to instantly move camera to a new location
  • Add Script Lock and Script Unlock events allowing pausing other scripts and scene updates until the script is completed or unlocked
  • Add Build Options to “Settings” section with option to toggle if “Build Log” should be opened automatically on warnings
  • Add Show Navigator button to World toolbar if navigator is closed
  • Add ability to rename flags in Variable Flags Add/Clear/Set events @pau-tomas
  • Add ability for variables to be used for X/Y coordinates in replace tile events
  • Add Russian localisation. @Alexandr199514
  • Add support for isqrt and rnd functions in math expressions
  • Add support for printf style tokens in text. %D5$Variable in text will output variable value with 5 characters and leading zeros e.g. 00042%c$Variable will output a character code based on variable value, %t$Variable will set text speed based on variable value, %f$Variable will change font based on variable value.
  • Add ability to change text cursor position in dialogue with “Set Cursor Position To” and “Move Cursor Position By” commands accessible by typing !Cursor

Key Links

GB Studio Homepage

GB Studio Itch Page

GB Studio 4 Release Notes

GB Studio GitHub

You can learn more about the GB Studio 4 release and see the retro game engine in action in the video below.

Scroll to Top