Backstab & Teleport Die effect
When shielded enemies are hit from the back they display a backstab particle effect.
Teleport now has a dying effect.
Lvl2 begin area reworked & Lvl 1.
Lantern color changed & lantern bullet follows now the color of the lantern.
Intro & outro fixed.
Player can break out of stealth mode when activating other abilities.
Outro & Credits screen
When a player finish the game an outro is being played and the credits screen is being showed.
Level 3 has now been finished and the other levels have been adjusted with new statues, meshes and terrain work.
Loading screens between scenes.
For more player feedback between the loading of the levels i made a loadingscreen. This loading screen can display some tips & tricks so the player never has the feeling of having to wait for the new level to load.
The end pillon also has been updated with a particle effect to simulate a morebeam of lights going up ( a more portal feeling).
The snow system also has been updated.
I also started to make a third level of the game. In this level we are going for a more city like feeling of narrow streets, running arround roofs and exploring houses for components.
The inventory has been updated visually to be more player friendly. The equiped items now have a orange border arround them. Each component has unique stats and when u hover u see the new lantern stats with + (green) or -(red) when u would equip this item. The inventory navigation now also supports up/down movement so now u can browse your inventory with the move keys. Each component also exists in 3 different tiers(grey-red-blue, blue the strongest tier) so the player wants all blue parts depends on the playstyle.
With this new inventory the code behind also changed alot. Code has been seperated in logic and view of the inventory and more modular methods have been added.
The normal press button wasn’t clear enough for the player so we changed the lever mesh and added a visual and audio feedback for the player.
For more player feedback we added a new player healthpickup. The mesh and partical system make it more clear of what it actually is.
Level one and level two have been readjusted so the both levels are playable now.
New Fog & Inventory
Previous Builds we noticed a fps drop. Clearly we had a bottleneck but we didn’t know where it came from. After alot of testing we discovered the bottleneck. It was the alpha blending from the fog system and the system itself.
We created a new fog that is smaller and faster to run. More structure and on several pc’s we had a fps boost of 10-20 fps.
Inventory also has been restructered to improve player feedback.
We also made a new level to explore more from this universe. We tried a more temple/city environment without losing our general atmosphere.
Guidelights and checkpoints have also been updated.
A new main menu was made. Instead of the 2D menu we switched to a 3D menu to let the player experience the mood and atmosphere of the game before even playing the actual game itself.
A new starting level was made with new assets from our artist Mathias. The level has been designed to give a more exploration feeling but without the risk that the player can get lost.
Also we introduce the lantern abilities a bit slower so the player can get familiar with them before the game gets harder.
Small Dev changes
Tp ability has been improved so the player cant get out of the map so easily.
Game Manager adjusted for the async loading.
To further optimize our game we decided to use occulusion culling. After the frustrum culling(throw away anything outside the camera frustrum) occlusion culling throws away additional meshes that are inside the camera frustrum but that the camera(player) can’t see. This reduces the draw calls and overall polycount that has to be rendered. The effect is strong when u have large structures like mountains and walls that really block the view. The occlusion is baked occording to the data from the occlusion area’s.
Green boxes are the occlusion area’s (unity editor)
Updated Snow Shader
The snow shader has been applied to all our materials in the scene helping unity to increase batching and reduce draw calls which enhance performance.
Every mesh gets the snow shader script and in this script you can adjust many parameters. Falling snow and duration has been added.
New meshes and snow has been added to the level.
The old fog system used a 2D image post processing effect the simulate the fog. Because of this we coudln’t really add depth to our fog and everything seemed the same fog color.Picture of old fog system
The new system consist out of a particle systems instead of 2D image processing effect.
The fog itself is made out of 3 parts: near fog, mid fog and the far fog.
The near and mid fog are world particle systems and the far is a local particle system. Each layer the fog gets denser and more lightweighted. The fog is also highly adjustable in comparison with the old fog.
Fog system viewed from unity editor.
During the fog test and the new level we noticed that our game had started to lag and run at terrible fps. Optimization was needed.
- Everything that can’t move-> static. (this allow unity static batching to kick in which basically unity makes larger meshes and fewer drawcalls are needed to render the meshes)
- To reduce draw calls en polygons we reduced the terrain quality en texture sizes + adjusted the camera far plane so less objects needs to be rendered.
- To stimulate static or dynamic batching as much as possible we also intent to use one material for as many objects as possible(snowshader, yet to be implemented)
After all these changes the draw calls and polyfons count dropped significally but we kept experiencing low fps. After many testing we found that webgl was being runned with our internal intel graphics card instead of our Nvidia ones. To test for yourself : chrome-> chrome://gpu/
firefox -> about:support
and check your graphics drivers.
Level Design with Meshes from Mathias. (Ingame screenshots)
To let our models blend in with our environment we decided to make a snow shader. The shader is a lightweight shader but is highly customizable and easy to use. With the shader their is a script where u can adjust all shaders params. So no more 100+ materials have to be made but every mesh can just use this script to enable the use of the shader.
scene rendered with snowshader but snow is off (only mat used is the snowshader)
scene rendered with snow on and every object uses different parameters. (only mat used is the snowshader)
To make the inventory more player friendly and controller friendly. Everytime u access your inv the last selected item is selected and at the bottom u can see the stats of the selected part. Also u can see which part u have equiped with the blue circle. U can navigate through the inv smooth and easy and equip parts you want.Equiping a part changes the lantern stats which can be seen on the left side. Every part belongs to a certain type which is indicated by the horizontal color bars.(can be any color)
Terrain & Visuals
A new map was made to be more player friendly &allow the game to be played without being confused. Learning ability also has a particle effect to “see” the learning. Door script is also extended to support the triggering of the lever without any keypress.
Door and Lever script updated with timer and open/close speed. Gate can also stay open forever and you can also adjust how long the door/gate stays open. 1 door/gate can support multiple levers(triggers)
A terrain was made in photoshop (heightmap) and then imported into unity.
Abilities where visual updated with particle systems to mimic light better.
The atmosphere was created by a snow particle system that follows the player and a 2D post processing global fog effect.
Lantern was also updated it now contains the meshes instead of placeholders. (same goes for lanterncomponents)
Picture of the terrain from sky. Blue lights representing the “guide” lights for the player.
U can now pickup different lantern parts. When the player is in range a text will appear letting the player know he can pick up the part. The player will then unlock the part and it will be added to the players inventory. (each part has different stats that will effect the player’s abilities)
Player inventory consist out of the lantern parts(left side -> 5 slots) and the unlocked parts the player has found(right side). The player then can equip the parts by dragging it to a lantern slot. The lantern stats will change according to it (mesh will be added to the lantern mesh and also stats change) and they will be displayed(total lantern stats). Cant equip the same item twice.
Door – Lever system
Simple door – lever system, the player when in range (also with text) can activate a lever and a door will open. You can control which object and how fast it’s opening. This system will be expended with other features later on.(timer, closing, reactivating , …)
Lantern now flickers when the player is getting hit(take damage) and also pulsates when the player get health back from a health pickup.
Teleport ability of the lantern. U shoot a projectile and if u activate the ability again u teleport to the projectile. If u dont reactivate the ability it will disappear after x amount of time.
The lantern will consist out of different parts which give different stats. The player can pickup parts in the world and use them to modify the lantern in appearence and the lantern stats.
The lantern is the weapon of the game and also simulates the player health through light.(the less health , the less light the lantern emits).
The lantern has also a few abilities :
Turnoff light (stealth mode). Shoot Light and boost the light range.