The Alpha 52 update is primarily focused on adding substantial performance improvements, however there are also many new gameplay features and mechanics that I’ll detail first, as many may be less interested in the technical breakdown.
Lathe:
The Lathe is a new high-tier item that can be crafted at the BCU. It can be viewed as a high tier workbench and allows crafting of advanced mechanical base items.It is fully animated, with the tailstock sliding back and forth and physic-based sparks flying as each new item is crafted.
There are currently 4 items the Lathe will craft (continue reading for details):
Elevators:
Elevators can now be crafted at the Lathe and used to move between floors of your base at fast speeds.The are intended as late game items and are pricey to craft. The take up the same space as a half ceiling.
There is a panel on the elevator platform allowing the players to choose which direction to move. The elevator will stop on any floor where there is a walkable floor to alight from, so if there is no floor to move to, it will not move. It draws a small amount of power from the base each time it's used.
Elevator tracks:
Elevator platforms must be attached to elevator tracks.Tracks will only snap onto foundations and full ceilings (wooden or metal), and can then be stacked on top of one another.
Elevators switches:
Elevator switches allow players to request the elevator platform to their corresponding floor.They can be placed on any wall, however must be close to an elevator track.
You can view a video of the elevator in action in this video:
[previewyoutube=Z_OWNkiorQI;leftthumb][/previewyoutube]
Animal traps:
Animal traps can now be crafted from the player default crafting menu, and allow players to procure small game meat without having to actively hunt.Traps can be baited with a range of items (which show while accessing). Some item types require more than others to "bait" the trap. A checkbox indicates when the trap is baited.
Placing many traps in close proximity will reduce the chances of luring an animal. Also spending time nearby the traps will deter animals, so best to leave them and check back in intervals. Traps will slowly deteriorate over time (however can be repaired).
Fish traps:
Also crafted from the default player crafting menu, fish traps allow players to catch small fish without needing to use a fishing rodThey can currently be baited with tree grubs and rotten meat. One fish trap can catch up to 2 small fish, however when one fish is already in the trap, the chances of the second are reduced.
Similar to the small animal traps, overcrowding an area with fish traps will reduce the chances of catching fish, so try to spread them out. They will also slowly deteriorate over time.
In-game Map!
A heavily requested feature from players, there is now an in-game map that can be brought up at any time (the keybinding can also be changed in the control settings). I've implemented a shroud/fog-of-war, whereby the shroud will slowly uncover as the player explores the map. This style of map was largely influenced by the original Command & Conquer strategy series that I grew up playing. Holding the right-mouse button allows the view to be moved around.A blue icon will show for the local player, and co-op players that share a base will show as white icons (only after they are added to the player list in the BCU). The in-game map has been on the roadmap for a long time, and it's functionality and purpose will continue to evolve to support upcoming features in the future.
Inventory HUD overhaul:
I've overhauled the crafting menus, scrapping the previous text list and implementing a grid view (allowing many more items to be displayed at once). Text will still show when mousing over items. I've also done away with the radio checkboxes on the craft window, which previously allowed switching between variants of an item (full wall, half wall, etc), and instead simply display all items in the grid view.
I've also added drop-shadows to all item images, menu buttons, etc, so HUD elements pop more off the screen for a cleaner aesthetic. I think this looks a lot nicer, while also being more functional.
Rug:
Purely a cosmetic item at this point, rugs will give bases a better sense of comfort against all the hard wood/metal/glass surfaces (and I think look pretty cool too).It will also soften footsteps for better immersion when spending time in your base. I plan to add more decorative items in the future.
BCU Range Extender:
BCU's can no longer be placed within range of one another. Using multiple BCU's as a means to extend the build radius of a base was always a placeholder.The BCU Range Extender can be crafted at the BCU and used to extend the range at which powered (and other specific) items can be placed within your base. Note: They currently cannot be moved once placed.
New graphics for sun:
I've been meaning to make improvements to the sunsets/rises for a long time, as I've always found the sun rendering to look rather flat. The new rendering looks much nicer (imo), using parallax flares to give a sense of depth to the effect.Largemouth Bass:
There is now a new large fish that can be caught by rod-fishing. The Largemouth Bass currently produces double the resources than a Salmon. However these are not yet unique items, so the yield is somewhat placeholder at this point until a later update.Major Performance Overhaul:
Please skip ahead unless interested in the technical details. Please note that this is where the majority of effort was invested during this update cycle. I treated it as two separate projects; base rendering (built structures) and world rendering:Base (built structures) rendering performance:
I've always been aware that building very large bases had a noticeable impact on performance. This hampered gameplay, especially for players with modest hardware, so I've always been planning to tackle this.Below is a performance test, comparing the Alpha 51 update to Alpha 52, rendering an excessive number of buildables in a single scene and showcasing a massive boost to performance:
The largest performance hit was due to every building piece being individually drawn each frame, leading to large volumes of draw calls and bottlenecking the rendering pipeline. The new system renders only a single mesh per building piece and creates multiple instances from these single meshes to render the visible scene.
When building pieces want to display their own individual visuals (such as damage skins), they seamlessly swap-out between the shared instanced mesh and their own individual mesh (so no compromise in terms of dynamic visuals).
Animated base items: For the majority of base items that animate (such as doors, windows, etc) I use skeletal meshes to play the various animations. These meshes have a much higher performance cost due to their vertices being considered for motion/morphing every frame.
I've added separate static meshes for all of these items (that can also use the same instancing system previously mentioned), and will now switch over to use the static mesh whenever not in motion. This change will give a big performance boost for players that have large bases with lots of windows and doors.
World rendering performance:
Foliage: Grass, bushes, flowers, shrubs, etc all use the engine foliage system, which batches nearby foliage into clusters and renders them in/out based on proximity to the player.Due to a bug in the foliage system, clusters that were outside the player proximity were still causing draw-calls, even when they were not being visibly rendered (especially taxing when viewing large open vistas). I've now added a system that will cull these distant clusters, greatly reducing the volume of excessive draw calls.
Trees: I use speedtrees to render the variety of trees in the world. Due to their implementation, they cannot be instanced, so eat up a lot of performance when many are in view (even when they are using their low-poly LOD models).
Because of this, I've created new low-poly meshes for all trees, and a new manager that swaps-out distant trees to use these new models. The new models utilize the foliage system, meaning they can be instanced and are as cheap to render as grass.
Improved shadow falloff
Previously shadow falloff would show noticeable banding at sharp angles from a light source (especially on flat walls etc). I've made some changes to reduce this artifacting:Smoother butcher camera transitions:
Previously there was animation hitching when entering and leaving the butchering camera anim. This is now been smoothed out and I think feels much nicer.High FPS native support:
You can now configure the max frame-rate in the in-game graphics menu. So if you have high refresh (or adaptive sync) monitor, I highly recommend increasing this setting.New Languages (Japanese and Korean):
This brings the total supported languages to 20.Other notable changes:
- Fixed migrating bird not showing for clients of co-op games.
- Move the hammer to the default player crafting menu (previously crafted in BCU).
- The hammer now takes low usage damage over time.
- Fixed bug that could cause hardcore profiles to be reset to normal (and on rare occasions being lost).
- Fixed bug that could cause moose and deer to despawn during a hunt (or attacking players and hunters).
- Fixed issue whereby cooked or burnt meat could switch to raw while shift-clicking singles from a stack.
- Fixed bug where a URL in a hosting players Steam name would prevent the co-op profile from launching.
- Reduced the default master volume.
- Fixed bug that was resetting max health and stamina progression on death. Now death will result in a reduction of 2/4/6 across easy/normal/hardcore respectively.
- Fixed long-standing issue whereby inventory items could lag behind the mouse pointer when dragging quickly.
- Fixed underwater lighting caustics effects not showing for clients of co-op games.
- Fixed performance-hogging AI pathing bug, which could occur in hunter bases. This was a small fix, but was causing some big performance drops on large co-op servers. Thanks to the players who sent me their save files that allowed me to isolate this issue!
- BCU Cracker recipe has been moved to the Lathe.
- Added gentle flicker to lighting from campfires, woodburners and molotov fires.
- Fixed rare glitch that could cause the player to die when crouching while entering shallow water.
- Prevented player from using sprinting stamina while swimming. This will also stop the player from sprinting when running into water.
- Fixed occasional random weapon reloading sounds for clients of co-op games while nearby other players.
- Fixed exploit allowing hunter storage crates to be accessed through doors.
Thanks for everyone's patience while I worked though this one, and to all that helped test the build prior to release. The large focus on performance and scaling in this update lays foundations for many future plans, so please stay tuned as things continue to move forward.
We're all going through some tough times right now with everything that's going on in the world. I hope everyone's staying as safe as possible and taking care of those around them.
All the best,
ColdGames
Discord invite: https://discord.gg/zyy4jQs
Twitter: @playSubsistence
Facebook: https://www.facebook.com/playsubsistence/
YouTube: https://www.youtube.com/channel/UCkQZ7vkTiqetTC0_8umY2Pg
Steam Forums: https://steamcommunity.com/app/418030/discussions/
Continued Translation Support Credits (in no particular order): Thank you so much for the support.
Spanish (David Lascasas)
Hungarian (Erb Ármin)
Portuguese BR (Thiago Schumacke)
German (Philipp J. Rackl (LPCaiser))
Italian (Marcello Brancaccio, Federico D. Ravagli)
French (Anthony Charrault)
Czech (Dílna U mnicha)
Dutch (Damster_NL)
Danish (Jesper Vestergaard Bæk)
Russian (FRAME)
Turkish (Soulkast, Çagla Gurbet)
Swedish (Mattias Gustavsson)
Norwegian (Christer Djuvik, Svein Tore Stegemoen)
Romanian (VaeVictis)
Estonian (Streamerize)
Polish (Robertus Lubin)