Demo development update

This is Jason with a long[ish] update on our progress towards demos. We have been hard at work getting a demo ready. I wanted to give everyone a feel for what it’s like to develop a game with a small team.

AI 

Shipping a demo with combat requires the AI to behave in a reasonable way. Up to this point they have been heavily scripted, but to make a more interactive demo we have accelerated implementing a few things related to perception and reaction to threats. 

  • We now simulate “a quick glance”. If a character hears a noise and the source of the noise is in their line of sight but not field of view, they now have a chance to also visually detect and evaluate the source. 
  • We revised “contact tracking”. Previously the fog of war system was too aggressive hiding characters within the line of sight but out of field of view. Now you can track due to sound and neutral and friendly contacts are retained for longer. 
  • NPC AI now has separate tactics and actions. This allows them to return to their previous actions when interrupted and make better choices about when to take an interrupt vs continue what they were doing. 
  • AI commands can now be issued from the dialog scripting language. This was a temporary regression from switching to the new dialog editing software. 
  • Changed vision markers to appear if any party member has contact with enemy, not just selected character. 

Dialog 

Alex has been entering all the dialog for the demo and initial levels. This has exposed a few issues during testing and we have been fixing those as they pop up. 

  • Scripts can now be attached to any dialog node. Previously they only worked on player answers. 
  • Added support for N-way conversations. Previously dialogs could only be between the player and one NPC. 
  • Some sequences would cause the wrong portrait to be displayed in the chat. This has been fixed. 
  • Added scripting command to make a NPC face an object. 
  • Added scripting command to play a specific animation. 
  • Added item list to instruction nodes to allow item transfers between NPCs and player inventory. 
  • Characters now play a conversation animation while talking. 
  • [todo] Add sorting option to answers Fixed bug where NPC could interrupt an existing chat to start a new one. 

Objectives 

The game has always had a plan to present the player with specific mission objectives. We decided to pull this in [schedule wise] for the demo. So about three days ago I started implementing the objective screen. 

  • Implemented an Objectives tab in the character screen. 
  • Added a place to edit the objective list in the UE4 level editor. 
  • Linked the text descriptions to the description objects in the dialog editor. 
  • Added C++ code to track progress of objectives. 
  • Added C++ code to display objective state changes (complete or failed) to player log. 
  • Added objectives to test map and played though. 
  • Fixed bugs resulting from above additions. 
  • [todo] UI cleanup of objectives screen. Display check or X for pass and fail. 

Maps 

Alex has also been cleaning up the base map for the demo. We should have done this one earlier because the improvement in graphical quality have been huge. 

  • Review post-processing settings for map. 
  • Reviewed lighting on map. Added descriptions to items, which will appear in-game as tool tips if you hover over an item. 
  • Fix some material issues where the materials were too metallic (too reflective). Floors are never clean enough to behave like a perfect mirror. 
  • Fixed window transparency to work with the fog of war. 
  • Added AI paths and tasks to NPCs on base map. 
  • Added lots of environmental items to make the map look more like a real office environment. 

Misc 

  • Fixed bug where weapons could fire in a wrong mode if the player used the default mode. 
  • Added contact counts to character portraits, showing how many friendly, neutral, and enemy NPCs a character perceives. 
  • Fixed bug with NPC movement that would sometimes use the wrong movement speed (e.g. walk instead of run). 
  • Fixed bug where movement animation would not stop when a character finished following another character. 
  • Moved item descriptions from in-game editor to external tool to support localization. And yes, we hope to have the resources to localize the game. 
  • Fixed character names getting corrupted in event log. 

I hope this gives everyone an idea what two weeks of development here at Shy Snake look like. We operate at a higher than normal velocity and want our backers to know about the progress we’ve made. 

Calling all reviewers

We’ve been working hard to create our first playable demo which we can share with the world. Well, primarily with reviewers, who can help get Spy DNA in front of 3rd person strategy games players.

