Note: Posted 2017. Article date is original screenshot date.
Lighting in the 2D Lily engine. It was achieved using the fixed function pipeline, and used some glCopyTexImage2D abuse to achieve a very primitive form of light buffering.
In this screenshot it’s shown using a subtractive system instead of multiplying the light values with the pixel color values. The result had colors that looked much less washed out, but was more sensitive to dark areas.
The fade in/fade out effects used in the game took advantage of these systems and would do a straight addition or subtraction of light value, clamped to pure white or black. This resulted in fades where some colors would reach pure black or white before others. It gave it a retro look, mimicking older games that would do fades by just adding a linear value to each palette entry.