maxime

3D animator & artist

I try to spend as little time as I can on "social media" nowadays, but this place is nice! I'm here to (re)share things that made me laugh, or that I think are interesting.


Besides that, you can see most of my animation work on my YouTube channel, over here: https://youtube.com/@MaxLebled


joewintergreen
@joewintergreen

Years ago, I was making a stealth game in Unreal that I've since had to cancel amid circumstances beyond my control. At one point I was trying to make my characters' eyes nice, and the gold standard for that was (and arguably still is) Half-Life 2.

HL2 takes a novel approach: the eyes are not rotating sphere meshes with bones, they’re more-or-less flat planes with a shader on ‘em that makes 'em look like balls and points the iris/pupil where you tell it. The eye "plane" can be stretched as the eyelids open or close without affecting the visual, and you don't get any mesh intersection issues (which is why you've never seen the gman's eyeball push through his eyelid even though Gmod exists) or the uncanny appearance of rotating "with the head".

To get this right, I asked Valve's Ken Birdwell about how they got such a good sense of eye contact with this shader back in 2003. Here's the scoop:



Thew
@Thew

Starfield: A city is a cluster of shiny Zaha Hadid buildings surrounded by an infinity of unspoiled wilderness full of Resources. If you walk ten meters away from the helipad you can plop down an Outpost that hoovers up all the iridium off the ground. Space is unlimited free real estate and everyone can be their own little self-made yeoman factory baron

Armored Core: This planet has oil so they covered it in drilling platforms the size of continents and sucked the whole thing dry like a capri sun, then bored through the surface and ate its guts from the inside out using literal worms. The sheer scale and inhumanity of capital is utterly beyond comprehension; you're driving a 200-foot-tall death machine but every time you look upwards you feel like a mouse in a sidewalk crack. When the profits fell they built a cage around the entire world and covered it in guns pointing down



joewintergreen
@joewintergreen

A while ago I tweeted this about Max Payne 2's really nice shadow. This was 2003, remember.

Max Payne in 2 only ever casts one shadow, so it just moves around based on - I guess? - averaging the relevant lights. It's a nice shadow though. A lot of UE3 games did this too, I think including Batman AA?

Luckily, a couple of Remedy folks who worked on the game saw it!

Petri Häkkinen:

Hey, that looks familiar! I wrote the shadow rendering code for Max Payne 2. :) It’s basically a CPU decal with 2 shadow maps, hard and soft, blended together. Direction & intensity is sampled from the radiosity lightmaps. @jaakkolehtinen
wrote the GI system.

Jaakko Lehtinen:

It’s a shame we never talked about this, or the (what I still think is cool) distributed radiosity solver that scales well with scene complexity by breaking things down with portals and mediating radiance between “rooms” with 4D light fields in a 2-level iterative manner. It’s based on a 1st order SH irradiance volume, which is equivalent to an ambient term (DC) and two directional lights, positive & negative, from opposite directions (linear terms). Shadow direction and strength come from the latter: in a uniformly lit spot, the shadow fades away.

EDIT: After I posted this very post you're reading, someone else chimed in!

Peter Hajba:

So, what Jaakko was saying there was that the shadow (light) direction is baked into every point in the rooms where the light is rendered on, so you didn't need to cast any rays to cast the shadow, just look up the direction value from the spot Max Payne was standing on.
Radiosity rendering is pretty neat. Basically it goes onto each point on a surface, looks around to see if there are any lights visible, and then decides if that spot is lit. That's the first pass. Then in the second pass the renderer also sees the lit surfaces with color.
So if there are strongly coloured surfaces, the light applied to each point gets coloured by that. Then you run a third pass and the light bounces a third time, and more, until you have beautiful baked lighting.
We had a little distributed render farm at the Remedy office. Whenever we let our work computers idle, they would start calculating Radiosity lighting on the Max Payne levels.

Thanks Remedy gang!



morayati
@morayati

(This was supposed to be the introduction to another post, but it got large and general enough to be its own standalone thing.)

If you've followed me for any amount of time, you probably know that I hate the phrase "the algorithm." Not the words themselves -- article then noun, can describe anything from weapons targeting to cookie baking -- but the phrase, the gestalt: The Algorithm. I am not being hyperbolic when I say I believe the widespread, uncritical use of the phrase "the algorithm" has done measurable damage to society.

First, and most obviously: Whenever you hear something like "our company uses an algorithm," or even "multiple algorithms," the proper response is "no shit, bro." Any technology of enough complexity to be called "the algorithm" -- the classic example being a recommendations feed -- consists of dozens, hundreds, thousands of algorithms, implemented and reused by dozens, hundreds, thousands of people. You are reading this right now because of layers upon layers of algorithms -- from the Cohost site, your browser, your network, your physical device and its various hardware components, and the thicket of sub-algorithms that comprise them all. (massive oversimplification, don't @ me) By moving your eyes in a specific winding path to understand these words, you yourself, your very body, is enacting an algorithm. The word means something!

More importantly: Whenever you see the phrase "the algorithm" (hereafter referred to as THE ALGORITHM) it is almost always shorthand for "decisions people made and structures people built that do things we won't discuss further." It's useful shorthand: sticky, because it flatters listeners' idealism (whether "technology always magic, you always mortal" or "people always good, technology always bad"), and safe, because it's too vague to run the risk of anything actually being done in response.[1]

Specifically, the phrase is vague about three things: