Fast Cheap shadows for DOOM games?

Started by
34 comments, last by JoeJ 1 month, 4 weeks ago

@Vilem Otte yep i got shadow volumes working also. total pain in the neck that. The normal shadow volumes fail when the camera is inside the frustum, and carmack's zreverse is laggier. So, I think we can narrow down our options… The opinion seems unanimous: shadow volumes are not to be considered viable as a technique in this thread, unless someone has some totally new type of shadow volumes.

To further narrow down our list, I suggest that RTSM not be for consideration, since it is too computationally intensive.

I have gotten shadowmaps to work also, PCSS is expensive and shadow maps are expensive in general. There are some clever optimizations though so I don't want to rule out SM entirely

I found a new technique that may be interesting, I haven't a clue how it works though. It is from
Alexander Sannikov in Legit Engine

@JoeJ But certainly we did invest too much into improving gfx, leaving other fields behind. Mainly character simulation. Motion capture is a bad investment, only making the cliffs in the uncanny valley more steep. We should simulate, not animate, imo. Animation is for movies, not for video games.

Wrong. Goldeneye64 had mocap, mocap is good.

But if look closely at modern games, they became better in all aspects. Better player controllers, better physics, better storytelling, better art, almost anything is better not worse.
So i do not really fully understand what's the problem. But there is a problem, and it's huge.

The problem is too much supply, too little demand. There are simply too many games to choose from and its exhausting to choose. Plus too much corporatism in the studios that make the games. The other problem is most game making engines seem unnecessarily obtuse. Even game maker which is easier than most others, is still very obtuse in various ways.

SM using DAG

Don't know what that is but I found a pdf about it.

None

Advertisement

ReignOnU said:
shadow volumes are not to be considered viable as a technique in this thread

It's because we tend to evaluate considering current state of the art. Increasing details have ruled out BSP trees and then shadow volumes. Carmacks solutions were not future proof, as good as he was.

ReignOnU said:
I found a new technique that may be interesting, I haven't a clue how it works though. It is from Alexander Sannikov in Legit Engine

Imo, the the smartest gfx dev.
What is it? I would assume it's a screenspace technique, considering PoE does everything in SS?

ReignOnU said:
Wrong. Goldeneye64 had mocap, mocap is good.

It's good for cutscenes, but not for interactive action games. Characters are limited to available motion clips. It's not only that they look silly, they just can't do much.
Besides, animation is either costly (hiring actors and capturing them, cleaning up the data manually), or too much work / unpractical to generate it manually.
Again, AI will be the savior. Seems i'm the last guy who still works on robotic ragdolls without ML.

ReignOnU said:
There are simply too many games to choose from and its exhausting to choose.

No. There are many games, yes. But almost none if them is made for me.
They are made for teens. Fancy hairstyles, power fantasy, competition. I can't stand it, and becoem a retro gamer against my will.
I'm sure players over 40 is a big market now, but they rather invest a billion into making Skull and Bones and Suicide Squad, which then nobody plays.
Their market analysis asks the wrong questions it seems.

ReignOnU said:
Even game maker which is easier than most others, is still very obtuse in various ways.

Make your games without an engine.

ReignOnU said:
So, I think we can narrow down our options… The opinion seems unanimous: shadow volumes are not to be considered viable as a technique in this thread, unless someone has some totally new type of shadow volumes.

What's your real purpose here?

You've gone from asking what is “Fast Cheap”, then to asking about what is “efficient”, then to asking about a list of all techniques, wanting to “invent a brand new shadow technique”, wanting items that aren't built in to engines but wanting to use the engines, wanting to “list all the possible ways to render environment shadows”, and looking for what is “next-gen gfx”. Now you're trying to “narrow down our options” for doing.., well, something.

What are you really looking for? What is your actual goal, the real problem you're trying to solve?

JoeJ said:
It's because we tend to evaluate considering current state of the art. Increasing details have ruled out BSP trees and then shadow volumes. Carmacks solutions were not future proof, as good as he was.

BSP trees were not invented by Carmack, neither their CSG application used in editors, nor PVS for hidden surface removal (occlusion culling). Carmack did use those in games.

The technique of binary space partitioning is still well alive and heavily used (in rendering). The problem with Carmack's approach to it is long pre-computation times (Source 2 still uses it btw.).

JoeJ said:
It's good for cutscenes, but not for interactive action games. Characters are limited to available motion clips. It's not only that they look silly, they just can't do much.

I don't think mocap is a problem. You can get those quite cheap and you will get animations from those. Whether that is usable for your project or not is another thing.

