I guess it's time to update my pinned post.
Hi, I'm Mr F.
I work on Bakery, the GPU lightmapper:
I also work on Faded, my game:
Also other stuff:
I'm against the war:
@kommanderkarl
It IS pretty, but they just cut so many gameplay features (usable trams, trains, sidequests, procedural deformation, etc), as well as distorted the original vision, that as a hardcore Mafia fan I cannot call it "definitive". More like "questionable fan tribute"
And here is a unique killer feature that no other (?) 3rd-person game has: you can also place items accurately instead of violently throwing them all the time😅
A little thread on using physical light units.
Having a real intensity reference is great. However, should you use them *literally*? After all, huge values can give you precision problems, fail to fit into desired bit count, etc. And how do all these different units relate? (1/x)
Back to real-time clouds. Dissatisfied with common ambient solutions (vertical gradient, lerping two colors based on vertical shadow, etc), tried to do full IBL instead
#gamedev
#indiedev
Unity took hours to build my game because of the obscene amount of shader permutations (my fault - I have too many shader_features)... until I found this ONE SIMPLE TRICK lol👀
(Basically >10x faster build times in my case)
Speaking of decals... for many people they are just little singular images they splat on top their level geometry.
To fully grasp the power of decals, let me introduce you some pics I took a long time ago when researching how GTA5 renders a frame
So I finished the first version of the decal asset. Would you like to test it before release? DM me :)
Here is the documentation to give you an idea of what it's useful for:
#gamedev
Dunno if useful for anyone, but here's my favourite sky texture projection (used in my realtime clouds as well as for static tex). Cubemaps are wasteful because of the invisible bottom half, so I changed octahedron slightly to only give the upper half + better horizon resolution
Something that annoys me the most in (relatively) modern games and that's not usually addressed: the incredible lack of contrast and broken fog/tonemap destroying all detail. While photographers avoid unreadable over/under exposure and try to be super careful with backlight...
In 2014 I quickly slapped a prototype of the game, using some free models, some taken from other games, and some that I badly made myself... then I didn't work on it for 3 years, but returned in 2018... took only 10 years to get here 😅(now onto another 80% of the game)
#indiedev
My awesome friend Boris (ENBSeries) just found a way to render convincing self-shadowing from normal maps alone (and even normal GBuffer alone) without having a height map, and I think it's pretty cool!
Really love this aesthetic. My own approach to graphics is "how I imagined cool graphics in 2004", which is still just good diffuse*lightmap as a base, but more tris/texels + shader effects where they actually make a big difference (water, car paint, skin, etc)
- No normal maps
- No specularity
- No reflections
- No transparency (except for rare 1bit alpha in grates, etc)
- No real time lighting (all baked radiosity lightmaps)
- No exponential fog
- No Post Processing
- No SSR / SSAO
- No 3rd party geo. (All editor authored BSP)
2 days ago: "implementing IK will be easy, I can just use trigonometry"
1 day ago: wow people actually have long feet what do I do
Ended up with an iterative solver 😅
#gamedev
#indiedev
"Graphs are cool and modern! Text is for boring coders!" - continues to perform Undo for a single node movement for ~11 seconds in a simple graph after being for ~6 years in development 🤔
(pls deprecate it all already)
Normal person in Unity:
- Makes game
Me in Unity:
- Reimplements lightmaps
- Reimplements cascaded shadowmaps
- Reimplements fullscreen quads
- Complains about it being hard to write your engine inside the engine
I didn't build a PC from scratch since 2018, and now...
- Everything is BIG (console-sized GPUs...)
- Everything is HOT (better CPU? sure, let's just make it take extra 150 watt...)
- Everything is LED (why...)
- Most cases have glass windows so everyone sees the annoying LEDs
The thing that heavily influenced my original interest in graphics programming: Morrowind water.
And after all these years... I still have no idea how they did it.
Bakery's interactive preview is getting close to release. All light sources can be now synchronised in real-time. On top of that I managed to get raytraced image into Scene View. Basically you can now have a raytracing playground inside editor 😃
#gamedev
#indiedev
#raytracing
Did you know that Bakery is a standalone lightmapper that's not limited to Unity?
Do you have your own in-house engine that you'd like to complement with a GPU lightmapper?
Do you need source code? 👀
I already helped a few companies with that, but I welcome more! :)
#gamedev
I knew for a long time that I can do it, but today I actually implemented and tested it.
What if we make SH L1 lightmaps grayscale but still sample them using the non-linear Geomerics method instead of using the weird half-lambert solution for directional maps that Unity uses?
So, does anyone need Bakery for Godot? 🤪
If there are any good sources of information for Godot extension development and the way lightmaps are stored/assigned there, pls send in replies, maybe I'll hack some prototype
Mr F: "I'm writing a forward renderer"
Also Mr F: *adds a 4th render target to his GBuffer*
Well, since it ended up like this, I can as well add some small deferred lights for cheap 🤪
Like yeah, the quote tag on the forum is such a niche thing. Nobody every used it! What if we just draw all the tags as plain text. Nobody will notice!
It's funny how HLAlyx didn't solve any classic baked lighting problems, but most players don't seem to notice anyway?
- Light switches don't turn off light GI
- Doorways are just baked with door closed
- Doors choose 1 of 2 probes based on camera pos (inside/outside)
Bakery v1.95 is out! (who could've thought??)
Highlights:
- MonoSH directional mode;
- Preview final lightmap UVs before baking;
- Shadow supersampling;
- RTPreview support for built-in RP post-processing...
Read full changelog here:
#gamedev
#indiedev
Back to real-time clouds. Dissatisfied with common ambient solutions (vertical gradient, lerping two colors based on vertical shadow, etc), tried to do full IBL instead
#gamedev
#indiedev
First satisfactory results with point-splatting compute rasterizer for foliage. Lighting isn't finished yet, but I got TAA working, and it's better than expected! (thanks to
@longbool
for the recent TAA article)
Unity management:
- Let's close Unity Answers, who needs that.
- Let's close our game studio we just opened, who needs that.
- Oh! Some internal film production tools that have nothing to do with our engine and which we'll never integrate! Let's buy them for millions!
This project that Unity debuted this year, aimed at improving users' knowledge of Unity, improve tooling, level up creator skills, that was fun and inspiring, that a lot of people were looking forward to? Everyone in that team picture has been fired.
I'm gonna spam these cars and this street a bit more because it took months to get them here (?what am I doing with my life?) and because city finally feels alive... gonna record a video soon 😁
#gamedev
#indiedev
So I finished the first version of the decal asset. Would you like to test it before release? DM me :)
Here is the documentation to give you an idea of what it's useful for:
#gamedev
Since skinning is so boring, I wrote an auto-skinning script: you only mark a couple of important loops and put a few rings around body features. Script then generates a skeleton, fits it to the pose and assigns per-vertex weights. Not boring anymore!
#gamedev
#indiedev
The time has come for me to finally update Bakery's vertex baking. Now instead of using vertices as sample points, it randomly places them on triangles and filters. No UVs required, works with color/shadowmask/dir/SH.
You can try it in the latest patch :)