Vending machines and armoured door hatches are finally in, a further look at the upcoming overgrowth and bunker clutter, and more.
Continuing with my work to revive some game elements from Concept Limbo, I spent the majority of this week implementing the Vending Machine. This was no easy task, but it’s in-game and functional.
First thing to know is for now this is a player only deployable. You will not find these in the world, and it is up to players to craft them and keep them stocked. My gut reaction was that this will never happen, but I designed it in a way that I hope can become an entirely new way of playing the game instead of farming.
It works by something called “Sell Orders”. If you have access to the rear of the machine (and its lock if it has one on it) you can open the Administrator Panel:
From here you’ll see the existing sell orders which you can delete, as well as a panel to add new ones. These are basically exchange rates which are fully customizable. You can set any item up for sale in any quantity, in exchange for any other item in any other quantity:
If you want to sell Hatchets for Stone, go ahead! If you want to sell Components for Metal Frags… why not? Keep in mind that these sell orders can be added to the machine, but the vending machine will only sell what has been put into its inventory (also accessible from the rear):
Where this gets interesting is when you do something like selling Stone in exchange for Wood. Every time someone buys some Stone, the inventory will receive the Wood. If you have another sell order in place that sells Wood in exchange for Cloth (let’s say) and people start to use it, you can stand back and let it constantly replenish and sell itself and simply extract the profits. I can imagine this being very valuable Wood generator if set up near a beach for new spawns to take advantage of (or for you to take advantage of new spawns, as it were).
There is still lots to be done, and there are probably a handful of exploits. I’ll be listening on reddit and in-game, so please test the hell out of these things. Enjoy!
P.S. there is a slight issue with being unable to upgrade floors under a vending machine. This will be fixed in a subsequent patch, but why would you place your vending machine on anything less than stone anyway?
P.P.S. Beware! Right now the vending machine will accept broken items with no way of determining their condition. Do not add sell orders in exchange for items that have condition! You have been warned!
Armored Door Hatches
I tackled some low hanging fruit this week and got the Armored Door Hatches opening and closing. They really are open, not just from a visual standpoint: you can shoot out of them or throw grenades and projectiles through them. Be careful!
In-Home Streaming & Steam Controllers
I forgot to mention this last devblog, but I had been playing around with my Steam Machine and couldn’t get Rust to work on it. No mouse buttons were registering. I then tried in-home streaming and had the same issue. This was because of something EAC was doing and it is now resolved. It’s pretty awesome to stream Rust to my Surface Pro from my main PC. Enjoy!
Code Lock Colors
We messed something up a long time ago and the Code Lock ‘opened’ color was yellow instead of green. This is now fixed.
Paper Cost Reduction
Paper now only costs 5 Wood.
Large Furnace Changes
The Large Furnace now has a turn on/off control on its loot panel. In addition you can only access it at one of its alcoves instead of the chimney or any other random part of it
Water Fall Damage
During a playtest last week, I tried to escape a group of geared guys at the harbor by jumping into the water. I took about 40 fall damage. That is bullshit. I removed fall damage when falling into water that is at least shoulder deep. I’ll revisit this eventually and take altitude into account, but for now an annoying bug has been fixed.
Console Command Exploit
Last week it became apparent that if you ran a command while you were in the connection queue it’d run it’d mistake it as being run via rcon or at the server console. Once this became known it didn’t take long for people to start calling “giveall ak47”, giving everyone on the server weapons, etc.
We identified this problem and put a patch out within an hour. We made the decision to wipe some servers because of it. I spent the start of this week refactoring and simplifying our console command running code to make this less likely to happen again.
We need a bug bounty program. I’ll look into setting one of these up soon. Soonish.
Work very slowly continues on AI. Nothing to share. Unity tells us that they’ve fixed a bug that is currently breaking the pre-release branch. Once that’s sorted we can start testing it properly.
I have completed the dressing of our dungeon levels when it comes to overgrowth. As always, there’s room for polish here and there, but I’ll wait until we have a return on performance to decide whether we can push visuals further. Some terrain plants have also been replaced to keep things consistent looking across the game. I also added a layer of detail dressing across most places: the environments are a little more prop rich with smaller scale details here and there.
Andre has made a start on replacing the terrain grass recently, and while it’s not yet visible in my screenshots it won’t be long until we have that covered.
This week I finished the set of modular pipes I showed in the last devblog. I spent the last two days creating broken pipe variants, polishing the military bunkers, tweaking the ground and dressing all bunker rooms. When that’s done, I’ll do a similar dressing pass on other interiors, which should add a bit more graphical fidelity to other monuments.
New Foliage System
I’ve started working on a new system for efficient foliage rendering. This will unify a new and improved grass system with all the monument overgrowth Vince has been showing off. It will allow us to add higher quality grass meshes that can both be placed by hand and spawned by terrain texture like the current grass system. I should be able to show some screenshots in the next devblog and hopefully include the first component (new terrain grass) in the next patch.
Server Physics Crash
I’ve tracked down the server physics crash that could happen directly after server startup when loading relatively huge saves and implemented a workaround that has fixed the problem on all of our test servers. Fingers crossed that this is now solved once and for all.
Cheat developers have been making some progress lately, especially with a fly hack exploit that was managing to minimize the amount of anti hack violations by pausing and unpausing client tick sending in intervals. This is now fixed along with some other anti-hack improvements.
We found an exploit that allowed people to craft uncraftable items like the LR-300 and even the wind generator via console command. This is now fixed. Back to concept limbo, wind generator!
New Foliage Shader
Started working on a new shader aimed at overgrowth foliage this week. It’s a stripped down and much lighter version of our standard shader, with some extra features like transmission for backface lighting:
Improved Lowest Shader Level
If you’re used to playing with graphics setting Shader Level set to lowest, you may notice the rocks and terrain are looking a bit different now. We decided to raise the bar a little bit regarding low quality modes while keeping the impact as low as possible.
This is how the lowest LOD looked before:
Both rocks and terrain are now more detailed and smaller rocks now match larger ones better. I took my time to build the fastest shader I could come up with at only 25% performance impact:
Occlusion Culling Deployment
After a good few weeks of building and testing I decided to merge dynamic occlusion culling into main. The best way to start iterating on it quicker is to get it out there and use real world data for tweaking.
For now, it supports player and ragdoll culling. NPC culling didn’t make it to this update, however. We added more occluders this time around so, besides the terrain, basic structures like foundations and walls also contribute to player culling. In the following shot we can see it in action where green are visible and red are culled by the structure itself:
Going forward, we’ll extend occluders to more structures like monuments, and occludees to anything we can hide to speed up the game. Performance of culling is also work-in-progress and will improve over time.
Culling is enabled by default. In case you experience any issues, please use “culling.enabled 0” to disable it and report it back to us.
This week I completed new third-person animations for the Crossbow, Double-Barrel Shotgun, Eoka Pistol, and Flamethrower.
I also re-rigged the third-person models for these weapons so some of them have individual animating parts: the crossbow string stretches back, the shotgun barrels now animate properly, etc.
The new animations better match up with their corresponding view-model animations. When other players see you reloading, they can tell when you’ve completely reloaded and are ready to start firing, and the Eoka Pistol now has a third-person striker firing animation so you can tell when he’s preparing to shoot.
Finished up on the of components worldmodels: Explosives, Gunpowder, HQ Metal, HQ Metal Ore, Large Generic Can, Small Generic Can, Metal Fragments, Cloth, Leather, CCTV Camera, Animal Fat, Sulphur, and Targeting Computer. When these are implemented you’ll be able to see them on the floor and everywhere else.
This week I created and added new sounds for the Flame Turret, which was pretty fun. I got some cool mechanics recordings from this old and piece of shit push mower that has been sitting in my garage forever. It worked out really well.
I also went over a bunch of the existing deployable placement sounds. I’m pretty happy with where most of these are at now, but there’s one or two that need a bit more love still. I created new sounds for most of the deployables that didn’t have sounds yet too (signs, fish trap, locks, etc).
I fixed deployables that deploy to a slot, like the locks, not playing sounds when placed as well.
Added new flame turret sounds Added placement sounds to more deployables Polished a bunch of existing deployable placement sounds Fixed UV errors on the metal chest plate Fixed skinning errors on the female torso Fixed random physics crash on server startup when loading big saves Pause server manager (AI, stability, networking) while initializing the world Refresh collider grid after initializing conditional models (server) Refresh renderer grid in loading screen (client) Improved anti hack system (mostly fly hack detection) Made debug draw console commands admin only Fixed exploit to craft uncraftable items via console Improved lowest shader level Deployed dynamic occlusion culling Bolt rifle world model & prefab optimisation Longsword world model & prefab optimisation Waterpipe shotgunworld model & prefab optimisation Ak47 world model & prefab optimisation Salvaged cleaver world model & prefab optimisation Beancan world model & prefab optimisation Stone spear world model & prefab optimisation Water bucket world model & prefab optimisation Bow world model & prefab optimisation Hatchet world model & prefab optimisation Bandage world model & prefab optimisation Pickaxe world model & prefab optimisation Fixed missing holdtype anim bug for Lr300, semi auto rifle, m249, flamethrower Fixed wooden door skin not working Added entity.deleteby( steamid ) to delete all player's entities All player's entities are removed when they're EAC banned Fixed error when opening steam inventory screen Fixed workshop being broken (tag case sensitivity) No fall damage when falling into shoulder height water Flame Turret network optimization Flame turret fireballs slow damage even more Large Furnace has on/off controls on its loot panel Large Furnace can only be accessed from its alcoves Fixed Chocolate bar missing eat sound Fixed Granola bar missing eat sound Paper cost reduced to 5 Armored doors have functioning hatches Added Vending Machine Codelock light color fixes In-Home streaming now functional ( mouse clicks ) Steam Controller now functional ( mouse clicks )