I personally prefer keyframe approach with additional params that can be derived (even looked a bit into Cascadeur - which does some automatic animation to make it ‘look more natural'). Ultimately it is an artistic choice.

Procedural animation is another approach - sometimes it works, sometimes now.

Mocap on animals is … well … possible but problematic (even from legal standpoint).

JoeJ said:
I'm sure players over 40 is a big market now, but they rather invest a billion into making Skull and Bones and Suicide Squad, which then nobody plays.

The problem is that corporations trust their advisors and activist companies - which is why their projects fail. If you want to make a good game - start talking with gamers, not activists or advisors.

ReignOnU said:
The problem is too much supply, too little demand.

Demand in gaming market is huge, there are massive problems on supply side. I looked at the Steam repeatedly over the last year.

What was the only game I bought? Hogwarts Legacy - because of the movies I watched when I was younger. Didn't play it so far.

What I played mostly in past months? Cyberpunk 2077, because my friend pushed me into it (already had it since release -but it was too bugged back then). Chronicles of Myrtana (new mod for 22 years old game), Age of Empires 2 and a bit of Hunt: Showdown (because of multiplayer). Simply nothing that I'd like to play was released.

I absolutely love story-driven games, especially RPGs … but the choice now is extremely boring, predictable and without any choice (i.e. ROLE PLAYING in the RPG). Turn based/Realtime strategies are also kind of passion - what was released on that front? Practically nothing interesting.

Everything is focused on boring, grinding multiplayer and microtransactions.

The problem is on supply side, not demand. Good product always finds its way to the market.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

Vilem Otte said:
BSP trees were not invented by Carmack

But i did not say that. I said he used it as a solution.
Which then was useful for some time, but later was no longer practical, which was not meant as critique.
I wish he would still work on games.

Vilem Otte said:
(Source 2 still uses it btw.)

Yeah, that's right. But their games are fairly small and don't represent state of the art (large open worlds with detailed stuff).

For a low poly game, BSP and shadow volumes are still worth to consider.

Vilem Otte said:
I don't think mocap is a problem.

Because you have not seen the alternative yet, maybe.

I'm not far enough to say that i have seen it, but even the failure cases make my ragdolls more feeling alive than all this animation crap. Animation is static, games are dynamic. Using animation is a work around, nothing else. If we want to make games great again, that's the most promising option to explore, no doubt.

@JoeJ It's good for cutscenes, but not for interactive action games. Characters are limited to available motion clips. It's not only that they look silly, they just can't do much.
Besides, animation is either costly (hiring actors and capturing them, cleaning up the data manually), or too much work / unpractical to generate it manually.
Again, AI will be the savior. Seems i'm the last guy who still works on robotic ragdolls without ML.

Ai is not needed for that, just blend the mocap with inverse kinematics and physics

No. There are many games, yes. But almost none if them is made for me.

Correct.


They are made for teens. Fancy hairstyles, power fantasy, competition. I can't stand it, and becoem a retro gamer against my will.

None of which is a problem, in fact all of those are good things. Why modern games suck is not power fantasy, but because the only power fantasy the offer is a mary sue on easy mode that can absorb 100 bullets then magically regens. You can thank Gears of War for that. Now every game is like that. They did that so that verifying campaigns for casuals would be easier, and for games to feel “cinematic”. And because console aim is total doodoo so they can't implement actual gameplay. Or they offer a darksouls geometrydash that appeals only to nolife tryhards, so they can say “see, we aren't like those studios that make games for casuals”. Or they sucker you in with good gameplay, but then put impossible bosses so you immediately lose interest in the game.

Make your games without an engine.

Don't be ridiculous

What are you really looking for? What is your actual goal, the real problem you're trying to solve?

Basically, find some clever math or engineering trick to do shadows. For instance, when I was a total noob I didn't know what shadows map were, I just thought it was something in games that just appeared magically. And then I learned the technique of what it was, and I was like “oh that's neat”. And I'm looking for something that's “oh that's neat” like a clever new trick to render shadows with. I figure that since all the DOOM walls are parallel without odd shapes, there might be some new shadow trick that people haven't discovered yet.

Vilem Otte said:
Demand in gaming market is huge, there are massive problems on supply side. I looked at the Steam repeatedly over the last year.

The supply problem is that there's quantity but not much quality

Simply nothing that I'd like to play was released.

Because its all slop

grinding multiplayer and microtransactions

non-issue

None

ReignOnU said:
Ai is not needed for that, just blend the mocap with inverse kinematics and physics

That's what they do already, but it doesn't work. It's still like puppets on strings. Wrong, and thus unpredictable and breaking immersion.

We need to do what Boston Dynamics does. The real thing, not some cheap tricks.
Because that's hard, they will throw ML on it, i'm sure. Related work looks promising. Just a matter of time.

But i have figured out the math, so i don't need ML, and it might give me better control, better perfoamnce, and i don't need training data. Not sure if i will be able to do complex things like melee combat or one guy helping another to climb up over some thing, but for a shooter it will do.
Currently the problem is - surprise - contacts. Physics engine can handle passive stacks of boxes well, but to balance a ragdoll with realistic agility the contact forces are too discontinuous and laggy. So i work on hacks to assist or replace the contact system…

ReignOnU said:
And because console aim is total doodoo so they can't implement actual gameplay.

Yeah, shitty console gamepads have ruined immersion completely. It's beyond me how those platform holders are just too coward to change controllers to something that works. The Nintendo DS could do it. Perfect mouse look with a pen on touchscreen. It worked. But what did we get? Super Mario 64. And people even think that's a good game.

Agree to the rest as well. But that's subjective. No problem with GoW, HZD or Spiderman. I just won't play those games myself and want alternatives that are either trashy or grown up.

ReignOnU said:
Don't be ridiculous

Well, i have released only mobile games, but i made them all from scratch. I don't see how using engines would have helped me at all. Why do you need a game engine?

ReignOnU said:
I figure that since all the DOOM walls are parallel without odd shapes, there might be some new shadow trick that people haven't discovered yet.

It's quite unlikely people would have missed such trick. Shadows from a point light is not really a hard problem.
We never know for sure ofc., but i think you have to think about a potential optimization from parallel walls long enough, so you are at some point sure there is none, and only then your mind is free to do what everybody else does too without doubt.
… or you figure something out. : )

@JoeJ That's what they do already, but it doesn't work. It's still like puppets on strings. Wrong, and thus unpredictable and breaking immersion.

The animations in rogue company seem fine to me. Except when it glitches out and you are stuck holding a grenade. And the animations in JRPG games are supposed to look comical.

Because that's hard, they will throw ML on it, i'm sure. Related work looks promising. Just a matter of time.

How can games even use ML? It takes $700K to run ChatGPT per day

Currently the problem is - surprise - contacts. Physics engine can handle passive stacks of boxes well, but to balance a ragdoll with realistic agility the contact forces are too discontinuous and laggy. So i work on hacks to assist or replace the contact system…

This goes back to my Box2D thread of how most physics engines suck. You need a proper foundation to start with and if you are not given a proper foundation then you will keep encountering roadblocks like these

Well, i have released only mobile games, but i made them all from scratch. I don't see how using engines would have helped me at all. Why do you need a game engine?

Coding from scratch is tedious, why reinvent the wheel?

It's quite unlikely people would have missed such trick. Shadows from a point light is not really a hard problem.
We never know for sure ofc., but i think you have to think about a potential optimization from parallel walls long enough, so you are at some point sure there is none, and only then your mind is free to do what everybody else does too without doubt.
… or you figure something out. : )

Well one of the big shadow techniques I invented on my own, before researching and finding out somebody else invented it first. I forgot which one it was though. But if I haven't figured it out yet, maybe it can't be done, I've been at it for months. I figured maybe somebody better at math that me could invent it but maybe not

None

ReignOnU said:
How can games even use ML? It takes $700K to run ChatGPT per day

Irrelevant - size, scale, purpose.

I'm using ML in one of our gamedev completely unrelated project - the training happens literally at one of my work rig.

Yes, it is rather specific use for image processing and recognition of specifics in it (not generic chat bot which learns on fly and sells your data for profit). Also I don't sell data for profit - but maybe the product which uses this part will be sold as a service to user. Well… once I finish all the parts of it.

ChatpGPT learns on ridiculously sized data set - for specific problem you hardly need such huge datasets. Runs on ridiculously sized cloud that costs money. Uses ridiculously large bandwidth.

ML is used for decades in software, it can range from small things up to huge. You naturally selected the largest and most expensive in the world for comparison.

EDIT: For comparison - my current model has only around 23MiB in size, the smallest set I used for training has less than 30 MiB (it is the testing one of course). The big one still grows, but will have close to 1GiB at some point. Tiny compared to ChatGPT training set (GPT3 had like 45TB of data).

ReignOnU said:
Coding from scratch is tedious, why reinvent the wheel?

Licensing, control over source code, maintainability, learning, etc. You can find many reasons why to code certain things from scratch.

You could pick Unity or UE - they come with huge iron ball on your leg. It will cost you something. If it looks “free” - you and your data are the product. Not to mention - I use Unity at work projects - it is far from being free in licensing.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

@Vilem Otte

Vilem Otte said:
I'm using ML in one of our gamedev completely unrelated project - the training happens literally at one of my work rig.

But does it run in real time?

Licensing, control over source code, maintainability, learning, etc. You can find many reasons why to code certain things from scratch.

Where are all the solo devs making successful PC and console games without an engine?

you and your data are the product.

Is unity stealing people's game code and concepts without their knowledge?

None

This topic is closed to new replies.

Advertisement