New demo update

We hit an important milestone a few days ago: Now we can play missions all the way though, which starts when a mission is generated at the base, continues to mission planning, infiltration and team selection, mission execution, and finally, return to base.

Here’s a video we made of the full mission sequence all the way through successful completion.

At this point, the development here at Shy Snake has shifted gears towards stabilizing and polishing the release. Here is a quick list of the top issues resolved this month:

1: Added grass and ground cover to generated maps
2: Addressed performance issues with having lots of trees on a map
3: Added the mini-map in the HUD (For the body-cam fans, don’t fret, it is still available)
4: Fog of war visualization on the map
5: Viewing characters when obstructed by building walls or roof
6: Loading times optimization

We’ve been optimizing our development for the end goal of shipping the Spy DNA game. So we have often delayed or skipped short-term objectives if they didn’t help to get us to the end goal. As a result we are a bit behind on the playtest, but pretty much on schedule for the demo and early access.

BugTrackerCapture.PNG

Here’s a view of our internal bug tracker:

Let me explain what these milestones mean to us.

First playtest:
At this point we feel the game is mechanically complete. The core player experience is in place and should give the player a good representation of what to expect in the final product.

First demo:
Everything in the playtest with more mission and character progression. Save/Load must be robust and the base fully functional.

Early access:
Everything in the demo plus access to the full party. The first chapter of the story line has to be playable and several side quests need to be finished. A lot of the bugs in the 0.4 bucket are not necessary for 0.4, we just haven’t created the 0.5 bucket yet.

During early access we will be adding content and polishing the animation and AI systems along with fixing any issues that come up.

We had a few bloopers getting ready to record the video. In one case, I wanted to make sure when a character went down they dropped their weapon. But I forgot to mark the weapon dropped in one case and this happened.

Then while recording the playthough a few missions failed painfully early.

2018-09-01-karstens-nightmare.png

So with that I will leave it, and please enjoy the first public video of a full mission playthrough.

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.

2017-05-01.png

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. 


 

Demo prep

We are getting ready for the demo. Today we made a new video from the latest build. This is the first time we’ve shown a play-though from character creation to combat. We’ve been focused on playability over the last few weeks, so we’re fixing lots and lots of smaller issues.

The big task was working through issues with load and save of games. Because the demo takes you through character creation before you can start taking sample missions, we wanted players to be able to save a character they generated. We also implemented a loading screen while working on load game. We hope these additions make the demo more enjoyable for players.

Another significant change from our previous videos is an updated camera system. While watching people play, we found players used three camera positions frequently. So we added direct support for the most common camera uses. 

  • A low camera which shows things from the view of the character
  • A high camera which shows the tactical situation
  • A target camera which flies the camera over to the active target
  • And we still have “free” camera so the player can move it around as they desire

For the low and high camera they save the player's view height and angle so if you switch away and come back you won’t have to reset the camera each time.

We also implemented a compass; it shows which way the character is facing. More interestingly, we also added contact ticks to the compass. So you can see which way contacts are relative to your active character. Also you can click them to fly the camera over to any contact.

The map generation has been heavily tested and we have recently implemented a number of performance enhancements. Currently the large maps can strain some mid-range systems so we put some effort into improving performance. There is more to be done, but we got a very nice performance bump for the demo.

For the playable characters we doubled the number of commander appearances available for the demo. There are two male and two female commanders to choose from, each with their three outfits depending on mission. There will be many more for the shipping game.

The demo will also include default genetic enhancements for all the playable characters. You will get to see a small example of the enhancements in action. In the shipping game you will be able to select and choose how your commander is enhanced to mirror your play style.

We implemented new shaders for the trees, firing range, roof of the base, and a few other items. This was done to make them more friendly to the camera so they cut or blur away so you can continue to see the most important parts of the map.

The status screen has been updated to show not only injuries, but also attacks which were stopped by armor or implants. You can mouse over any hit and see the force and type of attack along with how much of it any armor you may have stopped. 

Movement was reviewed. and walk, jog, and sprint speeds were double checked for the demo. We spent a bit of time graphing the various movement speeds vs attributes. These are the base speeds with zero encumbrance.

 Walk speed graph

Walk speed graph

 Jog speed graph

Jog speed graph

 Sprint speed graph

Sprint speed graph

The jog (max sustained movement speed) graph is 3D because it’s based off both quickness and stamina. This was triggered when we picked up a few too many weapons at the firing range and unintentionally tested our encumbrance system.

Barring any unexpected problems we expect to have the demo out this month. Stay tuned!

Kickstarter update 2: Combat visualization

Folks, we're currently on Kickstarter, and sharing a lot of our updates there. We'll be also sharing the updates here for your convenience. If you haven't yet, help us by making a pledge, sharing our project on social media, or be daring and do both!

It’s been a busy week as we get ready for a live demo at Homebrew Arcade.

We’re focusing on improving the visualization of combat. Now it’s easier to see where the shots are going with trails on the 3D map. We also implemented cover and missed shot handling so it’s been a productive week. Missed shots means if you miss the intended target, we still track the shot in case you hit something else interesting. 

This also reminds me to briefly mention how cover works. We showed in the video how when a target is obscured it is grayed out to make clear what’s in and out of your line of sight. If you fire, and hit the cover, it’s actually treated as armor. So you really want to hide behind something solid. A concrete wall is good cover, a cardboard box, not so much. 

Here is a short video clip showing “missed” shots being used to effect. I forgot to remove the debug logging where I was fixing some hit location code this week so ignore the text on the left.

Next week will be focused on AI.

Combat in Spy DNA

This is Jason with an update on the Spy DNA combat system.  We’ve been making some graphics and demo videos for our Kickstarter pitch, and I thought we should share some of them with you. In today’s post, I’ll start with our new gunsight, that we use for aiming, and then move on to the combat system.

In Spy DNA we have put a lot of thought into making combat feel as real as we can.  One of the areas that’s often disappointing in games is the critically important mechanism you use to attack the enemy. 

Most games assign a character a simple chance to hit, usually modified by range and cover.  We use a full 3D world instead.  To avoid the problems, such as identifying obstacles and cover, when aiming in the  top-down view, we open a gunsight view when you pick a target.  

 Single shot firing sequence

Single shot firing sequence

The biggest thing we do differently is replace the “chance to hit” with “Circular error probable”.  The rings around your aim point represent the 50%, 90%, and 99% likelihood of your shot landing within those rings. 

You trade off time aiming for more accuracy in your shot.  You can adjust it to try to get the first shot off quickly, or take some time to make sure you hit. You can also adjust the number of shots, burst, or burst length.  

When using automatic fire, burst or full auto, recoil will reduce precision of later shots as recoil adds up.  For single shot and burst your character will re-aim so follow on shots meet the same accuracy requirement you set.

Our damage model is based on your weapon and where you hit the target, not on a random dice roll.  So you will be able to aim for weak spots in the armor or for vital parts of your target.  Cover is handled the same way.  The ability to move the target point around lets you aim for exposed parts of the target. 

Now let’s talk about how our combat system works. We call our system Concurrent Turn-Based.  I’ll explain what this means.  We differ from traditional turn-based games  in some important ways.  

Let me start with what we are trying to accomplish. 

  1. The player should have time to think and take in the battlefield and environment.  
  2. The moves available to the player should as close as possible mirror the options that  a real-life soldier would have.
  3. The results of actions should be be realistic.

After a lot of experimenting we have settled on a system where the game focuses on a character when it is their turn to start their next action.  So while combat is ongoing, the game engine cycles though characters as their turns come up.  In this way it feels like a traditional turn-based game.  There is one very important difference.  While the game is progressing to the next player turn, every character and object in the game moves.  

This was not a decision we took lightly.  We made this decision to avoid the time quantization problem that traditional turn-based games have.  Think of the frustration where near the end of the player turn you move a character and trip one or more enemies.  Now your character (or whole party) just sits there helpless while the enemy takes a turn (or full round) worth of actions.  This is a side effect of games trying to map combat to a mechanism that doesn’t exist on a battlefield.  

In Spy DNA we are trying a more direct simulation of the world.  The character that makes contact would actually have the initiative.  The characters that spots them would make a reaction time roll (based on their attributes and combat experience) to see how fast they can react.  Also because other characters in the player party may be mid-action, such as movement, you could cancel those long actions and give them a new task.

I made a short video where a character ambushes two unaware NPCs.  The action commands I give the game are:

  • Throw a grenade
  • Draw my pistol
  • Crouch
  • Aim and shoot to finish off the second target

About three seconds of game time actually elapses in this demo.

Compared to Turn Based games, we have two major differences.  The first is turns in Spy DNA are not uniform in size.  Turns come up as the character completes their previous command.  This means that fast actions such as firing a single shot will result in that character's turn coming up again quickly.  Slow actions such as moving a long distance will mean many other characters are likely to take their turns before coming back to that character. 

The second major difference is the turns progress concurrently, i.e. all at the same time.  So if you give a move order to one character, and a quick attack order to another,  each time the second character attacks you will see the first make some progress on their move order.  In effect, you will see time progress forward for everyone until one of your characters completes all the commands in their queue.

Should a character spot something needing your attention while they completing an command, the game will stop and focus on the character.  This allows you to react to things that come up mid action such as an enemy coming around a corner.  

I hope this gives everyone a feel for the type of gameplay we are trying to deliver.  

 

 

Gearing up for Kickstarter

As you may have heard us say once or twice, we’re getting ready for our Kickstarter campaign. Our goal is to launch it in a couple of weeks (so stay tuned!), when all the parts are ready.

What are all the parts?

Well, we’re updating the UI (see Jason’s post), and making the user experience better and clearer overall. We’re improving our game’s fog of war, and of course continuing to work on game levels and artificial intelligence (AI).

