Introduction
Video Log I • Video Log II • Features • Source Code
🪶 What is it?
Projekt J.E.N.O.V.A is a comprehensive series of extension libraries for the Godot 4 Game Engine expanding its capabilities with cutting-edge technologies. It introduces fully-featured C++ scripting within the Godot Editor and allows the use of modern C++ 20/23 standards within the Godot Engine, similar to GDScript/C#.
By using Jenova Framework you can easily program your entire game or application in C/C++ without any issues. You can also integrate OpenCV, CUDA, Vulkan, OpenMP and any other modern C++ features seamlessly, All supported by the powerful backend.
Structure of Projekt J.E.N.O.V.A
- Jenova Framework : The framework contains Jenova Runtime and JenovaSDK.
- Jenova Runtime (Core) : The heart of the framework, It includes the Jenova Interpreter, Jenova Compiler Interface, Jenova Packer, etc.
- JenovaSDK : An optional component of Jenova Runtime, providing helpers and APIs for hot-reloading, global allocation/access, etc.
- JenovaRTX : A Real-Time RTX-powered path tracer developed using Jenova Framework featuring DLSS 4.0 and Ray Reconstruction.
- JenovaLLM : A minimal Real-Time Vulkan powered Large Language Model Runtime developed using Jenova Framework.
📋 Source Code
Jenova Source Code is available on GitHub for everyone under MIT license.
👻 Why Called Jenova?
I've received some amusing comments about the project name, so here's the backstory. Although I'm a huge FF7 fan, the name isn’t directly linked to Final Fantasy. Jenova is derived from 'Jehovah,' meaning 'New God.' I chose this name because Godot translates to 'Small God.' Therefore, in this context, Jenova signifies a new god emerging from a small god. Additionally, it means 'Well-Born'
Now, why Jenova and J.E.N.O.V.A? The answer is straightforward. Name formatting like this was popular in the 2000s, similar to F.E.A.R. or A.K.I.R.A. It doesn't reference anything specific. However, it's worth noting that Projekt J.E.N.O.V.A refers to the entire toolchain, which includes the Framework, Runtime, Emulator, etc.
🛠️ GDExtension vs Jenova
Jenova Framework is not only a toolset to ease the development of GDExtension in Godot, It implements a fully-featured C++ script backend and adds deep integration to the engine script interface just like GDScript, C# and Python.
Jenova Runtime contains an interpreter, C++ Script Instance, C++ Script Object and C++ Language implementations. Everything works together to bring the actual scripting experience using the C++ language.
📖 Learn more about Jenova Mechanism
Jenova Supports Godot 4.2+, Windows 7 to 11 x64 and Linux x64 and macOS arm64.
Jenova provides MSVC, Clang-cl, MinGW, LLVM Clang and GCC Support, However you can use Visual Studio on Windows directly without Jenova MSVC Compiler Package.
If you need C++ Scripting with wider platform support try Godot Sandbox.
Current builds do not include the Virtual Machine and Emulator. They will be available as modules in future.
Current builds are in the Beta stage, Backup your project files! You may end up with data loss! Despite the current build being stable, having backups is always recommended.
Developed with 💙 and 🩸By Hamid.Memar