Meet the demo squad

Spy DNA public demo is almost ready and we wanted to introduce the playable characters which will be available for you to take for a spin.

First, the Commander (that would be you).

We have a male and a female Commander versions, which have three outfit modes, each with a unique load-out.

Male and female commander, fancy: P-60, armored clothing

Female Commander, field: R-45, Pb-25, light battle suit, 2x grenade

Male Commander, casual: P-60, P-19, armored clothing

At the beginning of the game, you will have a choice of going through character creation to get the Commander with the stats best suited to your play-style. In the shipping game, you'll also be able to play a ready-made version of Commander that we think will do well with the missions in the game.


Ivan Batts, call sign “Wolf”
During training, Ivan was found to have a far-above-average combination of strength, quickness, and dexterity. As he also passed the high-tech weapons test he was placed in a high-tech fire support role.

Upon his recruitment into Spy DNA squad, he chose to remain specialized in high-tech firearms. He’s notable for being the first soldier to use the new Magnetar line of gauss rifles in combat. 

In the field, he typically carries a RG-20 gauss rifle, with a heavy dart pistol as a backup sidearm. He usually wears light to medium armor. In a pinch he is comfortable using any and all weapons. Karsten often refers to Ivan as the team’s “glass cannon.”

Casual: P-70, armored clothing

In a covert setting Ivan has difficulty blending in due to his combat DNA enhancements. This is why he rarely goes on missions where early detection is a major concern. When he does, he typically carries a P-70 or Pa-19.

Quote: You avoid getting shot by shooting first, and repeating as needed.

Field: RG-20, light battle suit


Karsten Meyer, call sign “Bear”
Known for being both about as subtle as a wrecking ball and almost as durable, Karsten made a name for himself with his somewhat reckless approach to combat. This was considered a problem in his squad, which made him easy to recruit into the Spy DNA program.

With the appropriate genetic enhancements to match his style, Karsten is now considered an asset as a one-man army when staying covert is not a concern. Nuri enjoys his approach because while all the attention is on him, she can usually sneak around unnoticed.

His heavy armor implants, scars, and tendency for violence mean he is rarely taken on missions that are not high-intensity combat.

Field: R-70, heavy battle suit, 4x grenade

Casual: P-110, armored clothing

Karsten shies away from high-tech and just prefers big and loud guns. In the field, he typically carries a 7mm rifle, grenades, and the heaviest armor he can get his hands on. For a sidearm he carries an 11mm pistol. He claims no one would notice it under his jacket if the commander would let him tag along when casual outfits are needed. However, the team is dubious of this claim. 

Quote: I wear this armor because it turns out, if I’m in range, so is the enemy.

Nuri Tsoi, call sign “Eagle”
A former CIA spook, Nuri was recruited for her ability to get people to talk. She has a long list of techniques for getting what she needs. The CIA was getting concerned that she never showed remorse or trauma from actions in the field, but what they considered red flags, made Nuri catch the Agency’s eye as a valuable asset.

Upon recruitment and brain scan she was evaluated as having some psychopathic tendencies. Thankfully the parts of her brain responsible for loyalty were shown to be strongly functional. The enhancements she underwent were tailored to enhance her ability to manipulate others and increase awareness of her environment. She also underwent minor strength and armor upgrades that would not harm her ability to blend with normal humans.

Casual: P-60, armored clothing


Field: R-45, P-60, light battle suit

Fancy: P-60, armored clothing

Nuri rarely carries weapons heavier than a pistol. Typically you would find her with a small-caliber silenced pistol. That said, she is qualified with rifles and sub-machine guns.

In the field she has earned the nickname “Jane Bond” for her tendency to be invited home by the mark.

Quote: Yes I needed evening dresses in all of these colors. We didn’t yet know what the mark’s favorite was at that time. Just authorize the expense report honey. Do it for me :)

Zoe Komarova, call sign “Skeeter”
A former scout sniper, Zoe was very difficult for the Agency to recruit. Her unblemished record and 81 confirmed kills meant that her previous employer did not want to let her go, as she was considered to be elite at her trade.

Luckily, the Agency was able to make a compelling offer, and Zoe was able to take her trade to the next level with the genetic enhancements Dr. Crotalus synthesized for her. She worked with Ivan to get comfortable with the new gauss sniper rifles and is considered, without question, the best marksman at the Agency. 

Field: SRG-29, Pb-25, light battle suit

Casual: P-70, P-19, armored clothing

