The Forge - Le Bottin des Jeux Linux

The Forge

🗃️ Specifications

📰 Title: The Forge 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 04. Released (status)
🏷️ Category: Development ➤ Framework & Tool ➤ Rendering Framework 🌍️ Browser version:
🔖 Tags: Development; Framework; Rendering; Multi-platform; Scripting support; Mouse; Gamepad; Touchscreen 📦️ Package Name:
🐣️ Approx. start: 2017-10-01 📦️ Arch package:
🐓️ Latest: 2024-03-01 📦️ RPM package:
📍️ Version: Latest: 💥️ 1.55 / Dev: 4d68af6 📦️ Deb package:
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: Apache-2.0 📦️ AppImage package:
🏝️ Perspective: Third person 📦️ Snap package:
👁️ Visual: 2D & 3D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support: ✓
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb & Louis
🎰️ ID: 15929 🐛️ Created: 2020-09-27
🐜️ Updated: 2024-03-02

📖️ Summary

[en]: A libre, multi-platform rendering framework that provides a rendering layer and building blocks to quickly write a custom game engine. It includes a math library, an animation system (with skinning and optimized/vectorized math), asynchronous resource loading, a system for consistent memory management on the GPU and CPU, a cross-platform audio system, a cross-platform abstract input system, a UI system with dedicated unit testing, and high-end graphics effects. [fr]: Un framework libre et multi-plateforme de rendu fournissant une couche de rendu et des blocs de construction permettant d'écrire rapidement un moteur de jeu personnalisé. Il offre notamment une bibliothèque mathématique, un système d'animation (avec skinning et mathématiques optimisées/vectorisées), le chargement asynchrone des ressources, un système assurant la gestion cohérente de la mémoire sur le GPU et le CPU, un système audio multi-plateforme, un système de saisie abstrait multi-plateforme, un système d'interface utilisateur avec test unitaire dédié, et des effets graphiques haut de gamme.

🚦 Entry status

💡 Lights on: ✓ 🦺️ Work in progress:
📰 What's new?: 🦍️ Consistent version New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
🕳️ Not used2: 👔️ Already shown:

🎥️ Videos


🦝️ From Users: Gamefromscratch (202002),


