Friday Devblog 6

Hello Kines and Kindreds, this is going to be a rather traditional and short development blog, mainly discussing about the more transparent work. As a short reminder, things are still picking up slowly on my end, from the incident last week, so I do apologize for any lack of real content.
 

Level design

Getting the maps converted from Source to Unity is no simple task, it requires a lot of reworking off the original map layout. However they allow far more control over them in Unity, and here is it why. 

The maps are converted from Source BSP file to VMF, which can be read by Hammer and various plugins and tools, such as Wall Worm Model Tools for 3ds Max, Valve Maya Tools for Maya, and VMF Loader for Unity. These allow you to import the entire map into the scene, with full props and other models intact. Sounds all good right? Not exactly. It’s always good to see them working all together, but in order to export them, first you’d have to split them up in smaller chunks. One great thing about it is that Unity is able to split them at the importing process, however it’s not modular and it doesn’t have quite the reusability you’d like.
 
I usually split the map parts in Hammer since I’m most comfortable with it, but you can also get them done within Maya or other modeling software, just don’t forget to set the origins for them individually and combine them. You’ll thank me later.
 
This is what it usually looks like in Hammer, plain and simple. Being heavily based on BSP is quite a set back for today’s way of handling contents. Sometimes it’s best to remake everything from scratch, which is what we’d like the most, but it’s not really an option as of yet.
Hammer Screenshot
Here is where I spend a lot of time to fine tune various parts of the map, set up pivot points and further.
Dragon map in Maya
This is the ported map in FBX, all textured and light map set up. Everything from this point have to be done manually, if we want to ensure modality in the future, which we would definitely want to. It’s going to follow up the similar modding as in Source, being able to add new mesh or NPC from the editor, along with setting custom properties.
Dragon Map in Unity
Because maps are actually models now, they can be easily toggled on and off on various occasion, and allow a whole lot more dynamic editing to the map than before. We can have Unity to load a map while we’re playing another, which is going to be very useful for the hub maps, since we’re unable to get all the inner maps to fit in, but we are able to make the transition as minimal as possible. Furthermore, this is going a great feature for Storyteller mode and multiplayer altogether because they allow the players to move between maps without the host having the need to change the maps manually or have everyone playing on their server to be forced to be moved into that map.
 

Draw calls

Draw calls is something you’d definitely want to keep your eyes on if you want to provide the best performance to almost any system. Especially for mobile games, but not limited to. Draw Calls are the number of GPU (graphic processing unit) calls the engine needs to make to render all the objects in your scene. In short this means for every unique texture, material(the component that renders the texture on the object) and object the GPU must make another call. These calls can add up and if there are to many the game will slow down in order to keep pace with the GPU. In other words if you have more Draw Calls then your technology can handle your frame per second will slow.
 
We usually reduce the draw calls by merging the building walls and anything that is most likely to be static, while also providing a more dynamic way to reduce them for meshes that share the same data, mostly combining them on the fly. This is one way to do it, but you’d definitely want to keep them to a minimum for best performance.
 

Disciplines

And another set of fantastic work from our one and only Teemu. Here are some concepts of various disciplines presented.
 
vaulderie_discipline_concept_1
vaulderie_discipline_concept_2
vaulderie_discipline_concept_3
vaulderie_discipline_concept_4
vaulderie_discipline_concept_5

Decal Concepts

I always thought that the decals such as signs and posters you see in Bloodlines were, as with many other textures, low quality and blurry, sometimes almost hard to read. We always thought there’s a simple philosophy about remaking textures, and that sometimes in order to preserve something, you have to make compromises: make something new.
And decals aren’t an exception here, because they can truly breath some life in the scene, even for a ghost town like Santa Monica.
 
Here are some flavors of Santa Monica signs and posters by, you’ve guessed it, Teemu.
Signs and Posters v2
 

Weapon system

The weapon system is getting quite an amazing set of work done, currently experimenting with view models for first person camera. Since this is usually an issue with most FPS games done in Unity, finding the right formula will take some various tinkering to do. There’s always a way to use a separate camera for the view model and pass only the view model data but that’s too clunky since it doesn’t get affected by the outer world as it should.
 
Also testing some various ways to play all animations for the different hand models, right now we’re using legacy animations since they work best for our needs right now: Photon. Since Mecanim still has some overhead for animations with Mecanim, any animation and mesh we use are set to use the legacy animation system to reduce overheads as much as possible.
 

Toolsets

I’ve been working on a new tool that allows anyone to extract the textures and models easily, based on VAMPTools. There are still some issues that I’d like to sort out first, such as several bone data, but the texture converter is pretty much done and will be released sometime early on this weekend, along with an interface for easier usage.
 

Summary

While things are picking up rather slow from my end, there has been some share of work that I’m yet to show, but since Summer has gotten most of the team productivity will be limited from my end too, will be away during next week for a small Summer vacation. But don’t worry guys, things will pick up at a much faster rate once we’ll back from our Summer vacation.