J.E.N.O.V.A

Projekt J.E.N.O.V.A is a comprehensive series of extension libraries for the Godot 4 Game Engine that brings fully-featured C++ scripting directly into the Godot Editor. It allows the use of modern C++20 standards within the Godot Engine, similar to GDScript.

Projekt J.E.N.O.V.A

JENOVA-Screenshot

DocumentationVideo Log IVideo Log IIFeaturesSource Code

🪶 What is it?

Projekt J.E.N.O.V.A is a comprehensive series of extension libraries for the Godot 4 Game Engine that brings fully-featured C++ scripting directly into the Godot Editor. It allows the use of modern C++20 standards within the Godot Engine, similar to GDScript.

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.

🛠️ Current Features

  • Super Lightweight (5MB)
  • User-Friendly and Easy to Use
  • Very Fast & Reliable
  • Multi-Threaded Compilation & Source Caching
  • Debug Information Support
  • Built-in Package Manager (Compilers, SDKs, Tools, Plugins etc.)
  • C++ Scripts can be used exactly like GDScripts
  • Supports Script Templates (Pre-Defined/User-Defined)
  • Supports Built-in Script Mode (Embedded)
  • Supports C++ Tool Script Mode (In-Editor Execution)
  • Supports Exporting Properties from C++ Scripts
  • Multiple Interpreter Backends (NitroJIT, Meteora, A.K.I.R.A etc.)
  • Next-Gen Hot-Reloading Both at Runtime & Editor
  • Real-Time GDExtension Development
  • Operating System Emulation (Unix/WinNT)
  • Visual Studio Side-by-Side Deep-Integration
  • Visual Studio Exporter & Build System (2017-2022)
  • Auto Detection of Installed Visual Studios
  • Supports External Libraries and .NET Invoke
  • Watchdog System (Reload-On-Build)
  • Built-in Terminal Logging System (Customizable)
  • Asset Monitor System API (File/Directory Tracking)
  • On-Demand Reload Per Script Change
  • Lambda Signal Callbacks
  • Advanced Menu Options
  • Supports Additional/External Headers & Libraries
  • Build And Run Mode (Build Before Play/Play After Build)
  • Code Compression/Encryption (External/Built-in)
  • Direct GetNode & GetTree API
  • User Defined Preprocessor Definitions
  • Supports In-Editor C++ Headers
  • Module Boot/Shutdown Events
  • Supports C++ Headers Directly Inside Editor
  • Supports Scene Node Referencing
  • Supports Source Control using Git
  • And Much More!

📋 Source Code

Jenova Source Code is now available on GitHub for everyone under MIT license.

Note that this repository is intended for releases of the proprietary version and is licensed differently from the open-source public access version. Do not confuse the two. You can read about differences here.

👻 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.

📃 Getting Started

To get started with the Jenova Framework you can visit the official Documentation. While the Jenova Framework is fairly easy to use its extensive features can be a bit overwhelming.
To help you navigate we’ve prepared a very detailed guide that covers every detail and component of the framework.
Additionally, we regularly publish video tutorials to provide further assistance.

Projekt J.E.N.O.V.A also has an offical Discord Server:

Discord

[!IMPORTANT]
Jenova Supports Godot 4.2+, Windows 7 to 11 x64 and Linux x64, Mac support is not planned for now.
At the moment Jenova provides MSVC and GCC Support, However you can use Visual Studio on Windows directly without Jenova MSVC Compiler Package.

If you need C++ Scripting with support Mac you can use Godot Sandbox.

[!NOTE]
Current builds do not include the Virtual Machine and Emulator. While the code for these features is present, they are disabled because they are still heavily under development.

[!CAUTION]
Current builds are in the Alpha stage, Backup your project files! You may end up with data loss! Despite the current build being stable, having backups is always recommended.


Jenova is a Free software.

Developed with 💙 and 🩸By Hamid.Memar