"FUSE is an open source library for visually programming on the GPU, built to enable rapid workflows and modular approaches to accelerated graphics, logic and computation.
FUSE is built for use in vvvv gamma and follows its ‘always runtime’ model allowing for fast design and programming work with no build or compile process in between you and your results. Instant and visual, so you can work fast and play freely.
Rendering uses the Stride 3D Engine integration for vvvv, allowing for game engine style PBR materials, lighting & post effects all without having to write a single script."
From the website:
"FUSE is an open source library for visually programming on the GPU, built to enable rapid workflows and modular approaches to accelerated graphics, logic and computation.
FUSE is built for use in vvvv gamma and follows its ‘always runtime’ model allowing for fast design and programming work with no build or compile process in between you and your results. Instant and visual, so you can work fast and play freely.
Rendering uses the Stride 3D Engine integration for vvvv, allowing for game engine style PBR materials, lighting & post effects all without having to write a single script."
You might be interested in checking out how Stride does stuff. It's a modern game engine built on C# (not just using it for scripting) that was open sourced by a professional Japanese game studio.
The bepuphysics blog has some in-depth posts about tackling a 3d physics engine in C# and making it performant
C# also seems to be popular with voxel game devs. I can't find it right now, but there is an extremely in-depth article out there somewhere where someone talks about the various ways they wrangled the .net garbage collector to behave itself and not affect their voxel game engine's performance.
The Cherno has a series of videos on both learning C++ as well as writing a c++ game engine from the ground up.
As far as what you should do, do what you enjoy. At you're age, programming should be a fun activity that you learn from. You don't have to worry about getting a job yet, so focus on what you enjoy. If C++ is too much at this point, maybe do C# with SFML.NET or SDL.NET first. Or look at some existing engines such as Godot or stride
>ones that companies would likely hire for other than unreal and unity
A lot of companies use their own proprietary engines or forks of other engines (CD Projekt uses its own REDEngine, for instance). Some small studios, including ours, are experimenting with Stride (formerly Xenko, now open-sourced) and its forks.
Please note the engine isn't everything. The engine will take care of things like rendering and physics, while most stuff like UI/UX aren't using any common libraries and differs greatly from developer to developer - the included stuff is often very basic and doesn't cover cases where style does matter. Due to this particular reason and our lack of will to cut any corners, we literally had to write our own overlay compositing library, then link it to the final graphics compositor.
You can make a game engine in Java/Kotlin. But, that doesn't mean you should. For professional work, your choices are pretty much C, C++ and Rust. https://stride3d.net/ is a good counter-example to my claim. But, the far more common method is a high-level language interface over a C++ implementation. https://github.com/google/filament is an awesome example of a Kotlin interface over a C++ implementation. Unity is C# over C++.
And, yeah. It's possible to get a job without a degree. But, you need to have really impressive demos and be able to explain how they work in depth.
btw r/gameenginedevs/
"FUSE is an open source library for visually programming on the GPU, built to enable rapid workflows and modular approaches to accelerated graphics, logic and computation.
FUSE is built for use in vvvv gamma and follows its ‘always runtime’ model allowing for fast design and programming work with no build or compile process in between you and your results. Instant and visual, so you can work fast and play freely.
Rendering uses the Stride 3D Engine integration for vvvv, allowing for game engine style PBR materials, lighting & post effects all without having to write a single script."
If you want full ownership and amazing high quality shaders with productive C# coding, then definitely have a look at the Stride game engine: https://stride3d.net
The whole engine is written in C#, so it is quite easy to customize the engine as well. And since the engine and scripting lives in the same world the API has native performance.
They also have a very good asset tool chain, with live reload and such things.
There is a FPS project template to start with, you could download it and give it a spin. Maybe you just have to plug in your content and your done...
You could use a free and open-source 3d engine, such as https://stride3d.net which uses an easy to use entity-component system.
Then the drawing part is just a few lines of code, even with high quality shading and you can concentrate on the simulation code...