Jump to content
  • entries
    10
  • comments
    27
  • views
    10289

Improving Interrupts

Ed Welch

1203 views

Most squad based games have an interrupt feature that works as follows:

  • During your turn you can arrange it that some of your soldiers don't use up all their action points - leaving enough APs for a "reflex shot" and  facing them in the direction of the expected enemy assault.
  • Then during the enemy's turn, if an enemy soldier moves within the range of you soldier it may, or may not trigger an "interrupt".
  • If the interrupt triggers, then the enemy's turn is interrupted and it becomes your turn temporally, you can shoot at the enemy, or do any other action until your APs run out, then the enemy's turn continues.

The problem with this is that the interrupt only triggers, based on a random throw of the die (that is for the case of the original X-Com game and Jagged Alliance 2). When you position your soldier for the interrupt, you are putting him in a vulnerable position and if the interrupt doesn't happen (because the random die throw), then your soldier is almost certainly going to get pummelled.

For that reason when I was playing X-Com, I almost never tried to get interrupts, because I didn't like the idea of my soldier randomly getting shot to pieces based on a die throw that was completely unpredictable.

So, for Merc Tactics I have being working on ways of "solving" this problem. This is how it works:

  • There is no die throw, instead there is a "counter" which starts at number depending on the soldiers interrupt skill.
  • During the enemies turn each time an enemy moves within the soldiers arc of fire the counter goes down by one. When the counter reaches "0" the interrupt is triggered.

In the screen shot below, for example, you see an arc of fire drawn on the ground with the number "3". 3 is the number of times that the enemy can move within that arc before the interrupt is triggered.

interrupt1.jpg.4b3c65c33643ca752470e6edb11da055.jpg

Now the interrupt is triggered:

interrupt2.jpg.fa55141a978bab9fad1f6df355ce08c4.jpg

Once the soldier shoots or moves the counter goes back to the original setting, otherwise it holds it's value. So, if the counter didn't hit zero in the first turn, you could keep the soldier where he is and try to get the interrupt in the second turn.

This scheme removes the random element and provides feedback to the player, so they always know the likelihood of an interrupt occurring.



3 Comments


Recommended Comments

Nice, yeah, the problem with the X-coms, Jagged Aliance, and Xenonauts was always the complete lack of knowledge.  Even a percentage chance being displayed would've been better than nothing.  XCOM, the remake, swapped it to always happening, but only once, and every single person would respond at once, making it mostly useless.  (Especially combined with it's lack of unit facings)

Your method sounds fairly clever.  Is it the number of action points spent, or the number of tiles moved?  I could see advantages in both methods.

Share this comment


Link to comment

Any action taken (moving one square, or taking a shot) reduces the counter by one.

Share this comment


Link to comment
On 8/1/2017 at 10:23 AM, ferrous said:

Nice, yeah, the problem with the X-coms, Jagged Aliance, and Xenonauts was always the complete lack of knowledge.  Even a percentage chance being displayed would've been better than nothing.  XCOM, the remake, swapped it to always happening, but only once, and every single person would respond at once, making it mostly useless.  (Especially combined with it's lack of unit facings)

Your method sounds fairly clever.  Is it the number of action points spent, or the number of tiles moved?  I could see advantages in both methods.

XCOM2 has much improved on it, if you haven't played it. When taking the overwatch shots, they track the damage to each unit and if one unit has taken enough damage to die, they direct the following shots at the next nearby unit if there is one or do nothing so no ammo/perks are used during that time.

Edited by noamw

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By Erik Nivala
      Hello everyone,
      I have been programming games for about 3 years now mostly in Unity/C# (alot of my knowledge comes from youtube tuts) and now i feel kinda stuck and don't really know what i should learn/improve. My goal is it to get a job as a Gameplay programmer and i feel like a big problem is the code structure. So i was wondering whats a good way to improve that ( where can i learn good practices and code structure). Are there any good open source projects that i can look at and learn from? Since it doesn't really help if i just look up random open source projects since i won't really know if they are good examples.
      Also maybe someone has some good advice because i want to make games and want to make games with other people but every hobby project i join ends up abandoned.
       
      Thanks for any answers.
       
       
    • By LukeCassa005
      I'm writing a rendering system for our in-house game engine. My idea at first was to include only a Vulkan backend,but then Apple refused to port vulkan to MacOs and Microsoft relased their DXR raytracing for DirectX12. There is stil Radeon Rays for vulkan, but DXR is directly integrated with the graphic API. So we were thinking of a multiple backend rendering system with Vulkan for windows and Linux, Directx12 for Windows and Metal2 for MacOs. But this system would lead to an incredible amount of code to write than a single API, so my questions were:
      Should we stick to a Vulkan and maybe use a translation layer like MolteVk to port it to macOs ? Is it worth tl write the multiple APIs renderer ? Should we write a different renderer for each platform and then ship separate executables ? (Sorry for possibly bad English 😁)
    • By Pancake Studios
      Hello guys,
      My name is Quinn and I'm new to the forums here.
      I've made my first game for android, google play and I would love to get some HONEST feedback! 😃
      Spooky Driver is a car racing game and it's the intention to pass as many cars as you can without crashing.
      Here is the link to my game on the google play store:
      https://play.google.com/store/apps/details?id=com.PancakeStudios.SpookyDriver
      Features:
      ★ NO annoying banners!
      ★ 100+ cool cars to choose from!
      ★ Play to gain new awesome cars and medals!
      ★ Three themes (forest, street and sea).
      ★ Top ten ONLINE highscores! 🙈🙉
      ScreenShots:
    • By Armando Alonso
      This is a game concept i made for the gmtk game jam over the weekend, check it out here: https://piranha305.itch.io/kingdom-battle, is this a game idea i should keep pursuing, right now in it's current version it's pretty basic, but it could be expanded on with more unit types and a multiplayer system, but i don't know if i should invest the effort? also right now the art it's using if from kenny.nl assets, but i'm im gonna roll with the idea, i'll probably get the art remade.       
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!