Unlike most of the team, Zoe is very fluid in the weapons she employs. While she considers close range the “unnecessary hazard”, she is a crack shot at any range, with pistols and assault rifles as well as sniper rifles. For extreme range engagements (1km or more) she typically takes the SR-100, a precision 10mm sniper rifle. However, when the range is merely “long” she prefers the gauss dart rifles (SRG-29 & SRG-20) which have lower recoil and allow for more rapid engagement of multiple targets.

Zoe has developed a strong dislike of the R-16 and R-20 which she refers to as “junk rifles” for their lack of accuracy.

Quote: What do you need me for? If it’s closer than 200m, even Karsten can hit that.

Realistic weapons in Spy DNA: How deep does this rabbit hole go?

As we’ve been known to say on more than one occasion, we want Spy DNA combat to feel very realistic, and by extension this means that the weapons also need to work like you’d expect them to in real life.

On one hand, weapons need to work realistically, in the sense that they should have a range and damage specifications similar to the ones in real life. Sniper rifles are best used at ranges over 100 meters (and we’ll make sure there are maps big enough for that to matter), and handguns are a good choice for concealed weapons or closed-quarters combat, where you’d have difficulty wielding a long-barreled assault rifle.

If you’ve been following us for a while, you know that that’s a given, and a premise of our whole game, really. When we set out to build Spy DNA, we wanted to provide the player with as realistic a combat simulation as possible, while still making it a game.

The main implication is that the realism makes for a slightly different set of perks and challenges than a typical shooter. We want for the player to be able to use the common sense and knowledge of how things work in the real world to navigate the game. Basically, if you think doing something would get you (or the opponent) hurt or killed in the real world, it should be the same in Spy DNA. Case in point, head shots. Best to avoid them. Or land them on your enemies.

Just like the real deal (P25 dart pistol)

But on top of that, the weapons also need to look the part. If we gave our soldiers guns that look like they’d be hard to get through an ordinary doorway, or were too heavy to even lift, the realism and the immersion go out the window. Don’t get me wrong folks, there ain’t a thing in the world wrong with games that do that, but it’s just not where we chose to take Spy DNA.

The little screen on the back shows ammo levels and other useful info to the shooter

So while designing the weapons, working together, Jason, Denis and I have been periodically taking a step back to check whether the weapon still looks usable, practical, and like something that you could imagine the military of 2075 using. You could overhear us having conversations about making sure that we don’t eject brass into the user’s face or hands, or make the shiny trim reveal the position of our sniper.

We put a lot of thought into the ammo feed position, grips, and how easy would it be to reload or unjam in a firefight, what accessories the owner may want to add and where, and so on. Denis put immense attention to detail into each weapon, and as a result we have game guns in which the sights align when you’re looking at them like you’d be aiming. The fact that it’s a 3rd person game where the player will most likely never see these little details doesn’t mean that we don’t pay attention to them.

Most weapons in our game will have a range of accessories/extensions such as scopes, sights, grips, bipods, and extended ammo clips that the player can choose to equip to add a touch of personalization to their kit.
If our Early Access really takes off, we should have the funds to make more customizable parts for the guns, including rare mods, color schemes, and accessories that can only be gained by completing certain missions.

Stay tuned for the announcement of our Greenlight campaign!

Procedural map generation in Spy DNA

by Jason Sams

It’s been a while since I wrote my last update. I’ve been hard at work on a few things. But as promised in the last update, today we will talk about mission maps.

We have the core of the map generation up and running. We have tested it generating maps from 128 meters square to 2 kilometers.  Map generation times are pretty good; just a few seconds in most cases.  

Procedural map of a wooded rural area with roads and trees

The maps are complete with bushes and trees. We are planning to add grass too, but that is a little harder to do without hurting performance, so it may not make our first Early Access release.

The size of the map will have a large effect on the time a mission takes to complete, and the general flow of a mission. For example, on a small 256 or 128 square meter map, there is no reason to bring any sniper weapons with you on a mission. Most of the regular rifles are “good enough” at those ranges while being much more useful up close.

Closer view of a procedural map, showing transition from sandy to grassy terrain

We understand our players will have a variety of play styles. So we will be adding an option to the settings to adjust the map size to larger or smaller to mirror what you enjoy most. This will apply a +1 or -1 to the map size settings. The supported map sizes are 128, 256, 512, 1024, and 2048 meters. At the default settings all missions will be on maps from 256 to 1024 meters. So applying the +1 would change that to 512 to 2048. 

When you start a mission, you will be able to see all of the terrain. We assume that in the future you'll still have satellites and drones to recon the area before you deploy. Hidden or movable items such as enemy patrols will be hidden by the fog of war until a team member manages to spot them. Once spotted, they will be marked on the map. If you lose contact, the marker will remain at the last position a team member saw them.

With the upcoming demo we will be using the procedural maps to allow the player to generate skirmishes. We want everyone to have a chance to try out our unique combat system and get a feel for the game.

Behind the scenes: How are Spy DNA weapons made?

Hey everyone, and welcome to the second part of our introduction to the workflow for creating the assets. If you haven't read the post about who I am, you can check it out first. Today I wanted to talk about my process for creating the assault rifle for Spy DNA.

Conceptualizing the weapon

The first thing that needs to be done before any actual modeling is the concept. This phase of the project is quite important as it will set the dynamic of the work follows.

Another very important thing when creating a model that doesn't exist in real life is to make it appear functional.

Creating the concept for this weapon started with the basic choice of ammunition feed system. For this gun we chose a bullpup design, which means the clip feed is integrated in the stock.

The next thing that was to provide places for the attachments, such as scope, holo-sights, etc. This meant we would be using threaded rails on the gun for the actual attachments.

Modeling the weapon

So now that we have the concept, or the guidelines for our weapon we can proceed to the modeling phase. This is the phase in which we need to be careful on how our concept will come together. Also this is where we need to make our model scale be in line with a realistic model. The reason why this is important is because we want to make sure the weapon animates well in-game, and that the characters using it will look good doing so.

For the actual modeling I used 3ds Max, and basic polygon modeling techniques. The main goal here was to keep the design guidelines in mind and make it into a complete weapon. After a few different versions and going through a few failed designs I ended up with a base model that the team and myself were happy with.

Now that the basic shape was achieved it was time to add in the fine details like little screws, bolts, rivets, threads and the barrel threading. Once all of this is done, we basically have the high polygon count (high-poly) model for our game.

If you are curious as to how all this works, go ahead and check out my YouTube channel.

Getting the model game-ready

Once we have the high-poly model, we need to make a game-ready (low-poly) model. The process of creating a low-poly model of an existing high-poly model is called retopology.

This is one of the more time-consuming parts of the asset creation. Here you basically need to make the 3D model that can be used in the game engine. This means that you will have a polygon budget that will limit how much detail you can put in your model. If you aren't careful of your budget, you can end up putting a strain on the player's computer, and their framerate will drop, and nobody likes that.

This is how the low-poly model of the SR100 looks underneath the textures.

For this project I did most of my retopology in 3ds Max, but I also used Topogun and 3d Coat. When you're done, you get a low-poly model that has the basic shape, but not the surface details of the high-poly model. Next, we'll need to unwrap it so we can apply textures.

Texturing the model

Once we have an unwrapped model, we can continue to the texturing phase. In this phase first we bake the surface details from the high poly to the game model. This way in the game the weapon will look as if it still had all the little screws, buckles, etc., even though the low-poly model has none of that. 

After this is done we go with the actual application of the materials. I used Substance Painter which is an application for texturing to do the textures for the weapon. With the model done, unwrapped and textured we have the finished model that will be used in the game.

What's next?

If you're still with me, then you were able to get a little taste of what it takes to create a game asset from start to finish.

As we make progress developing Spy DNA, we'll be making more posts like these, so you can look over our shoulders in a way. You will get to hear from the other team members, each talking about their aspects of creating this game.

So for today that would be all from me, and remember to come back and check on our progress often!

-- Denis Keman

Introducing Spy DNA 3D artist

This is a post written by our talented 3D artist Denis Keman. We'll be publishing a series of posts by Denis, which will cover his creative process, and provide insight into how game models are made.

Who am I ?

Hey everybody, my name is Denis Keman. I am a 3D modeler and a 3d generalist. My YouTube channel (Denis Keman - "very creative i know") is all about 3d modeling. I was lucky enough to get a chance to work on the upcoming game Spy DNA. I was hooked on this project because of the old “Jagged Alliance” feel that it had. Then I met the awesome team at Shy Snake Games and we just hit it off instantly. 

Now with that short intro out of the way, i would like to tell you a bit about my workflow. And what i use to do the things i do.

What do i use in my workflow ?

First things first, what you need to know is that 3D work is basically art. To understand it, you need to know the tools that were used. 

In the field of 3D modeling you have a wide array of different tools like Blender, Maya, Rhinoceros, Max etc. All of these are 3D modeling packages, and the one that I use is 3DS Max. I created the high poly and the low poly models in 3ds Max, and texturing was done with Substance Painter. 

