Overview
Want to make the NPCs in HL2 look horrifying? Now you can!
Instructions
First, open Half-Life 2, then from the menu select Options>Keyboard>Advanced>Enable Developer Console. Load a map with human NPCs and press the ~ key (below esc) and type ‘r_lod 5’ (the default setting is ‘r_lod -1’). The NPCs should now look horrifying. Have fun!
Edit: As well as turning all the graphics settings down to the minimum, you can also disable texture filtering by typing “mat_filtertextures 0” into the console.
Edit 2: Thanks to Mom in the comments for pointing out that you can type “mat_filterlightmaps 0” for blocky shadows.
You can also type “mat_showlowresimage 1” for pixelated alpha (transparency) effects (e.g. fire, explosions).
BTW these commands should work with all Source engine games, so TF2, Portal 1&2, and L4D 1&2, etc.
Edit 3: You can also disable bump maps with “mat_bumpmap 0”, which will result in less 3D looking textures.
Screenshots
Edit (4/14/20): Additional Screenshots, now with even lower quality graphics:
No texture filtering to give it that PS1 look:
Explanation
LODs stand for Level of Detail, models will switch to different LODs with varying poly counts as the camera moves further or closer. The reasoning behind them is to reduce processing load by using inferior models as the camera gets further away, and these LODs will fade in and out, ideally where the player does not even notice them. What we have done with this console command is force the lowest quality LODs to be used at all times; these models were never intended to be viewed up close.
Texture filtering blurs the textures in game so that they do not look pixelated; you can clearly see the difference in games between the PS1 (no texture filtering) and N64 (with texture filtering); the textures on the PS1 look extremely pixelated while the textures on the N64 look very blurry.
Bump maps are a greyscale texture used to fake 3D by not using additional polygons for an object but rather change how the material (a combination of textures and a shader that can be applied to a mesh) reacts to light.
This results in increased perceived detail with a negligible performance loss. The alternative of ultra-high poly models would deal a significant blow to the framerate.