Loading video...

Video Failed to Load

Go Home

New lighting tech in BAD Game (code name). 100% real time and runs at 240Hz 4K on my RTX 4090. 8x faster than my initial 16x SDF-ray per pixel proto. 1 ray per pixel and a new 6x6 bilateral filter (shared between SSAO and SDF rays). Starting to look...

18,646 views • 11 days ago •via X (Twitter)

23 Comments

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

There's no temporal accumulation and no upscaling. I didn't want ghosting and blurriness and didn't want to manage/calculate motion vectors for so many enemies. Just pure native 4K 240Hz. No tricks.

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

Considering adding changing time of day (ToD) since there's nothing stopping me. Everything is real-time. Could start from the day when there's less enemies -> sunset -> night when the boss arrives. Boss video coming soon. It's SUPER hard.

Xor's profile picture
Xor11 days ago

The lighting and shading is amazing. One thing from a color grading point of view, some scenes feel too flat and much too warm. Some auto-exposure would be nice and bring up mid tones especially green and blue, in my opinion

AetherRig's profile picture
AetherRig11 days ago

One ray per pixel and the shadows still look honest. Most engines need a small nuclear plant and still look like 2019. Efficiency is the real flex.

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

It’s actually one cone per pixel. Similar trick as soft shadow cones. Result is between [0,1] instead of binary hit/not. Much better.

Robert William Cummings's profile picture
Robert William Cummings11 days ago

The fun is coming through, must feel good to be free.

Petri Kuittinen's profile picture
Petri Kuittinen11 days ago

Lighting made this game proto look light years better. I guess it is still extremely lightweight and would run 1080p 60 Hz on a potato = any modern laptop, including non-gaming laptops. I think much more games should better optimized instead of the "you need RTX 5090 to run diz"

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

Target is 120Hz 1080p native on my ROG Ally. It has Zen 4 iGPU with 12CUs.

neildonnell's profile picture
neildonnell11 days ago

It looks like you need to add a little bit of fake air movement, so you can still move forwards when falling. There's a bit around the 40 second mark where you wanted to land on one of the floors but you dropped straight down.

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

I actually have it, but that building has too low ceilings. Very hard to jump to it. Barely can walk inside. Need to fix the building.

Esther's profile picture
Esther11 days ago

VR VR

Brjan | AI Builder's profile picture
Brjan | AI Builder11 days ago

how did you achieve such a speed boost from the initial prototype?

๏ώℓąţя๏ɲ's profile picture
๏ώℓąţя๏ɲ11 days ago

Great Progress. It may be worth finding a game mechanic that actually requires the sdf property of this engine. Starting to look like any polygon engine. Maybe baddies that melt and their metablob like liquid fills the map, have to build up to escape it, just an idea ;)

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

Yeah. I have two path. Either implement full GPGPU particle/fluid physics solver like I did for Claybook or keep the destruction simpler and make it multiplayer. GPGPU physics means that every character can leave footprints too. Fluids, lava, etc. Impossible to synchronize in MP.

๏ώℓąţя๏ɲ's profile picture
๏ώℓąţя๏ɲ11 days ago

id say that both arent really gameplay choices that are engine specific. just balance whats fun for you and fun for the player with a simple gameplay idea that utilises something only sdf's bring. the multiplayer hook is people bringing their own game, an idea is intended "game"

Niall O'Brien's profile picture
Niall O'Brien11 days ago

What are you using to "model" all of the game assets? Some kinda SDF editor?

Galaxia🗃️🔍's profile picture
Galaxia🗃️🔍11 days ago

can we get RTAO?

Tzu-Chieh Chang's profile picture
Tzu-Chieh Chang11 days ago

Looks like Serious Sam 🤯!

Yannick Comte's profile picture
Yannick Comte11 days ago

What effects have you enabled/disabled to be able ti hit 240hz in 4k?

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

It's a custom deferred rendering pipeline with penumbra widening soft shadows and sky occlusion ray-trace. Local lights are binned in 16x16 tiles. It's all compute shaders except the G-buffer pass, which is done using mesh shaders. One mesh shader draws all enemies.

Yannick Comte's profile picture
Yannick Comte11 days ago

Impressive! what about screenspace effects?

Sebastian Aaltonen's profile picture
Sebastian Aaltonen11 days ago

SSAO only.

Aras Pranckevičius 🇺🇦🇱🇹's profile picture
Aras Pranckevičius 🇺🇦🇱🇹11 days ago

Nice! What’s your gbuffer layout?

Related Videos

Check out our #PAMI paper with code "Dense Continuous-Time Optical Flow from Event Cameras," where we show how to regress *continuous-time* trajectories of every pixel from event cameras alone or events plus frames! The key idea is to iteratively estimate per-pixel polynomials using a recurrent lookup and update scheme. Paper: Code: DOI: We present a method for estimating dense continuous-time optical flow from event data. Traditional dense optical flow methods compute the pixel displacement between two images. Due to missing information, these approaches cannot recover the pixel trajectories in the blind time between two images. We show that it is possible to compute per-pixel, continuous-time optical flow using events from an event camera. Events provide temporally fine-grained information about movement in pixel space due to their asynchronous nature and microsecond response time. We leverage these benefits to predict pixel trajectories densely in continuous time via parameterized Bézier curves. To achieve this, we build a neural network with strong inductive biases for this task: First, we build multiple sequential correlation volumes in time using event data. Second, we use Bézier curves to index these correlation volumes at multiple timestamps along the trajectory. Third, we use the retrieved correlation to update the Bézier curve representations iteratively. Our method can optionally include image pairs to boost performance further. To train and evaluate our model, we introduce a synthetic dataset (MultiFlow) that features moving objects and ground truth trajectories for every pixel. Our quantitative experiments suggest that our method successfully predicts pixel trajectories in continuous time and is competitive in the traditional two-view pixel displacement metric on MultiFlow and DSEC-Flow. Open source code and datasets are released to the public. Kudos to Mathias Gehrig Manasi Muglikar

Davide Scaramuzza

12,682 views • 2 years ago