If you are not a 3D modeler, you might ask what’s the difference between high and low poly model. Well it's basically two models with different levels of detail for the same thing. The idea is to get the high poly details onto the low poly model (the one you see in game). That way you get a good-looking model that doesn’t eat up all of your system resources when it’s rendered in-game. In order not to get too technical I will leave that for a future post.

The creative process

Getting from point A to point B is not always a straight line, especially in creative work. The first thing that needed to be modeled was the weapons that will be used in-game. The idea here wasn't to simply recreate an existing real-life weapon, but rather to design a unique one. 

The first custom design model was the P-15 handgun. This gun is compact, easy to conceal and carry around. That means that the frame in not bulky and has flowing lines. 

Another thing that i had to keep in mind was the fact that it didn't shoot conventional ammo. Instead it was shooting gun darts, which meant that the barrel had to be different from a conventional firearm. 

Another thing that I had to put into the design was a screen at the back of the gun for showing the shooter their ammo status, firing mode, etc. After going through a few design iterations I ended up with the design you see below.

Summary

Since this is the first blog post from me, I would like to cut it short here. I hope it was fun, and that you enjoyed a glimpse into my design process. You should also have a better idea of what the process behind making a game model looks like now. Next time we will go over how the creation process goes for a different weapon. 

And if you would like to see a more technical look at things, leave a comment down below. Depending on what you’d like to know, I will do my best to explain it. 

For any information about the game hit us up on twitter @ShySnakeGames. And don't forget to share this around so more people can hear about Spy DNA. Remember folks, sharing is caring.

So that would be it for now. I will see you all next time.
-- Denis Keman

Base level preview

Wanting to take advantage of the great outdoors rendering capabilities of Lumberyard, we've "moved" the Spy DNA base to a small island, which can only be reached by sea or air. The island will also feature a helicopter landing pad and an extensive training facility for the Spy DNA agents to use between missions to hone their superhuman skills.

Here's a screenshot of the pier for you while we're working on the base level.

Spy DNA now has a Steam Greenlight Concept page

Folks, we've got some exciting news for you! Spy DNA now has its very own Steam Greenlight Concept page, where you can discuss it with other Steam users and provide your feedback to the team.

We watch the comments very closely and reply to questions and feedback as they come in.

So go ahead, visit Spy DNA on Steam and give us a thumbs up if you like what you see!

Animating with Lumberyard

We have been hard at work on animations and we finally have something to show. Getting to this point meant processing close to 400 animation clips (so far) and importing them into the engine. This is more than double the number we were previously using.

With Unreal we used in-place animation. What this means is our code would would move the character and select an animation to play when you give the character an order. While these activities were coordinated, they didn’t directly talk to each other. As a result you often get visual artifacts such as the characters feet slipping across the ground.

We chose in-place because it was proving difficult to get root motion working with the navigation system in Unreal. With Lumberyard we introduced our own motion controller that sits between the engine’s pathfinding code and the animation system. What this new motion controller does is turn the path into a series of animations that need to be played. 

So now we are generating a sequence of animations. What root motion means is each animation we play tells the engine how much the character moved that frame. Because the animation is now the source of both movement and animation the places where the character contacts the world such as their feet are much more effectively kept in sync.

Now, even this system has limits. For example when you start movement we choose between nine animations to start the movement [straight ahead, left 45,90,135,180, and right 45,90,135,180]. This means we still need to make a minor adjustment to the character's path. We also make small adjustments while the character is moving to keep them on the path. Generally these are small enough to not be noticeable.

Before we ship we will probably have close to 1000 animation clips. As you can imagine picking the right one to play in every case is really tricky. With Unreal this was managed by creating a state machine which selected which animation to play based on the state of a character. For us this proved very difficult to make robust. 

Lumberyard is driven by a database of animation tags. For example a tag state for the movement animation might be “stand”, “unarmed”, “jog”. When we ask the system to play an animation of type “move” it would search the database for an animation with the matching tags. This greatly reduced the work we had to do to manage the selection process.

Now it has not been all smooth sailing. Lumberyard makes it much more time consuming to import our animation clips.  As a result we have only imported the most important animations so far. The Lumberyard team are working on improving the import process, so we will return to this later, when they finish their new .FBX pipeline.

The end result is we are rapidly converging on shipping quality for the animation system. In the next development update we will talk in detail about how we do procedural map generation.