RPG-style 1st-Person with RTS-style Realtime
Yes, "realtime" in this case is a comparison to the gameplay style of an RTS game. "3D" and "1st-person" are being used to compare to the gameplay style in a "1st-person RPG."
Their mixture stems from the idea that a player can view and manage the world from a large map view, but also play inside that same world with a smaller role. The specific proprotional mixture, and usage of these playing styles would be a matter for specific game creators.
Whereas most 1st person games greatly save on computer resources by stitching smaller areas together when a player approaches those areas, a realtime game would need to find different ways to cheat performance in order to achieve the largest possible synchronous land area. Those methods would not bring the resource demands down to the same levels, but it does seem like the idea could be realistically pursued with today's hardware.
In voxel games such as Minecraft and Luanti, the foremost example of the reason for this is in production and processing of materials as a constant across the game. (comperable to harvesting in an RTS game.)
More generally, the manner in which a player moves across the map - and manages the timing of events and actions across the world - is the game itself. The potential uses can expand greatly to whatever game creators can imagine.
Most realtime games I know of are 2D realtime strategy (RTS) games. While these have evolved to have 3D elements, the user still engages with the game on a 2D plain of control.
The opposite is true for this engine, in that the 2D planal engagement exists within the 3D world. And the single player, 1st-person engagement with the world is prioritized alongside the typical realtime features of rapid, large-scale controls.
So, all space in the game is engaged with as if it is the same fluid space. All events that occur are clocked across the whole game.
And once again, all of this perfomance is for a single player setup - not a massive server.
General Scarcity of Voxel Engines
I do not know whether the performance obstacle to such an engine is fully a hardware issue. It is possible that much of it is a lack of interest for investment in one type of game.
Voxel game engines in general have their own issues being too niche to be invested in (I guess?). It seems that popular game engines can accomodate a surprising variety of types of games. However voxel engines are so different between each other in their requirements that I guess they each require an inordinately large attribution of performance tuning, and greater design efforts for deeply impactful algorithms.
Naturally, the idea of a general voxel engine would require being very performant with as many changeable factors as possible - and some factors simply would not make the cut, because of how fundamentally different they actually are. The concept of voxels is quite general.
One reason to mention this is that a realtime feature is one of these factors. Optimizing for realtime game scenarios seems to have some logic to it - that optimizing for higher performance demands in this area could benefit even games with lower performance demands, like Minecraft the Luanti.
Yes, effectively this might be identical to simply saying you try to accomodate larger chunk sizes, but then again you never fully know what technical differences pop up until it is attempted in practice.
In any case, the idea of a general engine is to be able to toggle as many core features as possible. This might include:
- creation on/off
- destruction on/off
- realtime world on/off
- realtime mimicry on/off
- chunk size
- world physics features 1, 2, 3, 4
- block physics features 1, 2, 3, 4
Realtime mimicry is a topic unto itself that would be a big compromise on an actual (real) realtime world.
The Best Toy: Minetest/Luanti
The best toy option for coming as close as possible to being able to create something (for me personally) seems to be the Minetest voxel game creation engine - now called "Luanti".
Most other available options are addons for another engine like Godot/Unity that are second-class citizens to the engine - or independent options that get dropped by contributors - or hobby engines developed for experiential purposes.
Minetest/Luanti qualifies as a performant engine for what it is made for. However, especially with regard to adapting it to another purpose like this, I call it a toy.
Minetest/Luanti is specifically made to create custom games with convenient Lua scripting, and that is actually pretty fantastic.
My hope is that the engine will be capable of some size of chunk area to enable synchronous realtime gameplay. And then obviuosly future hardware improvements would be able to increase that area. If I pursue this, then it will be a process of learning what the Lua can do.
Iolite
An engine called Iolite is available, but they are interested in imposing a paywall for full features. It is also somewhat immature.
Veloren
I must say that Veloren is impressive as an engine. But that engine is actually not modular. A further deterent from trying to adapt it is that it lacks much, if any, emphasis on block placement or destruction capabilities. The Veloren world does not have to factor in deeper blocks - just surface blocks. How much less performant would it be if adapted to accomodate these features?
As far as full development efforts go, I would not know where to start, and I would only want to do it as an advanced Rust dev. Fer rillzeez.
But it is too bad that Veloren's engine did not evolve to be so modular - or even a game creation tool like with Luanti - because it is such a smooth and beautiful modern, open source engine.
Godot Voxel Module
Voxel Tools for Godot
A C++ module for creating volumetric worlds in Godot Engine 4.
I have not used Godot yet, but more to the point I do not get the impression that this module is ready to be used in a real way.
No comments:
Post a Comment