🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Depicting attack/spell ranges before movement?

Started by
4 comments, last by AaronWizardstar 7 years, 1 month ago

I'm making a tactics game like Fire Emblem or Final Fantasy Tactics. So there are going to be various characters with attacks and abilities that target certain tiles around them, like "target enemies within 3 tiles". Some abilities might have an area of effect, so a fireball would be "target tile within 4 tiles, area of effect has radius of 3 tiles around target".

One problem I'm trying to avoid is the player accidentally moving characters to spaces where desired targets are out of range for a given ability.

XxUnakY.png C302tgm.png

Several tactics games let you undo moves before you attack or cast a spell, so if you can't target what you want with the attack/spell you want you can undo the move and try moving somewhere else. I'm interested in having terrain with certain effects though, like fires that damage characters as they walk through them or ice floors that cause characters to slip. I don't know how terrain effects would work if moves can be undone during a character's turn.

I know that the Fire Emblem games show the targetable tiles at the edges of a character's movement range highlight. This is only shown for a character's single standard attack though, whereas characters in my game will have several attacks and spells. And I'm not sure how robust that would be if I want to incorporate other things like line-of-sight or area of effect, especially for the tiles inside a character's movement range.

Advertisement
Do you really need to fix this "problem"?

Doesn't make that the game pretty boring and obsolete? Moving into the right place at the right time is exactly what's the challenge for the player, is it not? Move in a bad place, bad luck... try again.

Several tactics games let you undo moves before you attack or cast a spell, so if you can't target what you want with the attack/spell you want you can undo the move and try moving somewhere else. I'm interested in having terrain with certain effects though, like fires that damage characters as they walk through them or ice floors that cause characters to slip. I don't know how terrain effects would work if moves can be undone during a character's turn.

I love how most of the Final Fantasy:Tactics series did this.

Each turn had two items: an action and a move. You could do either one in either order. If you chose to attack or use an ability it would show the odds of success and the probable effects and damage range. Once you confirmed the action, it was committed and could not be undone. Movement also showed you the range, and you could move and undo the move as many times as you wanted to check out details...

... except if you moved and triggered a trap, or slid down a hill, or had other issues, you were not allowed to undo the move. Some traps or triggers also prevented taking an action the same turn, so if you were had not taken the action already the turn was over and you could not do what was planned.

For the tactical player like me, I would attempt to measure distances first and then move as far as possible while staying on the edge of the target range. However, for some character types (like geomancer) the nature of the spell depended on the terrain tile, so sometimes you needed to move first and that included the risk of a trap or ground effects.

TL;DR: Consider allowing as many undo and take-back as you can until the moment damage is done or the dice are rolled, then the action is committed. Traps, and terrain effects are included in the items that trigger lock-in.

I'm working on a squad based, turn based game that has a similar issue. We solved it by making a look-ahead mode, where by pressing a button, you "project" the selected unit onto the tile you're hovering over, so you can see the attack range of your selected ability in the case you move your unit there. Releasing the button simply "cancels the projection". This way the player can check his ranges before commiting to the action, allowing him to tactically plan ahead.

devstropo.blogspot.com - Random stuff about my gamedev hobby

Hmm, I'm guessing those games either don't have randomness or keep the results? Otherwise I could see someone undoing an attack and redoing it until they got the desired result. Setting the seed at the start of the player's turn and also after they confirm an undoable action, and setting it back to the same seed whenever they undo would let you fix that.

If your game has a concept of the currently equipped attack / weapon, then you could display the attack ranges from where ever the currently highlighted tile is. This won't work for certain games / characters, like mages with a large volume of spells of different ranges and effects. Nor will it work so well for AoE attacks. But for the basics like archers who can only shoot in lines or catapults, etc, it should work nicely.

Though I also agree somewhat with Samoth. I don't think it will make the game boring, but unless the attacks are really unusual, like, I don't know, a sine wave, then it's usually fairly easy to eyeball it.

I love how most of the Final Fantasy:Tactics series did this.
Each turn had two items: an action and a move. You could do either one in either order. If you chose to attack or use an ability it would show the odds of success and the probable effects and damage range. Once you confirmed the action, it was committed and could not be undone. Movement also showed you the range, and you could move and undo the move as many times as you wanted to check out details...
... except if you moved and triggered a trap, or slid down a hill, or had other issues, you were not allowed to undo the move. Some traps or triggers also prevented taking an action the same turn, so if you were had not taken the action already the turn was over and you could not do what was planned.
<snip>
TL;DR: Consider allowing as many undo and take-back as you can until the moment damage is done or the dice are rolled, then the action is committed. Traps, and terrain effects are included in the items that trigger lock-in.

I was doing the FFT move-or-attack system too. Going by your explanation I suppose I could make all moves undoable except for those that trigger effects like hazardous tiles and (hidden) traps. Though I'd need to keep track of whether any tiles locked out the movement undo when a player character moves. Also, a player may willfully move a character through hazardous tiles, where I'd still want some way to show the character's target ranges at the potential destination.

Hmm, I'm guessing those games either don't have randomness or keep the results? Otherwise I could see someone undoing an attack and redoing it until they got the desired result. Setting the seed at the start of the player's turn and also after they confirm an undoable action, and setting it back to the same seed whenever they undo would let you fix that.

Attacks aren't going to be undoable. I'm talking about showing what attacks a character could make after a potential movement path.

I'm working on a squad based, turn based game that has a similar issue. We solved it by making a look-ahead mode, where by pressing a button, you "project" the selected unit onto the tile you're hovering over, so you can see the attack range of your selected ability in the case you move your unit there. Releasing the button simply "cancels the projection". This way the player can check his ranges before commiting to the action, allowing him to tactically plan ahead.

I'm likely going to do something like this too.
Right now during a player character's turn, moving the mouse over a tile within the character's movement range shows move path, and clicking causes the character to move. I'm thinking of making two clicks on the destination necessary for a move, once to place the move arrow and again to perform the move. In between the two clicks I can show any target ranges at the destination tile (as well as allow the planned move to be cancelled).
NDoatUe.png vhvz2vh.png Fkc1Xbo.png LjSe25E.png

In the four pictures here, it's the wizard's turn and he has a magic bolt spell. Clicking on a tile inside the blue movement range shows the movement arrow. Clicking on the magic bolt button shows the target range, though you can't select targets while there's a planned movement arrow. Clicking on the end of the movement arrow does the actual move.

This topic is closed to new replies.

Advertisement