It shows falling leaves effect, all the debug and manual controls offered for the time/weather system, depth based texture blending for long distance relief, LODs, Vegetation fade effects, cubemap transitions, lightning, various water/rain effects, daytime transitions in real time.
- [DONE] Water glide - Used a simple non procedural world projected panning normal maps instead. Works just as well.
- [DONE] Camera Lens droplet - Linked a plane to the camera with droplets shader.
- [CUT] Foot Splashes from character - We don't even see her feet
- [DONE] Static clouds (using Vue's renders from our Level Artists) - surprised how 2x1K textures did the trick
- [DONE] General polish/improvement - colors, sounds, transit, cube blend, wetness,etc
- [DONE] Character skin shader - Used UE4 integrated opaque SSS feature
- [DONE] Additional sounds - Lightning integration, Manual trigger, follows player, overrides environment, sounds
- [CUT] Pivot painter shader implementation for small plants (grass) - Not enough time
- [DONE] Performances - LODs technical direction, draw calls/IDs, texture size (saved 1Gb RAM!), shader iterations
- [DONE] Water streams / ponds, water falls -
- Distance based DX11 tessellation for brick walls - More problems than advantages for a first experience
- Custom lens flare - Didn't find a way to ray trace through masked surfaces properly but shader concept worked.
- Mountain self illumination cheat - fog was only realistic at short distances. Used same shader cheat as water on them
- Water cubemap cheat - A know issue was causing Z-Depth discrepancies when used with atmospheric fog. I fixed that
- Cubemaps blending - Done in post process and on water/mountain shader with 5 baked cube maps. Sky capture = lag!
- Character Hair and Fur shader (Dithered masked transparency) - Would have worked better with 60FPS, not 25-30ish...
IN A NUTSHELL
- Understood the balance intricacies and complexity of building a dynamic time/weather system from scratch
- Fog, Water, Clouds, Sky, FXs, Rain, CubeMaps, Post, Lighting, Lightning, etc all need consideration each weather state
- Learned a lot about UE4 graphical, performance and technical limits
- Learned to better optimize, prioritize, organize and approach problems
- Learned how to technically manage a team
- Found that Distance Fields technology is VERY promising.
- Biggest challenges are time/weather transition phases, rivers, lightning effects and sounds implementation.
- A better Blueprint code structure - A thorough review of the code to allow design of faster debugging and performance
- Keep everything SIMPLE at the beginning. Water gliding and moon texture projections were a waste of precious time
- Get better at linear algebra, especially to understand vector space transformations
- Advanced custom lens flares could have been be a big plus instead of the screen space procedural ones.
- I would recommend using Speed Tree only for longer term projects along with a team with prior experience on it. Lots of unforseen problems using it (LODs, texture atlas, wind control, performances, overdraw, data management, etc)
- Have a budget guidelines right at the start. (Vertex counts/LODs, mat IDs, draw calls, shader instructions, etc)
- Skylight system with Distance Field Ambient Occlusion with animated Vegetation = NoGo.
- Make a better puddle system for the terrain. It worked well for flat & solid objects however.
- Performances - 8M polygons! (Most of it with high vertex instructions vegetation) We had 22M Polys before...
- Too much time spent on negligible features (Water glide, moon texture projection, lightning)
- Delegate tasks! Sometimes, its better to say "Can you do it instead?" ;)
- Technical directing. Sometimes, you have to bring down the axe on the details and quality.
- Most added features had good quality and a global impact on look and feel of the game
- Was organized and knew if deadlines would be met on time or if it was to cut out a feature.