After a couple of big weeks of Project Clinic updates, we’re returning to our normal cadence and making some changes to the carts we recently introduced in Laika - letting you ride them rather than just lead them as they operate.
We’ve also got some more information on the performance work we’re currently undertaking, particularly the mined stone deposit loading threads we discussed last week.
Finally, we’ve got news on what to expect next week - hint, you’re going to need a bigger dog bed.
Jump in and have a read.
Notable Improvements
- Adding small dog drinking and eating animation duplicates for montages and adding unique audio for both sizes to differentiate between the small and big dogs
- Updated modifier times on tooltips to show in minutes if over 120 seconds
- Added APEX DM meshes, as well as many of their blueprints, for multiple buildable assets for all tiers
- Removed the ability to jump while riding mounts that have a cart attached
- Fixed issued with building pieces not hiding foliage paired with a slight GPU optimization
- Fixed sticks going to hotbar instead of backpack.
This Week: Rideable Farming Carts
We’re taking the three animal farming carts added in the recent Laika update and making a big improvement.
Carts will now be able to be ridden while farming, no longer restricted to only being led.
The current mounts usable with carts are Buffalo and Tuskar, and when you now equip a Seeding/Harvesting/Watering cart it’ll apply to the base saddle you ride on. You can also interact with the mount both when riding and when next to it, so you can control whether the device is active or not.
The Watering Cart will also fill itself up from nearby sources when it interacts with the mount, and the watering process will only activate when it comes into contact with a dirt mound.
The Seeding Cart now requires both dirt and seeds, with dirt to create mounds and seeds to plant. If there are no seeds in the inventory but there is dirt, then the cart will create empty dirt mounds, and if there are seeds but no dirt, it’ll only plant when you pass over an empty dirt mound.
The Harvesting Cart will now collect all crops that are ‘harvestable’ that have been created by a player within a small radius of the cart. Bushes and wild flora will not be collected.
The movement speed of the mount being used to pull the cart does have an impact on the speed modifier of the cart, so keep this in mind when using it.
Mined Rocks & Performance Improvements
Last week we talked about the improvements we wished to make specifically with regards to the state of the mined stone deposits around the map. This was something we were aiming to include in our last patch but it was pulled out to do some unresolved crashes and issues that came up in testing. We were also hoping to get it in this week but further work put into it has uncovered some more issues that still require more time to iron out.
The change we’re looking to implement is to do with how mined rocks are loaded and unloaded. As you traverse the map, you load different zones which then require all mined rocks within a relevant range to load in. As part of this loading process not only do we load the objects but we also load the state they were left in (that is every pickaxe swing that was done on the object) and this takes additional time. Due to the fact all of this loading (it could be in the thousands of instances) happens in one frame, it can cause hitches. This is mainly to do with the map being tile based and when one map tile loads, the mined rocks are triggered to load in at the same time. This is especially bad at some points across the three different maps - and depending on where you are - you can constantly be loading tiles and objects due to their relevancy range.
The change we are currently making involves placing all this ‘logic of loading’ on a separate thread allowing these objects to load in the background while you are playing rather than in a single instance on the main game thread. One of the interesting things about splitting things out to be on separate threads is that you can’t have the main thread or separate threads interacting with the same object simultaneously, otherwise, the data becomes corrupted and can be forced into bad states.
We have had some decent success so far with our internal testing and this work seems to have made some strong progress in reducing hitching. We are currently still in a testing phase and will roll this out if and when we believe it is in a stable enough state.
Next Week: Pugs & Laika
Next week we plan on adding two new pets, one to the base game as a free pet, and one to the Pet Companions Pack DLC.
The base game will be getting Laika the dog, in celebration of the heroic pooch who was the first four-legged adventurer into space. The Pet Companions Pack will be getting a Pug as a new breed you can bring down from the space station.
Your support makes these updates possible.
https://store.steampowered.com/bundle/40692/Icarus_Pets_Bundle/
https://store.steampowered.com/bundle/35727/Icarus_Complete_the_Set/
Changelog v2.2.3.122924
New Content
[expand type=details]
- Added a psuedo saddle for the player to ride on.
- Removed the stat that stops players from riding the mount while farming cart is active.
- Removed useless stats 'IsSaddleCargoOnly' from itemstatic as it was only being utilized in equippable DT
- Added crop plot snapping to dirt frames
- Adding correct cart data table entries to new carts added
- Added the ability to ride on basic cart
- Added a basic saddle to the cost of each cart
[/expand]
Fixed
[expand type=details]
- Fixed Stone, Salt and Limestone Noxious crust descriptions mentioning incorrect materials
- Fixed Carved Wood Bed weighing 1kg instead of 10kg like other beds
- Updated some item descriptions and hints for clarity
- Added bestiary text for Dribbo
- Added Arctic Moa bestiary text
- Fixed a few typos and changed some item names for consistency
- Added Arctic Moa bestiary image to the project
- Add translatable string entries for relocated quest steps
- Fixed Involved In Quest modifier used on quest creatures not showing involved in quest stat text
- Adding Laika dog bark vocalisation, data table setup and event
- Adding small dog drinking animation and eating animation duplicates for montages and adding unique audio for both to differentiate between the small and big dogs
- Added Arctic Moa bestiary stats
- Enabled Arctic Moa bestiary entry
- Fixed typo in spoiled plants description
- Updated modifier times on tooltips to show in minutes if over 120 seconds
- Updated modifier to just show provides instead of 1 second duration, for modifiers specifically applied for a single second
- Update building RVT blocking to only dynamically spawn if intersecting with ground
- Delayed check for RVT spawning to ensure stability calculation has been initialized, checks an additional time after a longer delay, once
- Fixed unsaved interactable DT that changed the 'fill from nearby deployables' button to hold X instead of tap F as we now use F for riding the mount.
- Removed fur culling mask on the tuskar mount when you remove the cart from the tuskar
- IRONCLAD: Added translatable Est. time string
- ADVANCED ORDER: Update quest step to refernce Health Recovery Tonic's new name, instead of Health Enhancement Tonic
- Removed the ability to jump while riding mounts that have a cart attached
- Hide Units Consumed from UI, this confuses players without tweaking UI more
- Added translatable string to wind turbine in-world tooltip and salting station close button
- Fixed sticks going to hotbar instead of backpack
- Fixed an error in the description for the ceiling light
- Added ability to consume meds in the medicine pouch
- Fixed Seed Bar, Seed Cracker, Honeycomb Bar and Seed Bread status effects not being affected by the Vegetarian talent
- Added Stomach Slot information to player inventory
- Replace modifiers BaseStaminaConsumed stats with BaseStaminaActionCost, this fixes water modifiers reducing stamina consumption by more than the intended amount
- Hid sort from bag UIs (Medicine Satchel, Seed Pouch) as these hold specific items so don't need sorting
- Adjusted taming temperatures so creatures found in the arctic are easier to tame in cooler environments and creatures found in warmer environments can be tamed in higher temperatures
- Updates to spacialiser settings of seed plough and limiting amount of sow sounds that can be played at once with a cooldown to avoid it playing 3-4 at a time.
- Adjusting volume of UI of interracting with plough
- Reduced speed of Horses and Terrenus, mainly through reduction of their talents. Both have movement speed increasing talents that reduce the sprint speed, but these are currently not reducing the sprint speed. Will be readdressed when that bug is fixed
- Very slight reduction of Moa movement speed
- Fix cart saddle audio parameters failing to update if player has dismounted from saddle, potentially causing cart audio to not play or play indefinitely
- Added ability to toggle carts on and off while riding the mount. Added 'focusediteminfo' for toggle button
- Lots of updates and improvements to the carts. Better spacialization, adjusting pitch speed based on velocity of the cart. Reduction in volume to some layers and reduction in sound size for better riding experience
- Updated bonus mining rewards description (notably on Egg based foods) to specifically mention the bonus is stone
- Fixed Honey Mead stat order
- Changed toggling the harvest cart to be a binding rather than hard coded to 'x'. removed hard references to tuskar and buffalo mounts and instead added a saddle row in the saddles json for psuedo saddle mesh. Added stats to slow down the mounts when cart is active
- Fixed building piece grass culling not working after recent changes
- Building piece grass culling volume is now centred on building mesh (was previously offset for things like beams or half/quarter pieces)
- Buffed Buffalo and Tusker movement speed, but reduced the effect of the movement speed talent while Buffalo is pulling a cart
- Reduced movement speed while creatures are pulling a cart
- Increased capacity of Pack Saddle
- Updated descriptions of carts to no longer mention they are unridible
- Updated Medical Satchel description to communicate that it allows instant use of medicine inside
- Fixed tooltips showing 0 - 0 Damage when items are not valid (such as blueprint sets)
[/expand]
Future Content
[expand type=details]
- Undo changelist 122831
- Undo changelist 122804
- Undo changelist 122787
- Undo changelist 122785
- Undo changelist 122781
- Add a UE4 Insights stats label for when a tile boundary is crossed 'TILE LOADING' (internal dev)
- Added BLD_Stairs_Corner_Wood_R and BLD_Stairs_Corner_Wood_L with their BPs. Will still need to be added to the Datat table, etc
- Adding 1ST person CHAC pistol reload to be a clip instead of a single bullet, gun animation still needed as well as 3RD person but thats much trickier to track down, hold please
- Updated placement rules for corner stairs
- Adding Chac Pistol reload clip audio, events and animation notifys
- Added and updated hunter helmet and chest v2 sk meshes, materials and textures
- Further fine tunes to chac reload timings
- Adjustment to chac reload notify timing
- Added APEX DM meshes, as well as many of their blueprints, for multiple buildable assets for all tiers
- Fixed material mismatch between SM and APEX DM for BLD_Roof_Peak Connector_Iron
- Added half stairs test datatable entries
- Added multiple Scoria building skin entries to the D_BuildingSkins Data Table, as well as added sockets the the Half Stairs assets for all tiers, and also adjusted the placement of one of the railing sockets for the regular Thatch stairs
- Saving test assets to dev folder
- Adding lots more details to the chac pistol. adding cloth moves for various parts to enhance the overall feel etc
- Update collision on many Prometheus foliage to allow player overlap
- Increased Overflow Bag capacity further for future proofing
- Increased stability collision area for dirt ramps and corner ramps
- Add widget for future internal cooking balance
- Added some extra insights logging to VoxelResource expensive init function
- Update delayed shelter checks to only be delayed for pieces previously inside, aka favors the player
- Remove burnt (unharvested) trees as part of FibreFoilageRespawn
- Remove some history on voxels (GPU compute, treasures). Unroll some loops, precache some vars, add some statics
- Further Voxel Code decomposition/refactor (fix the build)
- Further Voxel Code decomposition/refactor
- Move voxel init to async task for cached meshes (experimental)
- Fix issues with voxel thumper reinit after making init async
[/expand]