Bow!

The Narrative Software Development Kit

Bow is a narrative software/game dev kit, with a powerful Arrow runtime in its core, developed on top of Godot engine (v4).

Play Online Demo

Bow SDK is a collection of common practices, reusable sets of infrastructures and helpful boilerplates for creative narrative software and game development, all wrapped in an open-source short example game.
In other words, it bundles almost every core feature and functionality you would need to create a narrative video-game in the form of a short/incomplete yet rich open Cinematic Visual Novel. You can simply replace your own story and art to have a (c-)vn, graphic adventure, etc. or re-use its independent and mostly isolated components in any other project.


Features

Modular & Reusable

Bow SDK is highly modular. Its core parts such as the runtime, Extended UI controls and the vertical/adaptive mixer node (Jukebox), are all developed as isolated addons. All the internals such as console, preferences manager, etc. are also designed to be independent as much as possible. Bow SDK (the example game) is a Cinematic Visual Novel; but nothing can stop you from reusing its components. If you need a branching interactive story part in a mainly action game, you can integrate Bow runtime in your project and maybe reuse the console! If you're interested in easy to implement adaptive music, take its Jukebox addon and so on.

100% Arrow Support!

Bow comes with a completely brand new Arrow runtime/interpreter. The runtime is developed as a custom node addon, bundled with the parent game/SDK.
The runtime is completely isolated from the SDK, so can be re-used in any other project to interpret Arrow documents. It supports 100% of the standard Arrow features and many useful pluses such as native support for Marker Hooks and Mood Snippets, Multi-document project structure (Chapters), State Serialization, etc.

Feature-rich

Bow comes with a full package! In addition to everything Godot & Arrow, it supports and/or includes:

  • Interactive Text Console
  • Game Save, Preview and Restore
  • User Preferences with Reactivity
  • Story Voice (-acting) with TTS fallback
  • Internationalization
  • Vertical Adaptive Music & Soundscape Mixer
  • Reusable Cinematic, Home & Inventory Scenes
  • Story-Art Integration Conveniences
  • Game State Inspector/Debugger
  • In-game Manual

and more.

Accessible

We try to help developers make their games accessible to everyone with support for:

  • Screen Reader and story TTS fallback
  • Customizable Color Filtering/Re-Mapping
  • Multi-mode Shortcut Keys
  • Mouse-only & Keyboard-only Navigation
  • Voice Clarity Mechanisms
  • Customizable Pace, Hint Level and Sensory Intensity
  • Display Configuration (Font-Size, Zoom Level, UI Transitions Speed, etc.)
  • Content-aware Audio Loudness Controls & Equalizer
  • In-game Content Moderation

etc.

Easy & Clean

Bow is a standard Godot project written chiefly in pure GDScript. It means you can take advantage of everything Godot offers as a popular and powerful engine.
It is quite complete as well! Within boundaries of the demo game's genre, almost no more coding is required. The code is pretty idiomatic, documented, practically commented, and written with as much care as we could afford.
Just create, animate, record and edit the parameters!

Free & Open-Source

Unless otherwise specified, Bow SDK including all its bundled addons are under the most permissive MIT/Expat license. Anything you make with Bow is all yours, no strings attached and free of charge.