ui

Getting ready for Early Access

It’s been a heads-down month here getting ready for early access. I’ll talk about what we are doing to go from demo to a full game. The transition from demo to full game for us has been about adding progression and content. 

The first big change is the result of a mission now affects your game. You can now also train your team at the base. Wounded characters will need some time to heal at the base before they are available for future missions. We’ve implemented the save game system and made the full character roster available. It’s all pretty obvious stuff, but it still needed to get done. 

While on mission, a character can advance their skills by using them in the field. On the skills page you will now see a count of how many times that skill has been used. Each use will improve the skill. 

The amount of the improvement will depend on several factors. First, each skill has associated attributes which govern how well your character can learn the skill. These are separate, though possibly overlapping, from the attributes which bias the ability to use the skill. For example “mental motivation” is a factor in learning most skills, however, it is used in few skill checks. These determine the character’s learning rate modifier for that skill. 

In addition each skill has a base learn rate to adjust for skills that are used frequently vs rarely. For example we don’t want to penalize hacking and lockpicking progress just because there are fewer chances to use the skill. 

Back at the base, skill training is a passive activity. You can assign each character two skills (primary and secondary) to train. Then as each day passes, any characters at the base that are healthy, will train those skills. So characters that are not taken on missions will still be making progress. A character that is not healthy may still make some progress. For example, a broken leg will prevent training physical skills, but would allow the character to keep working on mental skills. 

Injury recovery is similar to training at the base. A character will survive a mission as long as they are alive at the point when the “end mission” screen is triggered. In theory we can simulate post-mission death due to injury, but that would be an opt-in for extreme difficulty. Because we track each injury a character suffers, we do healing per-injury. Different injuries can heal at different rates. As they recover, they will automatically resume training as their health allows.

In the case of non-fatal injury to the Commander, if one or more other characters are available, you will be able to designate an acting commanding officer to cover the Commander’s duties and lead the squad on missions until recovery. If no one is available, time will fast forward until the Commander recovers. 

For early access we also wanted to make the full character roster available. So in addition to Ivan, Karsten, Nuri, and Zoe from the demo, you will now have Alexey, Marguerite, Ronda, Shinichi, and Rustam. 

Saving and loading has been implemented. The game will now autosave after each mission at the base. For initial early access saving will be limited to while at base. We will implement saving while on mission later.

We also have been hard at work on the UI. We received a lot of feedback about the look and feel of the UI and have responded with some improvements. Functionally the location of the controls is largely unchanged. What we have done is softened the appearance of the buttons, borders, and dialogs, and replaced some of the radio buttons with icon based sliders that make it easier to visualize how the controls work together.

We published a video for those wanting to see more of the new UI.

One final change for realism and game ballance we’ve made, was to implement the penalties for attacking moving targets. Simply put, it’s harder to hit something that is moving than something that is still. The mechanic implements this is two ways. One, there is a penalty to the circular error probable (CEP) for any given aim time. Two, the moving target limits the amount of time that can be spent aiming. The strength of the penalty is based on how fast the target is crossing the character’s field of view and how far away they are.

The first batches of character voices have started to arrive. Each playable character will have an unique voice and persona which they will use to acknowledge your commands and give you status updates.

The last area of getting ready was the implementation of settings screens. We have made a pass over all the sound effects and broke them into channels so each can have its own volume control (music, ambient sounds, combat sound effects, player character voices). We have also started implementing the settings for difficulty and new game options. These will be exposed soon.

With all these changes, the core engine of Spy DNA is pretty much ready for early access. What we are finishing up now is getting enough of the missions ready that the game has some content to go with the engine. 


 

Spy DNA gets a UI update

Jason from Shy Snake here with some screenshots from our UI update. We’ve been working through our UI, going screen by screen, to make it easier on the eye. While doing this, we have kept our focus on presenting information clearly to the player.

First up the attribute screen. This posed a bit of a challenge for us because we have a larger than normal list of attributes. We chose to have many attributes, to give each character a unique feel. For example rather than simply making a “strong” character you can be quick, powerful, or have great stamina.

Each primary attribute has three sub-attributes within it, to give the character extra detail. For the players that don’t want to see this level of information you can simply look at the major groups that give you an overview.

Next up the inventory screen. Here we went with a pretty standard list of icons with numbers to designate stacks of items. Selecting any item will fill the right side with a description of the item.

In this screenshot you can see some details on one of the games weapons. I’m taking this as an opportunity to show the attention to detail we put into the weapons in this game. While the values are not final you can get an idea of what we are building. 

At the bottom of the inventory screen you can see how we track encumbrance. In this case the character is lightly loaded so the effect is minimal. No significant effect on walking speed but a minor one to sprinting. We talked at length about the mechanics in an earlier post but here you can see it in action.

We've worked hard to make these changes, and the work isn't quite done yet. Tell us in the comments what you think of these updates!

Development update: UI

We've been working hard on the UI for Spy DNA.  One of the challenges with creating realistic combat is how to present the many options that are immediately available to a real combatant in a simple and intuitive UI.

We recently did our first round of play testing.  The chance to observe people playing is very valuable to a developer. From this we made a list of UI interactions the players didn’t find obvious and have addressed each one.

One example of this is the action of changing equipment.  Watching people play a common pattern was to pause the game, go through inventory and find the weapon they wanted, then equip it.  Now because the game is timeline based this would generate an action to equip the weapon.  However, since the game was paused, it didn’t immediately appear equipped.  This created confusion.  So we now show the state at the end of all queued actions where appropriate.  

For interacting on the 3D map we moved from placing all the controls on the HUD to popping up context-sensitive controls where it makes sense.  Now you can quick-click an enemy to attack as before.  However, a long click will open up a menu with all the various attack options for the combination of attacking character and target. A quick click executes the default action as before.

The same applies to movement.  Clicking on the map selects the default movement speed.  If you hold down the left button for about half a second the speed options also appear. 

Some controls such as character selection and character state remain in the HUD.  The idea is the state of the currently selected character should always be visible and the common controls ready.