A Lovecraftian first person adventure set within a diary of a madman. Made using the original Doom engine, with every texture, sprite and letter hand-drawn on post-its.

Post news RSS Fake low-tech "dynamic" cel shading in Doom vs. another modder's method

Cel shading wars! A fellow modder showed me his method of faking the effect, and it's mind-blowing. Also, it won't work for me.

Posted by on

So HCFB is all about faking a hand-drawn look, which is kinda related to cel shading (but also not). Cel shading isn't a thing in the GZDoom engine, or at least not a tecnique that I'm aware of. On the surface, it's not a problem - just draw a line at the end of the texture. But what about the places where the line should or should not be seen depending on the angle of view? That was something to solve.

My method to deal with it was stupid simple, but it worked.

I just placed a one-sided texture at an angle that's visible only when you approach from a certain position. The angle is sharp enough so it disappears almost immediately when you position yourself close to parallel to the wall.

For edges where the line is supposed to be visible at all times, I just used a thin vertical sector with a line texture. No trickery here.

HCFB - editor view

But then, Pascal Link, a fellow modder showed me his method of doing "cel shading", and I think it's absolutely brilliant. Look at this example from his unfinished project Bombenalarm.

Bombenalarm by Pascal Link

This looks like a genuine cel shaded game! And Pascal has something that I won't have, which is an outline over a rounded object. I can't do it because it would require an evenly colored outline, which I did try, but it shatters the illusion of a pencil-drawn image, which is my ultimate goal.

So how did Pacal achieve this effect? It's brillian in its simplicity. He simply covered his objects with a slightly wider and higher one-sided black texture, but seen only on the inside. This means that you see only the object texture in front of you, but at the egdes, you see the dark park. It's clever and looks great! Here's how it looks in the editor.

Editor view

And here's how the texture looks behind the object, if you lower the object itself - to give you a better understanding of this method.

box lowered

Even though I cannot use this method for my game, this has been a huge motivation to see that others also explore this kind of look. I'd like to thank Pascal for letting me write about it, and for sharing the screenshots.

Man, I truly hope you finish Bombenalarm!


The video you showed on your project works very well, hopefully yo dont have to much added work to your level designs, or work to go back and fix up. I'm sure it will take some time to flag al the possible places you need to add this effect. I would suggest just flagging these places and doing the touch ups towards the end of the mapping.

The other modders technique is a very old one, one that I seen back in the HL1 model replacement days. I think I first saw it on a crowbar replacement with a sight saber. The color of the saber being the color of the glow. It was just a green inverted mesh, just larger then the white saber mesh.

Reply Good karma Bad karma0 votes
Szuran Author

I've always wondered how they did the ligthsabre in Jedi Outcast, but I guess it's not the same technique. As for the added work, it's actually much less tasking than all the 'standard' outlines - corners, edges of walls, ceilings etc. But I'm not in a hurry, so that's fine.

Reply Good karma+1 vote

Good to hear. I really like your way, which has a great effect.

Reply Good karma Bad karma0 votes
Szuran Author

Awesome to hear that!

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Profile
Doom II
Doom II
Soma's Haul
Send Message
Release date
Mod watch
Related Games
Doom II
Doom II First Person Shooter
Related Groups
Soma's Haul
Soma's Haul Developer