The demo will consist of two levels, one to show off the RPG side of the game, with things like dialog and the tutorial, and the other level will focus on combat. Set in a remote location, the player will lead a party of three to infiltrate an enemy camp and claim artifacts and intelligence.

Keep in mind, that what we’ll be sharing is going to be a pre-alpha, very early demo, but if that is not a deal-breaker for you, go ahead and fill in this form so we can contact you when the demo is ready.


Demos!

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 pledgesharing our project on social media, or be daring and do both!

Development update from Jason.

We continue to be very busy here trying to get as much done as possible while we are live on Kickstarter. The current task is to get some demos ready. We are working on two different demo levels. One for the intro to the game and some of its RPG aspects, and a second for combat.

The intro level is the first level of the game after character creation. This is where you can walk around the base, meet the staff, and get a feel for the RPG aspects of the game. Alex has entered the dialog for the level and I just finished integration of the new system. Previously we were using a custom dialog solution we created ourselves. We switched to Articy:draft, because Articy makes it much easier to visualize the flow of the dialogs vs the purely text-based solution that we were using.

For combat we are using a test level that isn’t part of the game. We didn’t want to delay a proper combat demo until some of the later maps were finished, so we purchased a military base off the unreal market. Then we filled it in with some NPCs and objectives and re-worked some lighting. The map is serving a few purposes:

  1. AI development. We wanted to quickly create a believable map where the AI could be tested and developed.
  2. Large battle playtesting. The previous map didn’t provide a place where the party could really use long range weapons.
  3. A demo!

We don’t have an exact ETA for when these will be ready, though our goal is to finish them while the Kickstarter is still active. 

If you are a journalist or reviewer interested in a demo, let us know.

Putting the RP in RPG

Those of you following our updates closely may have wondered just how much story and actual role-playing will we have in Spy DNA. Well, wonder no more.

We just purchased a dialog/script tool that will allow us to both visualize the existing dialog branches and stories, and to integrate them with the game. The tool is called Articy:draft, and so far, we’ve been quite impressed with what it can do.

Aside from offering a handy way to keep track of all the characters, locations, and dialog lines, the tool integrates with our existing source control (big plus!) and with Unreal Engine. Once we’ve got that configured, we’ll be able to assign dialog directly to the characters, wherever they pop up in the game.

As is the Shy Snake tradition, we’re already planning some custom work in order to have the dialog have effect on NPC disposition and story line, and vice versa, have character skills and attributes as well as prior actions result in more (or fewer) dialog options when talking to NPCs.

Right now, I’m busy migrating the existing script from the ODS file into the Articy tool, and what I’m discovering is that the visualization makes it very clear where more dialog options can be added. Conversations without any branches or with only very few ones become immediately apparent once you lay them out like a flow chart.

So once all the dialog is in, I’ll be taking a second pass over it, adding more branches and optional outcomes, to make the role-playing aspect of the game match the combat in complexity and richness. How will I do it?

NPC disposition
Depending on where your behavior falls on the scary to nice spectrum, the NPCs you’re interacting with will like you more or less. The more they like you, the more information they will share, and the more readily will they comply with your requests. Not to say that you always have to be Miss Manners, because some NPCs may need scaring before they become cooperative, such as the baddies you take prisoner.

Skills and attributes
When you are talking with NPCs, you’ll find that your attributes and skills influence your dialog options as well as how convincing your character will be saying those lines. Going with your character’s strengths will mean having more successful conversations.

Going against your character’s “nature” may result in humorously bad outcomes. Not every character will be a natural at diplomacy and negotiation, so you can imagine that some conversations may not go as planned.

History
Things that your character already knows or places they’ve been will influence what dialog options they’ll have when talking to NPCs. Same goes for previous actions and acquired items.

All in all, my goal is to write enough dialog branches that you will not be able to explore them all in one play-through. You’ll have to create different characters and play a couple times to discover all the dialog options.

What do you like (or dislike) about dialog and story in games? When you play, do you try to exhaust every dialog branch or do you just click through the bare minimum so you can get back to fighting? Tell us below in the comments!

We were interviewed by One Angry Gamer blog

It’s not often in games that we get to play as bona fide spies. It’s even rarer that we get sandbox games that rely on stealth mechanics and espionage. In fact, the sub-genre is defined mostly by two series, Splinter Cell and Metal Gear Solid. Well, if things go well for the Kickstarter from Alex Maier and Jason Sams from Shy Snake Games, we could be adding another game to the list of turn-based, stealth-oriented espionage titles.

The name of the game is Spy DNA and it’s currently seeking funds on Kickstarter. The game sees players being put in charge of a squad of super spies, with the leader of the squad being the player’s own created character.

Spy DNA takes place in the not too distant future, and the game will feature more than 20 hours of gameplay with a variety of missions and locations to visit. I had an opportunity to pick the brains of Alex and Jason about their upcoming project, asking about the what makes this turn-based, sandbox, RPG different from other games out there as well as what you can expect from the actual gameplay. You can check out the Q&A below or learn more by checking out the game’s Kickstarter page.


One Angry Gamer: First up, I think the one thing that stands out the most about the Spy DNA project is the fact that you are a husband and wife team working on the game. Is this your first project together or have you been working on games together previous to Spy DNA?

Alex: This is our first game project together, but not the first time we’ve built something as a team. We work very well together. After seeing the film “Oblivion” our inside joke is that we’re an effective team.

Read the rest of the article on oneangrygamer.net

Kickstarter update 4: Stealth

Update from Jason

It’s been a busy week here at Shy Snake.  We just pushed the update to move Spy DNA to Unreal 4.12.  We were waiting until our demo at AFK was complete so as to not break anything right before it was time to show.

I’ve been 100% focused on AI.  One big part of AI is making the system respect stealth.  In Spy DNA we have a system that gives each character attributes for senses.  These, combined with the characters skills, will determine how likely a character is to detect a player.  

Sound:

Everything a player does can generate a noise.  Some things such as sneaking are quiet, while firing a gun would be loud.  The sounds will dissipate over distance and with obstacles.  The sound strength when it reaches the character is used to make a check against the character's ability to determine if they hear it.  If they do then they may react.  For the players, when your character hears a sound, we add a symbol with an arrow to indicate the direction of the sound. 

Sight:

Sight in Spy DNA serves two purposes.  First is to detect a character.  The second is to evaluate the character.  Being a spy will often place you in locations where you will not be overtly carrying weapons.  This means that in an area mixed with friendlies, enemies, and civilians, an enemy would both have to see you and then decide you are a threat.  This means checks against their ability to spot hidden weapons, provided you don’t have a rocket launcher on your back.  Anything in your inventory that could blow your cover is a risk for detection even if it’s not equipped.  Obviously not having something equipped does make it harder for them to detect it.  This creates an incentive to carry light and concealable weapons on many missions. 

The sight AI includes a cone of vision so the enemies have to look in the correct direction to see you. If they hear a noise they will turn to look, provided they're not doing something more important already. The AI also ranks everything it sees in terms of “potential threat.”  A civilian going about their normal business would register near zero.  One running and screaming would start to move the needle.

Smell:

This isn’t really used to detect enemies, but rather hazards.  Gas leak, smoke, or a specific perfume could all be clues or hazards.  


Alex has also been busy.  While I have been implementing stealth, she has been working to de-stealth Spy DNA and make sure the fans of thoughtful tactical games know about us.  If you know anyone that would be interested in Spy DNA, please give her a hand in getting the word out.

 

Kickstarter update 3: Homebrew arcade

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 pledgesharing our project on social media, or be daring and do both!

Yesterday we went to demo Spy DNA at the Homebrew Arcade event. The demo day was held at the AFK lounge in downtown San Jose.

We’ve had a great time showing off the progress we’ve made with Spy DNA, and watching people take it for a spin. It’s really exciting to share the project we’ve been working on for over a year with like-minded gamers who enjoy strategy RPGs.

Thank you everyone who stopped by, and special thanks to Terry and Angelo who made it all happen!

 

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.