Skip to content

Welcome to the homepage of the Nonvisual Gaming Toolkit!

Create audiogames with ease.

This website is currently under construction and you should expect any amount of it to be broken, defunct or uggly until it is officially announced that NVGT has open sourced. Until then, you can watch the development of the website and related materials like docs.

We look forward to serving you soon!

What is NVGT?

Enspired by the Blastbay Gaming Toolkit (bgt) known to much of the audiogaming community and originally created because of that engine's discontinuation, the NVGT engine aims to not only preserve old BGT games and make them better but to also provide a new platform for anybody who wishes to get into game development without learning some of the lower level programming concepts or languages usually required for such a thing, continuing where the concept of the BGT engine left off but with a completely new codebase and a cross platform design.

If you are not fermiliar with BGT, this was an inspirational audiogame creation engine that allowed a user to, with very little programming knowledge, begin coding games ranging from the very simple to the extremely complex. A scripting engine called Angelscript insured that a user could create a game without needing to learn a more complex programming language, it's functionality from a sound system to keyboard input to internet access insured that users wouldn't need to spend time hunting for components and libraries but instead could instantly begin developing their game, and it's built-in high speed compilation features insured that a user could release executable binaries of their games without endangering their sourcecode and without needing to learn a compiler toolchain for another language and/or wait for such a toolchain to actually build their project.

There are many such engines like this for video game development, allowing someone who was more interested in the game designing than the lower level programming to get off the ground relatively easily. However up until now, BGT was the closest thing audio game developers had to a simple grab and go gaming engine that contained all components necessary for the development of even quite complex games out of the box.

In 2014, BGT sadly became free/abandonware and stopped receiving updates. Though it took a few years for them to truly manifest, this started to create issues for anyone who had developed games using that engine. Libraries began getting out of date, you couldn't sign games with ssl certificates causing false positives with antivirus software, and the number of wanted features and discovered bugs continued to pile higher and higher. Finally as 2021 roled over into 2022, I made the decision that BGT was no longer viable to continue developing games in but I didn't want to abandon my projects (some of which had been running for years), and thus NVGT was born.

NVGT was made from the ground up to be able to run old BGT games as a start, as that was the original development goal of the project. With little modification to your codebase, you can quite easily make any BGT title written years ago run natively on a macbook with HRTF 3d audio in a new engine that gets updates!

As more and more work was put into the engine, however, it became clear that using it as a means to simply restore a few old games was quite simply a waste of this engine's potential. There is a quite large group of really very smart people who would frankly rather use their brain and it's learning capacity to develop a good game for multiple platforms rather than learning how cl.exe/visual studio works or how to invoque gcc on wsl/terminal with scons/cmake first let alone learning a low enough level language to want to invoque such commands. I think that the group of people who would rather spend their finite time deciding what skills their npcs should have rather than whether to use bass, sound_lib (oh wait that wraps bass), synthiser, miniaudio, sdl's audio system or something else is larger than some would imagine, and nothing complete has come along since BGT to satisfy this sort of developer who would rather focus on mechanics and use some preselected libraries instead of focusing on low level internals and dealing with long drawn out compile times.

Of course, having run into bgt's limitations myself and having been trapped by it's sandbox, another goal with NVGT quickly became making sure that a programmer who does want to include new components written in a lower level language could easily do so without the hastle and limitations of BGT's library objecct. As such, an expanding plugin system allows the creation of custom components or code that receive direct access to the underlying Angelscript engine used by nvgt scripts, where they can then add any class, namespace, method or property they desire with no intermediet dll calling layer accept for the initial plugin loading. If one wishes to rebuild NVGT from source, they can even compile such plugins as static libraries that get linked right into the build with little hastle. Though this is not done yet at the time of writing, there is a hope of providing some of nvgt's functionality as a c library for anyone wishing to avoid it's scripting layer entirely.

In the beginning I just created NVGT because I wanted to continue my Survive the Wild project without rewriting it from scratch, but in the end what was created is a customizable game engine that, with a bit more work, may hopefully have the potential of being pleaseing and useful to everyone from those who want to restore an old bgt project to those who want to make a new game without worrying about the internals to maybe even some of those who want to be able to wrest their knowledge of and take a break from low level programming and dependency hunting to just simply create a game, like me.

Features

The NVGT engine advertises the following qualities and features:

Donate

This engine is a gift given freely to the community and monitary donations are not necessary. However, it is true that it's development takes much time, energy and learning. To that end, NVGT can be considered donationware as monetary support allows me to invest more time into working on this project rather than other endeavors. If you would like to support further development of this engine or have found significant benifits as a result of using it, I'd much appreciate it if you would please consider supporting me on PayPal or if that's not an option, sharing this engine with those you think could benifit from it. Thank you very much!