First I'd like to write something about game engine. It's written in Java from scratch. It use JOCL library (Java binding for OpenCL) for some pixel filter (see dynamic lighting article). The main assumption is that the game is fully 2D. In the same time I want to make a game as atractive as possible with this specific atmosphere characteristic for good 2D games from 90's.
Follow us on Facebook
Concerning water reflection
The effect of wavy reflection is result of a few non-afine transformation, let call two first of them T1, T2. Then
---(T1)-->
and
---(T2)-->,
finally composition of T1 and T2 and inverting with some gradient alpha chanel (let them called T):
---(T1)-->---(T2)-->--(T)-->
.
Concerning volumetric lights
The game engine naw can produce the volumetric light whit is very tricky and still fully 2D effect. There're also slightly water waves appearing when character is movin or jumping in water. You can see it in first of two videos below: