I finished off one of the barrels for the AR15 this week, there will also be custom coloured designs to go over these as with the cars. I am waiting to finish the current models with textures before I go and do all the graphic skins.
Really happy with how the PBR materials are turning out on these. The lighting in these screenshots doesn’t do it much justice as it isn’t the runtime game lighting. Now onto the Stock, then probably the Magazine then a Muzzle Brake or Silencer.
This week I’ve been working on our color customization system again that I explained in blog #65. Whilst the system was mostly working it ran into problems if two models were baked together that shared the same space on the color lookup texture. This was a rare occurrence as we allocate texture space based on slot type (ie. Head, Legs, Chest etc.) but something like a roach or goat wheel uses the same model baked to different wheel bones dependant on the slot it’s equipped in and also when dealing with mods we can’t guarantee the slot has been assigned correctly so I’ve developed a system to detect overlaps between equipped models and assign spare space to a model when necessary, overriding the models custom UV channel to point it at the new space.
I created a quick color randomizer, added some colorable goat wheels and setup a whole bunch of items with new color masks that Gavku made to test the system and the results have been good! Colors are now synchronizing over the network and color texture space conflicts are being resolved properly!
I also spent some time working on vehicles, fixing some bugs around lights and the new item system. I took this opportunity to make some improvements in vehicle parking behaviour, now wheels will update their position if the vehicle is moving at all and also whenever new wheels are attached which means no more wheels sticking through the ground when the vehicle isn’t occupied and when first loading them in.
I also made some improvements to our mesh baking tools again, our custom mesh attachments now store a reference to the model they were created from and you can recreate the mesh attachment in one click from its reference after making changes to the source model. I’ve also added a tool to create mesh attachments based off another mesh attachment, as long as they share the same space (ie. have the same offset to the same bone). This saves the hassle of having to position, rotate and scale each new model relative to the character skeleton.
These tools should help speed up the work flow both for us internally and for modders once we get to release.
Hey folks, this week I’ve left off creature progression and have been looking at the crafting machines, blueprints and general UI improvements.
Crafting is going to change a lot in ItemV2, and we’ve been discussing internally and on the devblog what those changes are going to be and why. A big part of this is finding a blueprint for an item you want, and then choosing to invest in that design by building some machine to build it. I’ve been implementing this machine, that uses a model that you may have seen before but has so far not been used. I’ve also been trying to keep in mind moddability when creating these items, so a lot of it has been changed to be very component driven and smart about hooking itself up. Hopefully we should get to a point where it’s very easy to attach visual effects to a machine that will automatically turn on, scale and react to the what the machine is doing.
Handcrafting will change as well. We see a system where all players have base recipes that they are able to handcraft, like now, and then are able to consume a limited amount of blueprints found in the world to be able to handcraft them. Not every blueprint would be able to be used in this way, but it means that you will be able to repair some items while out in the world, give out and trade items that are uniquely yours, and regear if you die and cannot respawn at your base. The effect of this is to hopefully tie the items that you find and are valuable to you, to your character in a way that persists across deaths, while it still being worthwhile to hunt and kill other players. This has flowed through to changing how a lot of the UI is built, which will allow for much more of how the UI works to be changed by mods. Mods should now be easily able to create their own UIs for custom machines and objects.
This week I implemented the blueprint system that allows any loot table (creature drop, resource node, crate) to generate a unique item, but instead of dropping the usable item it drops a blueprint to be crafted. To achieve this I used the nested item system used for weapon attachments, and wrapped the fully generated item in a blueprint container. This container then has its own loot table to decide how much the item will cost to craft. This can be configured like all other loot tables to increase costs based on rarity or quality of the roll on the item. For example, if you roll a rare pickaxe that give a big attack speed boost that most pickaxes don’t get, it can increase the recipe cost to craft it by 20%.
As cow_trix described a bit above, these blueprints will come in 2 varieties: Handcrafted and Machine crafted. The purpose of this is to give relatively new spawns a couple of item tiers where they can learn blueprints directly onto their character. Meaning before you have established a base, you don’t need to setup machines to craft your items. This makes it a little safer at low levels due to the fact that you can find a blueprint and learn it right away and cannot lose it.
Once you progress a bit further, higher tier items will require a crafting machine to use. Meaning if someone takes over your base, they can also take over your crafting facilities.
These systems are pretty much in place now, just waiting on that magical elusive content.
Once I started working on content I realized that the workflow for building anything from our content project had gotten so slow nobody could really get anything done. To preview an item in game took 5 mins of waiting. I spent a day splitting our content up into smaller manageable chunks and made our build process run in parallel. Taking content from authoring to build takes roughly 15 seconds now.
Lastly we bid farewell to Mr Gavku, who is taking a break from work to look after his new baby. All the best Gavku!
To re-bolster the Art team we welcome he who shall be known as Tehsplatt, who is a 3D sculpting wizard and once held the world record for Wolfenstien speedrunning. Expect to see a lot of him around the place.