Another big week of hunting and crushing bugs, filling in item configurations and making sure everything is properly setup to close in on some sort of release.
We have made massive amounts of progress this week towards the release, but as we test more the bug list keeps growing. At this point it will be atleast another week before the ItemV2 preview will be made public.
Our code that handled impacts was a horrible mess, melee and ranged impacts were completely different code despite doing 90% the same thing. This led to big inconsistencies between them and made improving functionality hard. I was fixing a bunch of bugs in the ItemV2 impacts so I spent a night rebuilding the impact system to be more modular and be re-usable. These can now be configured as scriptable objects in our SDK projects and tailored to specific uses.
I also re-implemented the spear to use the new Equipment system and Mesh attachment system.
Our projectile rendering was broken in 5.6, so I spent a bit of time fixing the projectile visualizations to use the new 5.6 linerender features.
You may also notice I am shooting with a piece of animal fat apparently, another bug the team is working on.
As Mils has now put all the AR 15 pieces into the project, I built an item generator that constructs a fully kitted AR15 with procedural paints. They are looking pretty sex.
Playing with this generator has given me a decent idea of how we will do low tier equip painting. The auto generator is coming up with fairly good consistent colorways with the occasional trash. What I will be implementing for low tier painting, is a sort of slot machine system where you get 5 or so rolls on getting a good paint job. At any point you can lock it in, or re-roll and try to get a better one. Each group of rolls will have some non trivial cost, and should make for an interesting mini game for pimping your gear.
Here is an example of 8 procedural AR15s
Hey folks. This week I’ve been fixing up more bugs in the UI and with items, changing how we do static item visualisation, and fixing up as many things as I can in preparation for the test release that’s coming soon.
Debugging the UI got a whole lot easier, as I wrote a little framework to easily visualise points, rectangles as an overlay on screen. This made it a lot easier to see exactly what was happening under the hood with the UI and exposed some good ways we can optimise in future! For instance, a simple application was showing on screen what was currently capturing the mouse UI raycast. I found that we are raycasting against a lot of objects that we really don’t need to be, like random bits of text or things within buttons. I also changed item slot dragging to be a multi-raycast system instead of the single UI raycast I was trying to get away with before, which led to some inconsistencies with dragging that we didn’t like very much.
We also changed how we do icons and world-items for non-equippable things like food, materials, machines, etc. So things are more unified, these static objects will now use the pretty amazing MeshAttachment tool, just baked to an empty character. I spent a fair bit of time setting up the many items in the project to this new structure, and it’s working great! I also put in a bunch of the world items tehsplatt has been working on.
Other than that I’ve been fixing up a bunch of bugs in both the SDK and the game, such as vastly optimising how we were setting up skeletons for creating icons and world-items, which means every item having it’s own pose is now an entirely achievable dream with little to no overhead.
My name is David Bow-ie this week. I started with some concept designs for the new Recurve Bow. The old bow was fine but while we are redesigning it we thought we’d add a component system to it’s design. Much like the other weapons we wanted this to have parts that would be interchangeable. There will initially be far less parts for this bow, but the design is very modular, so we can swap parts around as we create more of them. I also beefed up the shape of it so that it had a thicker appearance so it would not get lost in the world and in the UI.
I’m now doing some skinning to fit these into the animation sets that exist for the current bow. I’ve not done this with our systems ever, so it will be a learning experience, shouldn’t be too hard though. The idea is to check this mesh with the current animations, to make sure that they work and don’t look whack. After that can move onto properly sculpting the high poly. This will be a welcome change from dealing with metal plastic and rubber that the AR15 was constructed of.
Been getting through as many world items as I can this week, really enjoying the small design challenges that come with each new world item, although not enjoying the baking problems that each one presents but with all the midnight problem solving I’ve been doing in substance painter I finally feel like I’ve worked out all the kinks in my workflow. Down below are two of world items I was most happy with. Figuring out how we were going to approach animal fat in 3D was an interesting task, Cow_Trix had the best suggestion, a slab of pork belly. This was definitely the best option as a blob of animal fat just looks like a white smudge at 48×48 pixels and isn’t a very interesting world item (hoping for jiggle physics on the pork belly). The leather was probably the hardest/weirdest thing I have ever retopoligised and took a couple goes to get right. I felt the duct tape was a nice addition.
Here’s all the icons so far (excluding clay, flint, animal tendons and seeds). I think I’m becoming addicted to collecting these little icon snap shots. Gotta catch ’em all.
Figured I would add this in here as an example of a bad looking icon. This is the detonator cap, while the idea of adding the wires to beef it’s silhouette up made sense and looks decent when it’s larger, the icon is just a blob of noise and just doesn’t look good from any angle. The world item is now getting changed to a bright yellow detonator case, this makes it easier to see in the world and stands out in your UI as something special/rare.
This week I made some last minute changes to 0.3.8.5, put it through testing and got it released. Big thanks to everyone who jumped onto the devtest server to help test! You were all a big help and contributed to finding some broken construction validations, problems with the camera whilst crouching on a ladder, fixing ui performance issues and adding a fix for empty player names.
During the test process I also learnt that we need to improve our process for testing with the community and give players some kind of starting kit of items or other ways to bypass progression without handing out admin access, luckily this kind of thing is about a hundred times easier to setup in ItemV2 so it’s something we’ll keep in mind as we move towards the test release.
I also spent some time working on ItemV2, improving the accuracy of the lighting snapshots, fixing some bugs in the mesh baker and improving mesh attachment validation to make sure textures are imported as the correct type (eg. normals imported as normal type, Recoloring masks imported as non-sRGB textures so they aren’t converted into a different color space).
I also started work improving the build step for mesh attachments which I’ll be finishing up this week. Whilst the mesh attachments are now in a good place in terms of creation and configuration deferring mesh attachment creation to the mod build step has bloated our build times by an unacceptable amount so we’re changing the system to keep mesh attachment assets around and mark them as dirty and requiring a rebuild whenever their source meshes are changed. Now a mod build will only create missing and out of date attachments.
With 0.3.8.5 out of the way I’m now back onto ItemV2 full time and can’t wait to get it in your hands to test out ASAP!