A simple branching dialogue editor and stateless runtime.Create your dialogue right in the Godot Editor itself with a simple script-like language and the built-in syntax checker.Then, in your game, use the DialogueManager global to fetch lines of dialogue. There is an example dialogue balloon to help get you started on creating your own to fit in better with your game. The GitHub repository also contains a few extra example balloon implementations.
Quick Information
Adds support for flickering lights in both 2D and 3D using lightstyle patterns inspired by Quake and Half-Life.Easily simulate broken or erratic lights with simple pattern strings ("mmamammmmammamamaaamammma") and adjustable speed.Supports OmniLight3D, DirectionalLight3D, SpotLight3D, and PointLight2D.Great for horror, industrial, sci-fi or retro FPS-style environments.Includes:- 3D Lights: OmniLight3D, DirectionalLight3D, SpotLight3D- 2D Lights: PointLight2D, FlickeringDirectionalLight2D, FlickeringLightOccluder2D- Built-in lightstyle pattern parserSimple, drop-in usageNo external dependencies. MIT licensed.
Flickering Light for Godot
This plugin adds flickering behavior to both 2D and 3D lights in Godot Engine using lightstyle patterns inspired by Quake and Half-Life.
Features
- Supports OmniLight3D and PointLight2D
- Flicker patterns are defined as strings (e.g. "mmamammmmammamamaaamammma")
- Adjustable speed and pattern
- Lightweight and editor-friendly
- Compatible with Godot 4.x
- Fully runtime-animated (
_process()-based). - Ideal for torches, faulty bulbs, or horror scenes.
Installation
- Install via AssetLib, or copy the
addons/flickering_lightfolder into your project. - In the Godot Editor, go to Project > Project Settings > Plugins and enable Flickering Light.
Usage
For 3D
- Add a
FlickeringLight3Dnode to your scene. - Adjust the
patternandspeedproperties in the Inspector.
Or you can use it via code
func _ready() -> void:
var flicker_light = FlickeringLight3D.new()
flicker_light.max_energy = 2.0
flicker_light.pattern = 'mmaammzmaamamzzmaam'
flicker_light.position = Vector3(0, 1, 1.5)
add_child(flicker_light)
For 2D
- Add a
FlickeringLight2Dnode to your scene. - Adjust the
patternandspeedproperties in the Inspector.
Pattern Format
Each character in the pattern represents a brightness level:
- 'a' is darkest
- 'm' is medium light
- 'z' is brightest
The brightness is calculated using:intensity = (char - 'a') / 25.0
Examples:
"mmamammmmammamamaaamammma": erratic flicker"abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba": smooth pulse
License
This plugin is distributed under the MIT License. See the LICENSE file for details.
Compatibility
- Tested with Godot 4.4.
- Only PointLight2D and OmniLight3D are currently supported.
Adds support for flickering lights in both 2D and 3D using lightstyle patterns inspired by Quake and Half-Life. Easily simulate broken or erratic lights with simple pattern strings ("mmamammmmammamamaaamammma") and adjustable speed. Supports OmniLight3D, DirectionalLight3D, SpotLight3D, and PointLight2D. Great for horror, industrial, sci-fi or retro FPS-style environments. Includes: - 3D Lights: OmniLight3D, DirectionalLight3D, SpotLight3D - 2D Lights: PointLight2D, FlickeringDirectionalLight2D, FlickeringLightOccluder2D - Built-in lightstyle pattern parser Simple, drop-in usage No external dependencies. MIT licensed.
Reviews
Quick Information
Adds support for flickering lights in both 2D and 3D using lightstyle patterns inspired by Quake and Half-Life.Easily simulate broken or erratic lights with simple pattern strings ("mmamammmmammamamaaamammma") and adjustable speed.Supports OmniLight3D, DirectionalLight3D, SpotLight3D, and PointLight2D.Great for horror, industrial, sci-fi or retro FPS-style environments.Includes:- 3D Lights: OmniLight3D, DirectionalLight3D, SpotLight3D- 2D Lights: PointLight2D, FlickeringDirectionalLight2D, FlickeringLightOccluder2D- Built-in lightstyle pattern parserSimple, drop-in usageNo external dependencies. MIT licensed.