Silent Hunter Online (Browser, Flash)
For this project, we were responsible for the implementation of an ocean water simulation in Flash 11 using only ActionScript 3 and Stage3D. We provided our client Sproing with a real-time demo, as well as extensive documentation for both programmers and artists.
The implementation uses lots of tricks to overcome many of Stage3D's shortcomings and its limited feature set. The end result is heavily-optimized shader code, consisting of several hundred lines of hand-written AGAL assembly. The technique used is solely based on ActionScript 3 and Stage3D, and does not use any C/C++ code.
Check out the engine trailer which shows the ocean water simulation integrated into the game.
- Press F1 to enable/disable the GUI.
- Hold down the left-mouse button, and use the mouse to look around.
- Use the left and right arrow keys to switch between different LOD levels.
The demo features:
- Wave simulation for different weather conditions on the GPU, suitable for simulating varied sea conditions
- Angle-dependent water body color based on a fresnel term
- Skybox reflections using cube maps
- Specular lighting from the sun using a modified Blinn-Phong model
- Foam forming on the back of waves
- Distance-based per-pixel fog
- A scalable, custom LOD scheme for rendering vast water surfaces on both low-end and high-end hardware
For Silent Hunter Online, Stefan managed to squeeze the last CPU cycle and byte out of Adobe's Flash platform; definitely reflecting that his technical knowledge is second to none. Given the detailed documentation and samples accompanying his work results made integration into the game really easy, and helped Sproing to deliver state-of-the-art graphics for Ubisoft's latest release of the Silent Hunter series.Matthias Bauchinger, Head of Online Technology, Sproing Interactive Media GmbH