I got a lot done this week, I finished the Red Dot sight, which is one of my favourite sights in any game that uses it. With it’s thin bezel for maximum viewing and active anti occlusion, this sight will be a staple for most players. A lot of the silencers and sights will be interchangeable between the various guns which means we get a lot more use out of these items. Red Dot on a bow maybe? 😛
Next on the menu is the thick stubby silencer which really gives a meaty feel to the end of the gun. I’m really starting to get in the groove making items now, and the process is speeding up. I’ve started working on another stock for the AR15, then I’ll do another tip/muzzlebrake. After that Spencer has requested I move onto the Sniper Rifle.
With my workflow now sorted I’ve managed to get a more time consuming asset than the vest to the same stage in half the time which is great progress. When it comes to games, pants can be tricky to get right, too much detail and they are distracting, not enough detail and they are boring. I like having noisy areas around the knees and ankles and relatively smooth areas in between so the players eyes have a place to rest. Some different materials were added to the pants to break up the generally flat, boring specular reflection that fabric has, there’s still some tweaks I want to do to the make certain things pop better like the belt clips. Everything baked out nicely and I didn’t run into any problems, Substance Painter definitely makes the baking process much easier with it’s “By Mesh Name” feature that allows you to bake perfectly without a cage. All in all I’m pretty happy with the outcome.
Here’s the pants in Unity (these screen shots are using Unity’s standard lighting not Hurtworld lighting) with the RGB mask shader, there’s a bit of trial and error that goes into figuring out which parts would be best left untouched. I haven’t done a dirt/damage layer yet, they possibly don’t need it, although I have found that dirt layers that look good on coloured assets look terrible on full white assets so that’s something for me to keep in mind. The next step will be testing out some cool patterns and designs to use with the colour masking.
Hey folks. This week I’ve been continuing work on multi slot items, fixing up bugs, making everything a bit smoother and also playing around with changing slot sizes and the UI a bit.
Something we’ve realised with UI design is that scrollbars suck, and if possible we should try to get rid of them from the UI. We’ve been looking at reducing the inventory grid size by about 25%, which has worked pretty well. Icons are still readable, and it means you can get much wider view of what is in an inventory. Inventories can also take up far less room on the screen. Then, for more important items like the things you have in the hotbar, we can have a larger slot that shows the item in more detail.
I changed up a lot of stuff around dragging items between slots, so the expanding circle is now dead. We changed over to just dragging the icon itself, which gives a more tactile feel to things. I’ve also been playing around with some slot decorators to quickly show item rarity, which currently is some colored borders to a slot. These are a bit ugly right now, but work pretty well when it comes to actually identifying items. Check it out below.
The workflow around setting up poses for different icon aspects is a bit messy right now, so that needs to be cleaned up. Basically, you need to be able to pose the item differently for if you want a 1:1 icon vs, say a 1:2 icon. Originally I put that information in the item component, but it needs to be moved out somewhere else now. Then, after that I’m onto a new type of machine! More info on that soon.
I’ve been continuing work on the mesh combining / baking system and improving the model viewer. The idea of the model viewer is to have a way to preview assets in our SDK and have them look as close to in game as possible. It sounds simple but quickly gets complicated as we use several third party plugins and assets in our rendering pipeline that whilst we have a license to publish them with our game, we don’t have a license to redistribute them through our SDK.
This means we can’t perfectly recreate in game lighting conditions in the SDK so instead I created a lighting snapshot asset that creates a skybox from the surrounding level geometry, a reflection probe from the in-game skybox and captures the current directional and ambient light settings.
All lighting snapshots are selectable for preview within the model viewer.
To build the skybox I used render textures where rather than drawing to the screen you draw onto a texture.
Whilst I was experimenting with render textures I Implemented a technique where rather than draw directly to the screen you draw onto a render texture first then draw the texture to the screen.
This sounds like useless busywork but its power is that we control the size of the render texture and it doesn’t have to match the screen.
This should allow our players near the minimum spec to squeeze a bit of extra performance out and people with beasts can render at a higher resolution and downsample back to their screen (which gives a smoothing effect like anti-aliasing).
I’ve also been keeping my ear to the ground listening and watching for bugs and exploits. After putting the finishing touches on the mesh baking I’ll be moving onto fixing issues in the live game with a small patch.
If you know how to reproduce any bugs or exploits you can help me out and report them at firstname.lastname@example.org
This week I’ve been cutting our content design back down to a manageable size so we can get a survival build out onto the experimental branch. My dreams of infinite procedural progression tiers have been put on hold for now. I got a bit ahead of myself attempting to re-define the survival genre and lost sight of our original goal for ItemV2:
“Rebuild our content progression to be well balanced for full loot”.
This alone is a pretty big change that will need careful refining, and adding completely procedural loot for everything, procedural creature generation, infinite tiers of progression and procedural maps into the mix has pushed us into a very long development cycle. While all these systems are somewhat working, configuring them has proven to be a much harder task than I imagined. All these systems will make it into the game one way or another, we will be releasing them in baby steps as not to loose sight of the parts of the game that worked so well in the first place.
The only really crucial feature of ItemV2 for survival is that things are crafted using blueprints. As I have gone off the concept of everything you craft requiring blueprints found in the world, we need a way to keep the semantics of this without actually gating the crafting of items until you find a blueprint. If we take the finding of blueprints off the table for a second, we have a pretty simple solution, allow the creation of base level blueprints by the player and keep the rest of the workflow the same. If creating blueprints only to be able to craft them seems like it doesn’t make any sense, I can see why, it will make much more sense when playing it.
What this creates is players always having the ability to progress any item slot they need without waiting for an item drop. If we re-introduce rare blueprints at this point, we can now make them much less common as players aren’t at all dependent on finding them to progress. Blueprints found in the world can be upgraded versions of the base level blueprints the player can create on demand and will always provide aesthetic and stat bonuses over their default counterpart, maintaining the feeling of finding rare loot without overloading the player with trash blueprints they don’t need.
The Drafting Table
This brings me to our new machine, the drafting table. Its role is to both allow the creation of base level blueprints at any time for little or no cost, and to reveal the contents of rare found blueprints. The revelation of found blueprints is designed to shift the loot discovery point from when you are out in the world in danger of being killed, to when you are safe inside your base and can actually pay attention to the rare item you have discovered. Found blueprints will only tell you the class and rarity of the item the blueprint is for when initially looted, only giving you a hint of what you will get.