I finished the Riser that I started last week. This one is a black oxide frame with Filigree patterns and cutouts on it. The wood areas also sport the carved filigree inlays. This bow will be the snazziest of the lot, not the best, just the most bling of the sets. I had a fair battle with the wood texture on this one. Getting it right took a little more time than expected. Unity handles PBR values differently than in the programs that we use to paint. We often have to play with the glossiness after the painting process has been complete to tone down how shiny things look. What looks matte as hell in 3D Coat or Substance Painter, comes out polished in Unity. Different shaders produce different results. This is looking really nice though and now I’ll move onto the Limbs and Rest. The texture end of the bow parts will be done this week and then I have to do the weighting/skinning and somewhere in there make the LOD’s. I decided to wait til after to do the LOD’s. I have to build the parts in a regular format where they are laying flat along either X,Y or Z axis. I then need to move the parts into position so they line up with the character’s animations correctly. After talking to Tom about the problem. Tom recommended that we move the skeleton so that it fits the bow in it’s flat axis oriented build position. This should make skinning simpler. Long story short, I will figure out the best workflow on the first item I skin and then use that technique for the rest of the parts. This will speed everything thing up.
Heya folks! This week I’ve been getting weather back up to scratch, fixing more bugs, and finished up implementing both a new UI for the road tool, and a cool little tool for inserting intersections into road nodes.
Weather has been out of the game for a while, as we figured out a bit where we wanted it to fit. It’s behaviour will probably change in this iteration of the system, moving from the fuzzy legacy version of “it’s raining, so you get wet, so you get cold 10% faster” to the much more binary version of “it’s a sandstorm, and unless you get out of here in the next few minutes, or have the necessary gear/base upgrades, you gon’ dieee”. In the same way that dynamic hotspots create moving points that pull players in, these dynamic hazards can create points that push players away. We plan to give players the tools to invest a bit in bases, vehicles and themselves to become immune to these environmental hazards, so they will mostly impact new players, and players who are just transient to the zone and haven’t invested any resources in it yet. This follows a lot more the soft-gating model of legacy, while still being a strong environmental threat. We’re still balancing exactly how lethal these weather systems will be, so stay tuned for more info on how they will fit into the game.
I brought all three weather systems from legacy up to scratch, so that’s blizzards, sandstorms and rainstorms. The new system is a lot more flexible and easy to configure, and you pretty much just assemble a weather system out of whatever parts you want. I made a few improvements to the overall structure as I went, and I’m pretty happy with it now.
With the road tool, by far the clunkiest piece of the workflow was managing intersections. Previously, you would need to drag the prefab intersection out into the scene, move and rotate the prefab so it was in the right place, delete the node that you wanted to replace with the intersection, and then rejoin up all the disconnected nodes with their relevant node on the new intersection. I got frustrated just writing that out, so I took a little time to automate the process, as well as putting in a few quality-of-life improvements. You do have to set an intersection up with a bit of metadata so it knows how to insert itself, but it is still a vast improvement on the previous workflow.
I also fixed a number of bugs this week. This included a regression on music that meant it would sometimes stop playing permanently, and several other bugs in ambient sound loops that meant that they wouldn’t play either. I implemented a potential fix for large world-items spawning below the terrain, and then dropping through the world, by enforcing a minimum terrain collider thickness that should mean any depenetrating forces are upwards, not downwards.
Unfortunately this past week started off with me falling prey to the flu going round the office so I didn’t get through all the vehicle work I wanted to. I was able to get engine power and top speed decoupled so now engine power is the only stat that controls acceleration power (previously top speed would also effectively increase acceleration as the vehicle acceleration curve was being evaluated based on current speed as a percentage of top speed, now the top speed for this calculation is predefined for each vehicle type rather than being stat driven).
I’ve also made vehicles destructible, right now this is in a pretty basic state where non-wheel attachments will not take damage separately to the vehicle making shooting an attachment panel the same as shooting the vehicle itself.
Whilst we have the technical backend stuff setup to be able to support separate attachment health (and this is running for vehicle wheels now) on the user experience side of things we really need better ways of communicating attachment health without having to open the vehicle inspection window. These will likely take the form of new ui elements for vehicles you’re inside of and probably some kind of overlay effects (like the resource node cracks) on attachments for when you are shooting at them. None of that is going to be ready for Friday however which is why we’ll be sticking with the simplified model for the time being and showing a simple smoke effect when the vehicle hits low health.
I also spent some time this week helping Splatt get the female character into the game. This involved diving into the world of Maya scripting to fix some skinning issues we were encountering. It took some time to get to grips with how Maya handles its data and its python API but I was able to solve our problem so we can average skin weights between verts on separate shapes and skinning clusters.
I’m hopeful I’ll be able to use this knowledge again soon to help Mils and Splatt out with any tech problems they may run into and also to simplify and cleanup our character skeleton.
This week I got into sculpting the basic faces for the different ethnicities. They went through a couple of iterations to get to this stage, excuse the hair style, it’s just a place holder. Sculpting people from different ethnic backgrounds has its challenges, you really need to study the subtleties that make them different from each other like general face shape, cheek bone height, eye and mouth shape, the bridge of the nose etc. all of those things can change, some times it’s a very small change but can really make all the difference. I’m currently getting all these head in game and then I’m going to start on some actual hair styles that look good as the old hair models no longer fit the new head and really, they could use some love. The female clothing rig I built works well and I managed to transfer over all the clothes into a usable state within a a couple of hours so now I just have to go through and start tweaking them all so they don’t have clipping issues.
This week I’ve been implementing Vehicle Airdrop Beacons, content progression, and finally the ability to set aim down sights to toggle. Toggle ADS has been requested heaps lately probably due to PUBG.
We have all the features ready to go, what we put out on Friday will be very rough in terms of balance as usual when we overhaul everything. At this point we will be pushing it out on our smaller map “zonetest” which should make things pretty chaotic. We might put lower player caps to account for that and spin up more servers if they are getting smashed.
Tom has managed to get vehicle destruction in for this patch, so we will be playing with making vehicles more throwaway and common as well as distributing more loot through random drops, and removing hard gating from biomes.
Looking forward to shooting a bunch of you 😉