This repository contains a collection of utility plugins for the NVGT (NonVisual Gaming Toolkit) engine, extending its capabilities with hardware-accelerated graphics, native notifications, and voice recognition.
My friend and I originally built these for our own game project. After realizing how useful they could be for the community, we decided to release them. We might add more plugins later as our requirements evolve.
A hardware-accelerated 2D rendering plugin based on SDL3. It allows NVGT games to display visual content, which is essential for hybrid audio/visual games. We use this in our board games collection to render screen content alongside the audio.
Features:
- Create and manage a rendering window (can attach to existing window handles).
- Draw text with custom fonts (TTF support) and text wrapping.
- Render images (PNG, JPG, etc.).
- Draw primitives: Rectangles, Circles, Lines.
- Simple menu rendering helper.
AngelScript API: graphics_renderer
Provides integration with Windows native Toast Notifications and the System Tray. We use this to show game invite notifications and to keep the game running in the background when minimized.
Features:
- Toast Notifications: Show rich notifications with titles, body text, images, and actionable buttons.
- Tray Icon: Add a system tray icon with a tooltip and a custom context menu.
- Shortcut Management: Helper to install application shortcuts (required for Toast Notifications to function correctly with AppIDs).
AngelScript API: toast_notifier, tray_icon
Enables speech recognition capabilities using the Windows Runtime (WinRT) Speech API. This started as a random experiment, but we've found it to be surprisingly fun and useful for everyone who sees it in action.
Features:
- Continuous speech recognition.
- Define custom command phrases to listen for.
- Dictation mode support.
- Asynchronous event handling.
AngelScript API: voice_recognizer
- Locate NVGT Source: Navigate to your NVGT source directory (e.g.,
d:\dev\nvgt). - Install Plugins: Copy the plugin folders from this repository into the
plugindirectory within the NVGT source tree.- Source:
plugins\graphics->d:\dev\nvgt\plugin\graphics - Source:
plugins\notifications->d:\dev\nvgt\plugin\notifications - Source:
plugins\voice_command->d:\dev\nvgt\plugin\voice_command
- Source:
This plugin requires extra dependencies (libpng, jpeg) not enabled by default in NVGT.
- Run the setup script from the engine root:
python plugin/graphics/setup_vcpkg.py
- Update the engine's dependencies:
python vcpkg/build_dependencies.py x64-windows
These plugins do not require additional setup steps beyond copying them into the plugin folder.
Open your terminal in the NVGT root directory and run:
scons- The build system will automatically detect the new folders and compile them.
- Use
static_<name>_plugin=1orno_<name>_plugin=1to customize the build.
Compiled DLLs will be in release/lib/ (e.g., release/lib/graphics.dll).
To use these plugins in your NVGT games, ensure they are in your library path (e.g., "c:\nvgt\lib").
- amankgbos
- Authored the initial implementation and prototypes for the
graphicsandvoice_commandplugins.
- Authored the initial implementation and prototypes for the
This project is licensed under the zlib License - see the LICENSE file for details.