🎮️ Showcase: 💥️(202302),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots 1 2] [Videos t(202xxx) gd(202xxx) gu(202002) r(202xxx) lp(202xxx) d(202302) ht(202xxx) ht[fr](202xxx) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (The Forge Interactive 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [vimeo] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [Facebook] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Gamefromscratch]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Gamefromscratch (20200205)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: The Forge
🦊️ What's: A libre rendering framework
🏡️ https://theforge.dev/products/the-forge/
🐣️ https://github.com/ConfettiFX/The-Forge
🔖 #LinuxGameDev #GraphicsEngine
📦️ #Libre
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 1.55
⚗️ Consistent version 🦍️
📌️ Changes: https://github.com/ConfettiFX/The-Forge/releases
🦣️ From: 📶️ https://github.com/ConfettiFX/The-Forge/releases.atom

🦝️ https://www.youtube.com/embed/uFDa4M4ZBPs
🎮️ https://www.youtube.com/embed/4VFUXl3mm9Y

🕶️ An example of rendering featuring Stormtrooper (from the Star Wars saga) standing on a patio with outdoor chairs and tables, giving the scene an anachronistic look. On the left-hand side of the screen are displayed a series of information (yellow text superimposed on the image) on the simulation parameters.

The Forge is a libre, multi-platform rendering framework that provides a rendering layer and building blocks to quickly write a custom game engine. It includes a math library, an animation system (with skinning and optimized/vectorized math), asynchronous resource loading, a system for consistent memory management on the GPU and CPU, a cross-platform audio system, a cross-platform abstract input system, a UI system with dedicated unit testing, and high-end graphics effects.

📕 Description [en]

📕🐧"A libre rendering framework providing a rendering layer & building blocks to write a game engine"🐧📕.

The Forge

Open-Source Cross-Platform Rendering Framework
Our ingenious framework can be used to produce rendering layers for custom next-gen game engines and provides building blocks for writing your own game engine quickly.

Features:

• Asynchronous resource loading with a task-based system
• Lua scripting system for loading models and textures and animating camera
• Animation system with skinning and optimized/vectorized math
• Consistent math library with NEON intrinsics for mobile platforms
• Modified and integrated version of Assimp for loading art assets
• Consistent memory management on both GPU and CPU
• Cross-platform abstracted input system for mobile, console and desktop
• Fast Entity Component System based on our internally developed ECS
• UI system with dedicated unit test—extended for touch input devices
• Cross-platform audio system for mobile, console and desktop
• Various implementations of high-end graphics effects


The Forge is a cross-platform rendering framework supporting
• PC
⚬ Windows 10
- with DirectX 12 / Vulkan 1.1
- with DirectX Ray Tracing API
- DirectX 11 Fallback Layer for Windows 7 support (not extensively tested)
⚬ Linux Ubuntu 18.04 LTS with Vulkan 1.1 and RTX Ray Tracing API
• Android Pie with Vulkan 1.1
• macOS / iOS / iPad OS with Metal 2.2
• XBOX One / XBOX One X / XBOX Series X (only available for accredited developers on request)
• PS4 / PS4 Pro (only available for accredited developers on request)
• PS5 (only available for accredited developers on request)
• Switch (only available for accredited developers on request)
• Google Stadia (in development) (only available for accredited developers on request)

Particularly, the graphics layer of The Forge supports cross-platform

• Descriptor management. A description is on this Wikipage
• Multi-threaded and asynchronous resource loading
• Shader reflection
• Multi-threaded command buffer generation

The Forge can be used to provide the rendering layer for custom next-gen game engines. It is also meant to provide building blocks to write your own game engine. It is like a "lego" set that allows you to use pieces to build a game engine quickly. The "lego" High-Level Features supported on all platforms are at the moment:

• Resource Loader as shown in 10_PixelProjectedReflections, capable to load textures, buffers and geometry data asynchronously
• Lua Scripting System - currently used in 06_Playground to load models and textures and animate the camera
• Animation System based on Ozz Animation System
• Consistent Math Library based on an extended version of Vectormath with NEON intrinsics for mobile platforms
• Extended version of EASTL
• Consistent Memory Managament:
⚬ on GPU following Vulkan Memory Allocator
⚬ on CPU Fluid Studios Memory Manager
• Input system with Gestures for Touch devices based on an extended version of gainput
• Fast Entity Component System based on our internally developed ECS
• Cross-platform FileSystem C API, supporting disk-based files, memory streams, and files in zip archives
• UI system based on imGui with a dedicated unit test extended for touch input devices
• Audio based on integrating SoLoud
• Shader Translator using a superset of HLSL as the shader language. There is a Wiki page on how to use the Shader Translator
• Various implementations of high-end Graphics Effects as shown in the unit tests below.

📕 Description [fr]

Un framework de rendu fournissant une couche de rendu et des blocs de construction pour écrire un moteur de jeu, par The Forge Interactive.
En C++.

The Forge est un framework libre et multi-plateforme de rendu fournissant une couche de rendu et des blocs de construction permettant d'écrire rapidement un moteur de jeu personnalisé. Il offre notamment une bibliothèque mathématique, un système d'animation (avec skinning et mathématiques optimisées/vectorisées), le chargement asynchrone des ressources, un système assurant la gestion cohérente de la mémoire sur le GPU et le CPU, un système audio multi-plateforme, un système de saisie abstrait multi-plateforme, un système d'interface utilisateur avec test unitaire dédié, et des effets graphiques haut de gamme.


The Forge

Framework de rendu multi-plateforme open-source
Notre ingénieux Framework peut être utilisé pour produire des couches de rendu pour des moteurs de jeu personnalisés de nouvelle génération et fournit des blocs de construction pour écrire rapidement votre propre moteur de jeu.

Caractéristiques :

• Chargement asynchrone des ressources avec un système basé sur les tâches
• Système de script Lua pour le chargement des modèles et des textures et l'animation de la caméra.
• Système d'animation avec skinning et mathématiques optimisées/vectorisées.
• Bibliothèque mathématique cohérente avec NEON intrinsèque pour les plateformes mobiles.
• Version modifiée et intégrée d'Assimp pour le chargement des ressources artistiques.
• Gestion cohérente de la mémoire sur le GPU et le CPU.
• Système de saisie abstrait multi-plateforme pour les mobiles, les consoles et les ordinateurs de bureau.
• Système de composants d'entités rapide basé sur notre système ECS développé en interne.
• Système d'interface utilisateur avec test unitaire dédié, étendu aux périphériques d'entrée tactiles.
• Système audio multi-plateforme pour mobiles, consoles et ordinateurs de bureau.
• Diverses implémentations d'effets graphiques haut de gamme


The Forge est un framework de rendu multi-plateforme supportant

• PC
⚬ Windows 10
- avec DirectX 12 / Vulkan 1.1
- avec DirectX Ray Tracing API
- Support de la couche DirectX 11 pour Windows 7 (non testé de manière approfondie)
⚬ Linux Ubuntu 18.04 LTS avec Vulkan 1.1 et RTX Ray Tracing API
• Android Pie avec Vulkan 1.1
• MacOS / iOS / iPad OS avec Metal 2.2
• XBOX One / XBOX One X / XBOX Series X (uniquement disponible pour les développeurs accrédités sur demande)
• PS4 / PS4 Pro (uniquement disponible pour les développeurs accrédités sur demande)
• PS5 (uniquement disponible pour les développeurs accrédités sur demande)
• Switch (uniquement disponible pour les développeurs accrédités sur demande)
• Google Stadia (en cours de développement) (disponible uniquement pour les développeurs accrédités sur demande)

En particulier, la couche graphique de The Forge supporte

• Gestion des descripteurs. Une description se trouve sur cette page Wikipédia
• Chargement de ressources asynchrones et multitâches
• Réflexion d'ombres
• Génération de tampons de commande multitâches

The Forge peut être utilisé pour fournir la couche de rendu pour les moteurs de jeu personnalisés de la prochaine génération. Il est également destiné à fournir des blocs de construction pour écrire votre propre moteur de jeu. C'est comme un jeu de "lego" qui vous permet d'utiliser des pièces pour construire rapidement un moteur de jeu. Les fonctions de haut niveau "lego" sont actuellement prises en charge sur toutes les plateformes :

• Chargeur de ressources comme indiqué dans 10_PixelProjectedReflections, capable de charger des textures, des tampons et des données géométriques de manière asynchrone
• Lua Scripting System - actuellement utilisé dans 06_Playground pour charger des modèles et des textures et animer la caméra
• Système d'animation basé sur le système d'animation Ozz
• Bibliothèque mathématique cohérente basée sur une version étendue de Vectormath avec les éléments intrinsèques de NEON pour les plateformes mobiles
• Version étendue d'EASTL
• Gestion cohérente de la mémoire :
⚬ sur GPU suivant l'allocateur de mémoire Vulkan
⚬ sur CPU Fluid Studios Memory Manager
• Système d'entrée avec gestes pour les appareils tactiles basé sur une version étendue de gainput
• Système rapide de composants d'entités basé sur notre système ECS développé en interne
• API du système de fichiers C multi-plateforme, prenant en charge les fichiers sur disque, les flux de mémoire et les fichiers des archives zip
• Système d'interface utilisateur basé sur l'imGui avec un test unitaire dédié, étendu aux dispositifs de saisie tactile
• Audio basé sur l'intégration de SoLoud
• Shader Translator utilisant un sur-ensemble de HLSL comme langue de shader. Il existe une page Wiki sur l'utilisation du Shader Translator
• Diverses mises en œuvre d'effets graphiques haut de gamme, comme le montrent les tests unitaires ci-dessous