Project ICHR - AppStore
Led the developing team implementing 2D Game using Godot Game Engine.
Create Custom 2D lighting effects using custom lighting map.
Created procedural 2D lightning effect for lightning weapon type.
Designed the bullet pattern generation system to help designers to test the enemy behavior design.
Custom Light map for character lighting
Why I decided to use custom lighting sprite instead of normal map ?
Usually when creating lighting effect for 2D, most developer will use normal map to achieve the 3D like lighting effect. However, I find that the method of creating normal map for character with animation is messy and unpredictable.
Normal Map
Normal map is easier to put into the game engine. Most game engine support normal map by default without having to create custom script (Unity, Unreal and Godot) However, each engine has their own normal map calculation.
Custom Lighting Map
In Project ICHR, after facing the problem with normal map axis flip, and the result is not what I expected it to be. I decided to go for another direction to save the time based on what I had.
The image below is separated channel from the map.
By passing the light source direction, we can make the specific angle of the light map lit.
The using mix() to combine the sprite color with the light color by the amount of brightness. I've decided to use mix instead of add() to get more control over the final result by adjusting the light color itself.
By using this method, I feel like I have more control over the lighting and achieve the comic lighting style.