Skip to content

Mikshade/GameTextbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameTextbox

Generate video-game-style textbox videos with a typewriter effect — as a transparent video (ProRes 4444 MOV or WebM VP9) ready to drop onto any timeline in DaVinci Resolve, Premiere, After Effects, or OBS.

GameTextbox preview

Features

  • 6 built-in styles — Classic RPG, Pokémon, Visual Novel, Undertale, Modern AAA, Final Fantasy
  • Typewriter animation with per-style speed, easing box intro, and blinking cursor
  • True transparency — ProRes 4444 (yuva444p12le) drops straight into DaVinci Resolve with a real alpha channel; WebM VP9 for the web
  • Full GUI with live preview and threaded rendering
  • CLI for automation and batch scripts
  • Customisable — custom fonts, speaker name tags (Visual Novel), font sizes, resolutions up to 4K, FPS up to 60

Quick start

Option 1 — grab the .exe (Windows)

  1. Download GameTextbox.exe from the latest release
  2. Make sure FFmpeg is in your PATH
  3. Double-click — done

Option 2 — run from source

git clone https://github.com/Mikshade/GameTextbox.git
cd GameTextbox
pip install -r requirements.txt

# GUI
python gui.py

# CLI
python cli.py "Hello World" --preset classic_rpg -o output/hello.mov

Requires Python 3.10+ and FFmpeg in PATH.

CLI usage

# Simple
python cli.py "Hallo Welt"

# Pick a style
python cli.py "A wild Pikachu appears!" --preset pokemon -o output/pika.mov

# Multi-line text
python cli.py "Line one\nLine two" --preset classic_rpg

# Visual Novel with speaker name tag
python cli.py "Welcome back." --preset visual_novel --speaker "Mikshade"

# Slow dramatic typewriter
python cli.py "It is done..." --preset final_fantasy --speed 18

# 4K output, 30 fps, WebM
python cli.py "Quest complete" --preset modern_game \
    --width 3840 --fps 30 --format webm -o output/quest.webm

# Custom font
python cli.py "Pixel power" --preset undertale --font fonts/PressStart2P.ttf

Run python cli.py --help for all flags.

The 6 styles

Style Look
classic_rpg Dragon Quest — deep blue fill, white double border, yellow cursor
pokemon White box with blue rounded border, navy cursor
visual_novel Dark translucent panel with gold trim and a speaker name tag
undertale Black fill, hard white pixel border, per-character shake
modern_game AAA-style with a thin accent line and subtle shadow
final_fantasy Blue vertical gradient, white double border, yellow cursor

Each preset is a Python dict in presets.py — copy one and tweak colors, padding, border, fonts, or animation speeds to build your own.

GUI

The GUI gives you a live preview (with a checkerboard background so you can see the transparency) and exposes everything from the CLI plus a threaded render loop that won't freeze while it works.

  • Text input (multi-line)
  • Style picker with instant preview refresh
  • Speed slider (8–80 characters per second)
  • Speaker name (for Visual Novel)
  • Output path with file picker
  • Format (ProRes / WebM), width (1280 → 3840), FPS (24/25/30/60)
  • Font size override and custom .ttf/.otf file

Output specs

Format Codec Pixel format Container Use case
prores ProRes 4444 yuva444p10le .mov DaVinci Resolve / NLEs — full alpha
webm VP9 yuva420p .webm Web / OBS browser source

Building the .exe yourself

pip install pyinstaller customtkinter pillow
build_exe.bat

The finished executable lands in dist/GameTextbox.exe (~33 MB, single file).

Project layout

gametextbox.py     # core renderer + FFmpeg encoder
presets.py         # 6 built-in styles
cli.py             # command-line interface
gui.py             # customtkinter GUI
example.py         # render all 6 presets at once
build_exe.bat      # PyInstaller build script

License

MIT — see LICENSE. Do whatever you want, just don't blame me if it breaks.

Contributing

Pull requests welcome. If you build a new preset and want to share it, just drop it in presets.py and send a PR with a preview screenshot.

About

Video-game-style textbox video generator with typewriter effect and transparent output for DaVinci Resolve (ProRes 4444)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors