> there are more polys, sure, there are higher res textures, sure, there are more complex and dynamic lights
What I'm noticing is there's too much focus on fancy lights, over-the-top postprocessing effects with annoying crap like ambient occlusion, screen space reflections that hog a lot of performance for just reflecting your character in water puddles placed everywhere just to show the effect off, and so on.
And not enough focus on good old textures and polygons. Approaching spherical objects closely still makes the polygons very very obvious. Staring directly at walls still shows how low res textures are.
> You could destroy everything, dig holes, build things
> How exactly do you know what resolution textures are or how many polygons are rendered.
A couple comments ago you were complaining at me for not being specific about why the rendering was bad, and then when someone gives you specific examples you lash out with "well how do you know that's why it's bad!?". We know because we have eyes.
> Initially I planned for the game to be flat shaded and added textures as an experiment, then realised the performance wasn't as horrible as I expected,
Heh, same!
> so it's mostly just a leftover from that. I did end up writing a scanline renderer for the flat shaded triangles, I think for those the bottleneck was transforming the vertices though.
IME vertex transformation is not expensive at all, compared to actually drawing on screen, at least if there is HW support for multiplication. Optimizations like merging identical block faces next to each other also reduce the total number of vertices, but this makes the texture distortions more apparent.
> Maybe I can deal with z-sorting entities by splitting them on voxel boundaries, and I guess dividing them again at any boundaries within non-full blocks (is this similar to https://en.wikipedia.org/wiki/Binary_space_partitioning?)
Kind of, yeah. With the structure of blocks in a chunk there is basically already a layer of partitioning that can be used, though it might not help sorting that much. Is there enough RAM for a Z buffer? If so, it might just be fast enough...
> For the affine texture splitting, as far as I can tell your game is more focused on creative mode/building whereas I might also want to add a survival mode so for that you're more likely to be up close to the blocks (e.g. in thin underground tunnels) and then the artifacts get much worse so I guess it matters more for me.
I never really bothered with that also because in tunnels/caves there is a bigger issue: There is no hidden surface elimination, which results in overdraw and due to the rather low effective fillrate in FPS drops. I couldn't come up with a good way to implement that properly without hurting performance itself.
> but go pick up any modern AAA video game and you can tell there is also so much more depth than we used to have. No?
No. There is a lot more texture memory and some good shader programming, but we knew how to render as good or better graphics 25 years ago - we didn't know how to do it anywhere fast enough. For your example most of that gain is in hardware and art budgets.
> what it really needs is for that isometric graphics mod to become a full UI layer
Ugh, no. Isometric views are a nightmare for usability. They look nice, but they obscure things and make for particularly error-prone tile selection, which is just poison in a game where that's the main thing you're doing.
I'd look to Prison Architect and RimWorld for UI inspiration, not Stonesense and Gnomoria.
> My guess is the performance improvements are the biggest for raytracing, which I personally don't care for.
I still don't understand the raytracing craze when it comes to games. Years ago when I wrote my first raytracer I might have got excited about it. But we have advanced so much with rasterization that I don't really understand why this is something we need.
Raytracing complexity is tricky and it is likely to prove challenging to do in a game with consistent frame rates. Soft shadows are expensive even for hardware.
I would be more excited about some other global illumination improvements, like photon mapping.
> This is based on design decisions from the programmers, not some kind of iron law of nature.
No, it's based on that's what textures and model quality expectations are. Reducing that size is directly reducing image quality.
You can make a web based game that looks straight out of 2002, sure. But you can't make one that looks contemporary, and WASM+WebGPU aren't changing that.
And of course no game developer is going to bend over backwards and make their game look like shit so it can run in a web browser for no reason other than to satisfy the ridiculous beliefs of web evangelists.
> elaborate 3d scenes built up out mostly out of distance field primitives, a stunning demonstration of the power and flexibility of the technique.
Also a demonstration of how slow that technique is. I can run stunning games with entire cities of buildings and people and cars and mountains in the distance and trees and grass and clouds all running at 60fps or faster. Or I can run some SDF that runs at 0.2 to 3 fps on the same machine.
Don't get me wrong, I'm blown away by those shaders but they aren't remotely performant.
This particular technique might be okay but you'd still arguably be better running it on 4 quads that make a frame. There's no reason you want to be computing pixels in the middle of the frame where there is no shadow.
>don't know why, this makes me a bit sad. You can sort of feel a game engine when you're playing a game.
absolutely. whenever a friend is playing anything with specific shader/specular/lighting styles I always yell "Unity!" while watching him. I'm generally dead-on accurate with those guesses. It's definetly not coincidence at this point; there is some default behavior or lighting gimmick I can generally always cue in on with regards to Unity. I think it's their style of specular lighting glow that gets painted onto way too many things by most creators.
I don't use the engine myself, so I can't tell you exactly what it is I hone in on, but I can for most titles.
>Arguably the isometric rendering looked the best of all the methods
I disagree just based on the few screenshots here. The isometric looks so generic. The latest version almost looks like a 3DS game (especially with the draw distance), but at least it has some character. The isometric screenshot looks like an iPhone RPG that I would see in ads but never actually play.
> but there's no way a 60GB+ game today would ever fit on, say, a DVD, at the same level of fidelity while maintaining the same player experience.
I mean, you could make a modern open-world game where all the textures are procedurally generated from set formulae, ala https://en.wikipedia.org/wiki/.kkrieger .
It might even load quickly, if the texture generation algorithms were themselves parallelized as compute shaders.
But it'd be a 100% different approach to an art pipeline, one where you can't just throw industry artists/designers at the problem of "adding content" to your world, but instead have to essentially hire mathematicians (sort of like Pixar does when they're building something new.) Costly!
> It is utterly fixated on and built around an extremely heavy high fidelity renderer
This is doing unreal engine a significant disservice. Unreal is significantly more than a high fidelity renderer; Unreal's replication system is excellent, as is the gameplay ability system. (To my knowledge, neither of those systems exist in any of the other major engines that are readily available). There's a laundry list of things it does pretty well,distilling it down to a renderer only is very dismissive.
> that is not portable - that does not run across many devices.
Renderers by definition aren't going to be portable, they're pretty intrinsically tied to the hardware (and OS) they're running on. Also it's silly to say it doest run on many devices - it runs in every games console for the last decade, an enormous amount of mobile devices on both android and iOS, and on all major desktop platforms natively. What more do you want?
> Unreal uses an old school compilation philosophy... So maybe he should fix that first.
Unreal definitely has some dated design decisions that are showing their age, but that's to be expected for a codebase that's 25 years old. And if you've been paying attention to what epic are doing over the past few years you would see they are working on that.
(Disclaimer: I worked for epic until recently on exactly the things you're talking about in this comment)
> The material can easily be more expensive than the SDF.
But you still don't have to calculate the SDF in the first place. Which means one step less computation for your material. Also geometries with high object counts are not as slow as it is the case with SDF.
> You're completely forgetting that shadows are a thing.
Those are being done via stencil buffers since doom3. And for non-point-like sources you have a bag of tricks available via shaders to make them soft. No RTX needed!
> you don't know what RTX actually does.
I know what RTX does. As long as the results are so subtle to the point where on some screenshot comparisons you can't even tell which one is with or without, RTX is completely pointless especially when it comes with a performance penalty.
>An interesting thing I found is a level of detail (LOD) technique called ‘fizzle’ or ‘checkerboard’. It’s a common way to fade objects in and out at a distance, either to later replace it with a lower quality mesh or to completely make it disappear.
As a frequent video game player, I find this LOD switch technique to be atrocious. It's ugly as all hell and will ruin any immersion. Things don't checkerboard like that in reality, and it makes modern games look uglier. One of it's biggest problems is that it is often used to cull things too close to the camera, so instead of something softly fading out as the camera passes through it, it turns into Swiss cheese right in your face.
> not because they have nothing, but because they don't have what they claim they have
Absolutely.
> animation
Yep, from what I’ve seen of their holoverse ganes, that’s exactly what they’re doing and the results are, predictably, not particularly impressive. When compared to state of the art notion captured animation we have in modern games, it’s really not very good at all.
> data structure
It may be just their hype as opposed to actual facts, but they certainly make it sound a bit more sophisticated than a “traditional” spatial-index tree data structure in the sense that they claim they can stream just the voxels that are on screen at any given moment from a huge on disk dataset. But we both know they’ve been known to exaggerate, so you could very well be correct.
> It's delta between the rather pedestrian tech they have and the wild claims they make that is the scam, not what they do have.
> but comes with the most powerful layouting system and rendering engine.
It's not powerful by any stretch of imagination. If anything, it's the worlds most inefficient layouting and rendering system struggling to render anything beyond the most primitive things.
> There are many technical roadblocks with getting the pixels to stay blocky and render the way you want.
Huge blocky pixel art never really looked that way in the first place. The pixels in Atari/NES games were made to go through the various distortions in the video pipeline (composite crossover, scanlines, flickering, misaligned electron guns and all that) that left them with all the hard edges blurred off.
The aesthetic is totally based on people running emulators showing you the framebuffer in a way it was never meant to be seen.
What I'm noticing is there's too much focus on fancy lights, over-the-top postprocessing effects with annoying crap like ambient occlusion, screen space reflections that hog a lot of performance for just reflecting your character in water puddles placed everywhere just to show the effect off, and so on.
And not enough focus on good old textures and polygons. Approaching spherical objects closely still makes the polygons very very obvious. Staring directly at walls still shows how low res textures are.
> You could destroy everything, dig holes, build things
You might be looking for Minecraft! :D
reply