Then of course there’s the work on the campaign itself. Before we launch it, we need to define the funding goal so that it’s not too little, not too much, just right. Then there’s the stretch goals, which are things that we would like to include in the final game, but can do without, if we don’t exceed the funding goal by a sufficient amount. There’s some math involved, and also some inspired guesses.

Funding levels and associated rewards packages are also a big deal. We’re trying hard to find things that people will find appealing, and which we can realistically fulfill on schedule. I hope you like what we’ve got in stock for you!

And finally, there’s the Kickstarter video. You all know it, that’s the thing at the top that gives you the project pitch and explains the team’s motivations. We’ve been working on that too. And just like with the other stuff, it’s also not all that simple.

While we know what inspires us, and why we think our game is awesome, we could talk about it for hours. And we did, in front of a camera, actually. And then we had to cut all this footage down to five minutes. Ouch.

At this point, we have a pretty good approximation for what will go into the video, but we’re still finishing some of the demo footage, and looking for ways to make the video a bit snappier still.

So here we are, so close to launching our project on Kickstarter, and here's a little sneak peek for you.

Testing weapons at our virtual shooting range

As you've heard us say many times before: realism in combat is going to be the calling card of our new game, Spy DNA.

Of course, this means that we need the weapons to be as realistic as possible, so we built a kilometer-long virtual shooting range to test them in the world of our game. We brought some pistols and rifles to try out, and took some screen captions for your enjoyment.

To dial in the weapons, we used real-world data from target shooting competitions. For example, the current record holder at 1000 yards is Tom Sarver, who shot a 1.403 inch 5-shot group in 2007. So we took his group size for a base line when writing the code that determines where the bullets land at a given distance.

Tell us what you think in the comments!

The Crolimax report: December 2015

December is usually the time to kick back and slow down for the holidays, but not here at Shy Snake! We’ve been busy building Spy DNA, making new levels, models, and character behaviors.

In the weeks since our last update, we’ve focused on finishing the first draft of the game “screenplay,” AI, realistic damage, and additional weapons and forms of combat.

Story

As of today, we’ve cleared a major milestone: the first complete draft of the game script is finished!

  Screen capture from a demo level

Screen capture from a demo level

What does this mean? That we’ve got the entire story arc outlined and every level that moves the story forward described in detail, with character dialogue and different action options.

The script is a little over 31,000 words long, and 190 pages at this point. We’ve got the game spanning four chapters, each chapter about fifteen levels long:

  1. Character creation and background
  2. Game premise introduction
  3. Investigation and pursuit of the bad guys
  4. Escalation to final boss fight

The game is focused around the protagonist (the character that you create and play throughout the game) uncovering an espionage plot and pursuing the evil guys across the world to prevent classified tech from falling into the hands of a rogue government.

As the story develops, complexity and battle intensity grow to continue challenging the player while their skills and attributes grow.

We’d love to tell you much more about it, but we don’t want to spoil the game for you, so the last bit we’d like to share is that we expect the script to grow by at least another 50 percent or more as we add deeper dialog trees and extra side quests. We can’t wait to share the game with you!

Level design

The script has 45 levels in it, give or take, which cover the main storyline from start to finish, and this number will only continue to grow as we add side quests. Each of these levels is a detailed 3D map living in the world of Spy DNA fifty years in the future, with landscapes, buildings, cars, and of course people!

  Screen capture from the level design editor

Screen capture from the level design editor

Level design is what will take an enormous amount of time from today on, all the way to the beta release, after which we expect to focus on polish, and not add any more content.
If you wonder what level design looks like, here is a screen capture of Alex working on one of the early levels on the game, which takes place in an apartment complex.

The Crolimax secret base is going to be one of the maps that the player will return to after most missions, to both heal from any battle injuries as well as to receive intelligence reports and new genetic enhancements. This map is what we’ll be focusing on this week, before moving on to getting the character creation working. 

These three levels (character creation, Crolimax base, and the apartment complex) will become our first playable demo, which we’ll make available to a small group of players who we’ll look to for feedback and suggestions.

AI

A good Artificial Intelligence (AI) is critical if we want to make the game fun and challenging for players, whatever difficulty they choose. The AI will control both the enemies as well as neutral and friendly NPCs, and be able to adjust on the fly, based on the player’s actions and commands.

Getting the AI to do all the necessary things for the playable demo is another one of our main goals this month and next.

Combat

Of course, what would a strategy game be without combat? We’re getting to the point where we’re pretty happy with how our projectile weapons work, and are now switching gears to create a hand-to-hand combat system for those situations where you want to avoid attracting attention with gunfire, or just don’t want to shoot any civilians.

  The villains are driven by the in-game AI, which makes them act in response to player actions

The villains are driven by the in-game AI, which makes them act in response to player actions

On a side note, the grenades also work now, and you can see how that looks in the level design screen capture that’s linked above. Now that we have grenades, adding destructible objects to the game is our next priority, because seeing things blow up is half the fun in throwing a grenade, right?

All in all, we’re quite happy with the progress we’ve made this month, and are looking forward to sharing more with you next year.

Happy New Year from Shy Snake!