Mils

I carried on with the Recurve Bow parts again this week. I have a Rest (which is a slightly bent nail) and an arrow to show you. The nail was pretty easy and looks fine. The arrow ended up looking really satisfying with the flint head material contrasting with the wood and feathers. One set is now completed on this one.

ArrowRiser01

I got into the Riser on the next set also. This one is a piece of square pipe that has been scavenged and hammered and bent to fit the use as a Riser. There’s a leather wrap handle that I wanted to try and find an easier and better way to create. I tried using Maya’s nCloth to simulate the strap wrapping around the bar and making the cloth surface really sticky, so that it would cling to the bar and not fall off. This was interesting to learn a bit about nCloth dynamics, but in the end I decided to drop that method as it was taking too much time. I will say that the basics of cloth simming in Maya using nCloth is really easy. I ended up using a bend deformer and rotating it to get a slight offset. This created the layered wrapped effect fairly well. The UV mapping and normal baking are done on this so I will start the texturing this afternoon.

ScrapperRiser02

Cow_Trix

Heya folks! This week I’ve been working through a number of bugs that you guys have raised. I refactored the chat window a bit, so you can more easily read long messages like server announcements. Previously, if the message exceeded the height of the chat window it was actually impossible to read the whole thing. While I was at it I tried to tweak the text display to make it a bit more readable on both a very dark and very light background. I also added some quick native support for one of the most common features server owners ask for, greeting messages, as well as an indicator of when a message is a server announcement.

newchat

I also looked into making claiming vehicles have a bit more functionality. Right now it’s pretty easy to quickly strip a car for parts with vehicle attachments being easily take-on and take-off. This means it’s pretty rough to leave your car anywhere, as in just a few seconds it can be completely destroyed and all the loot you were keeping in it stolen. We already had the concept of enabling and disabling inventories, so I extended that to give the owner of a vehicle the ability to lock and unlock the storage of their car so people can’t take parts on and off, or things out of the boot without you around. That being said, they still can drive the car away and they still can wrench the car and get all of it’s parts, though wrenching a claimed car is a pretty slow job. I’ve been thinking about various upgrades that would be easy to make for vehicles to make them less susceptible to these scenarios, such as kill-switches, trackers, and car alarms, which hopefully we will be able to explore in the future.

Aside from those few little projects, I’ve just been working on various bugs. I fixed some scenarios where your construction raycast went through walls, changed a lot of machines and sound-emitting objects over to the new sound system (which will mean that you won’t get random things making noise even when you’ve got the game volume down), fixed some machines continuing to play sounds after they were destroyed, and fixed a few bad areas in Mangatang. All these fixes and more will hopefully be coming to all very soon!

TEHSPLATT

This week I’ve been continuing trying to create an interesting looking resource node for the meteor strikes. Melting lava ball is where I’m at right now, I created this hollow ball with holes in it, then made an inner sphere with an emissive glow that shines through the holes. I wanted to make it stand out from your basic resource nodes so I tried to add some particles, sort of like smoke leaking out of the holes. Originally the smoke looked very obviously fake against the emissive glow due to it not receiving any lighting from the glow. I used the particle system’s colour over lifetime gradient to fake the lighting of the particles, it now gives the impression that the glow from within the node is lighting up the smoke as it leaks out. I also tried  a few different smoke variations the second one below is one of the more ridiculous ones.

I also revisited the Amber world item which is honestly a pretty difficult one when using the standard shader, it’s hard to convey a semi transparent rock that catches the sun in interesting way using only an albedo, spec and gloss. So I saw something worth trying out and in my opinion its the best looking version yet, but, possibly a bit too realistic and also might not stand out on the ground among other earthy colours.

Amber_v2

Tom

This week I’ve been finishing setting up destructible wheels for vehicles, doing some bug fixes and also improving our tools and mod build process.

As part of implementing destructible wheels I needed a way of binding hitboxes to storage slots, we already had a basic implementation of this going on with the way the players armor works but it was all hard coded bindings which wouldn’t work for vehicles as the different vehicle types have different storage configurations. So with this in mind I’ve moved the hitbox bindings into the StorageConfig asset used to setup inventories. Below is the Roach’s StorageConfig (left) paired with its EntityStatsBuilder (right) which is the other half to setting this up. In the StorageConfig you can see RoachWheelFrontLeft is bound to the Wheel FL hitbox. Over in the stat builder you can see DamageProxy WheelFL also has a HitboxMapping for Wheel FL. I’ve also setup a FluidEffectImpactMultiplier of -1 which adds the original damage value * -1, essentially cancelling all damage to the vehicle. Below the hitbox mappings you can also see the RaiseMitigatedEvent flag is checked, this causes a new event to be raised with data about how much damage was prevented by this stat. Finally either a PlayerStatManager or VehicleStatManager will handle these mitigated events by looking for storage slots with a matching hitbox binding and then pass the mitigated damage onto any item in this slot.

StorageHitboxBinding

I also managed to get through some bugfixes including fixing an issue that would cause rifles and shotguns to become tiny when aimed down sights from third person mode, fixing seed items recolouring your hats again, fixing an issue that allowed the shotgun to fire without a shell loaded, returning ladder climb speed to legacy values and improving vehicle exit behaviour. Unfortunately due to most of the office getting sick we weren’t ready to deploy these fixes in time for last Friday’s wipe but we hope to get them out to you soon.

GunScaleFix

I also spent some time improving our VehiclePassenger tools. I was struggling with debugging some vehicle exit problems and decided we needed a clearer visualisation of what was happening as it can get very complicated with exits that are defined in the vehicle’s orientation space (so they rotate with the vehicle) but then can also have an additional cast to ground step, then with the position worked out we need to check the whole player’s volume over the exit rather than just a point and if that passes then we do a final raycast from the seat to the exit, if this passes then the player can exit the vehicle. To make this all easier to see I created a debug view that will draw all exits and their current state. I’ve also changed the vehicle exit list to a reorderable list (as exit order defines priority) and created a custom inspector for copying exits from another seat (while shifting them into the new seats orientation space).

I’ve also been working on speeding up our mod build process so we can iterate quicker, first up I added a proxy check (ie. is the object real or is it a placeholder?) that can be run based off an unique id that is generated for all assets by unity. During pre and post build steps (where things like preparing mesh attachments happens) we can use this check to skip over all the proxy assets without having to load them into memory first (because we use the id instead). I also added another early exit check for when the asset is labeled as ‘dontbuild’, these were being correctly ignored from the build but were still running pre and post build steps for no reason.

 

Spencer

I haven’t got much done this week due to being knocked out with the flu. I am still working towards a dynamic geography hotspot build which is playable for the first time today. If by some miracle tomorrows playtest goes really well, I might try to push it out to you guys on Friday. I wouldn’t hold your breath though.

Good news is all the features I wanted to get in for dynamic hot spots are working really well. I added some sound effects to the meteor strikes that came together really well. Looking forward to getting them out in the wild!