Hey folks! Back into it after Christmas and the New Year. I’ve been working on the map, extensions to chat and the UI, and some stuff for testing out lighting.

A lesson we’ve learnt over the past few years is that testing lighting is a tricky thing – there’s a million levers to pull, and changing some variable can affect some other thing you never even thought about. Lighting can often regress. To try and help compare “apples to apples” as they say, I built a quick framework for generating screenshots for a level. It sets the quality settings, the skybox, the time of day, and then goes through and takes screenshots at pre-set locations. This means that we can keep archives of what levels looked like, and go back and compare screenshots to make sure we haven’t screwed things up.

Comparing different lighting setups

Comparing different lighting setups

I also added a few quick additions to the UI, which I’ve been meaning too for a while. There was a general restructure to extend chat and make it a bit smarter. The big thing was implementing in-text links, which means we can create dynamic, clickable contexts within chat. Basically, we can make any word clickable and functional. You can now mute individual players in chat by right clicking on their name and selecting Mute.

You can also context click any item and send it to chat as a token which can be seen by other players, tooltip and all. ItemV2 is a lot about finding cool loot, and this is a way you can quickly share the cool stuff you find. I also implemented a general-use context menu, which is used for chat stuff but also on items to do things like splitting and dropping without needing to remember key combinations.



So after much deliberation, we have scrapped the the current weapons that we made and are going to focus on implementing realistic weapons and components. The argument here was that the weapons would take too long to produce whilst trying to copy the functional form of weapons that have evolved in real engineering and manufacturing processes. Such gun designs have been iterated over for decades. We want them to functionally look right. We really don’t have decades and we aren’t engineers. So, the guns will look and feel like guns should and not end up looking like Nerf guns 😛

First in the line of guns is the remade AR15, which I have been making sure lines up as close as possible with a real AR15. I looked at 50 to 100 photo’s and diagrams to make sure this looks as close to the real form as possible. We went for a MAC-10 also, which is a good bridger weapon between a pistol and the AR15.

We want these to be a big part of what makes a satisfying gunplay experience.

ar15_0002_layer-2 ar15_0003_layer-1 ar15_0001_layer-3 ar15_0000_layer-4mac-10_0002_layer-2 mac-10_0003_layer-1 mac-10_0001_layer-3 mac-10_0000_layer-4


So after the break I set about making a hoodie for the player model. Below is a pic of the sculpt within mudbox, as well as a lineup of them from within unity setup as a paintable item. Currently it is sitting as a plain/completely paintable object, but it would be easy enough to add prints, trims, patterning etc for increased variation of we decided to go that way.




After a short break through the christmas/new years period I’ve been back working on ItemV2.
I started the week off trying some melee experiments but quickly ran into issues trying to get animation driven mechanics working and determined it would require too much refactoring so it’s been put on the backburner for now.
Instead I’ve moved back into implementing the rest of the item mechanics for ItemV2, starting with item transitions. Transitions make items transform into other items under the correct conditions. Currently we use this to smelt ores and cook food but it doesn’t need to be tied to temperature, it can reference any stat type and you can turn off the DestroySelf flag to keep the original item. This could allow you to make something like a chicken that lays eggs whenever you’re hungry. Here’s how the setup for a raw steak looks to give an idea on how it works.


Next I implemented consumable items allowing them to modify any stat and add or remove any binary effect (eg. burning, freezing etc.). Here’s the setup for a frozen raw steak giving some nutrition and freezing you at the same time.


Next up was getting crafting working again, recipe lists are now serialized objects and crafting machines (like the workbench) can take any number of recipe lists. This allows us to easily setup new crafting machines so we don’t have to cram everything into the workbench and also allows modders to rebalance crafting costs or create whole new crafting machines themselves. Something like a vehicle crafting station would be easy to implement. Here’s an arrow recipe from the workbench.


I also started getting resource nodes working again as well as getting the spear throw working but these still have some bugs left for me to squash this week.
Also this week I’ll be working on getting a customisation window working that will allow you to pick between the different character models and hair styles Gavku has been working on so you should be seeing that show up in the deathmatch soon.


Back into the action today after a relaxing break, and have been looking at the feedback from this weeks ItemV2 deathmatch tests, along with getting upto speed with the rest of the crew and planning our push towards ItemV2.

I’ve also started experimenting with a new item icon renderer that works at realtime based on the mesh data instead of a custom designed icon. We sort of need this considering the amount of customization we are going to add to items, no 2 items will look the same, we want our icons to show it properly.

I also created a combined ItemV2 and Master build on steam and pushed it to the default branch with different launch options, so you can now launch the latest ItemV2 build without ever switching branches. Simply launch the game as usual and select “Launch ItemV2 Experimental” in the dialog.

Let me know in the ItemV2 feedback forum if you have issues launching the Experimental branch from OSX or Linux.