I want to make a turn based tactical RPG

Discussions and debates about video games

Moderator: Moderators

Post Reply
radthemad4
Duke
Posts: 2073
Joined: Mon Nov 18, 2013 8:20 pm

I want to make a turn based tactical RPG

Post by radthemad4 »

I got the go ahead to make a turn based tactical RPG as my final university project a long time back. Since I don't really have a deadline, I've been procrastinating way too fucking much, but it'd be nice to graduate and be able to maybe land a real job. All I've done so far is a movable camera (Movement: WASD or Arrow Keys, C and Space, shift to move faster, click and hold left mouse button and move mouse to rotate camera). Anyway, time to hopefully start taking this seriously.

Doing this in javascript because I kinda like working with it, it'll work on any modern browser (will require WebGL to be enabled) and I don't give a shit if people look at and/or modify the code. The engine will be 3D (I'm using three.js) so I can have a freely moving camera and have the vertical positions of objects be more obvious (also because I kinda want to dick around with 3D and there's a sort of not explicitly stated but definitely there minimum complexity quota that I need to fill for a good grade). Since it doesn't need to be actually be published for me to graduate, I won't worry about graphics for now.

It'll probably be high magic fantasy of some kind, though I'm not sure whether I'll go D&Dish medieval fantasy or urban fantasy (though if so, it won't be set on Earth, but may have some earthlike technology as well as magic, but no masquerade. So probably an exact ripoff of something like Full Metal Alchemist I guess).

Some stuff I want to include:

- ToEE/Divinity Original Sin style move around like an RTS most of the time, but switch to turn based when the combat music starts
- Alterable terrain. Various abilities will be able to create, reshape, change the properties of, or destroy terrain, even mid combat. I'll probably ripoff minecraft's approach.
- Trajectories for grenade like objects, and maybe stuff like trick shots and reflected rays will be shown and it'll be possible to bounce stuff off of multiple surfaces
- Maybe some sort of stealth thing instead of omniscience for everyone
- No consumables. At least in a mechanical sense. You might find items like 'big bag of health potions' that use some sort of cooldown
- Possibly a story where someone finds a mental time travel spell or artifact and this allows rewinding (like in Braid) and justifies stuff like saved games (characters will retain their abilities and knowledge after rewinding or loading and this may open up different dialogue and/or game branches). If I do this, the game difficulty will account for this.

Anyway, I had a few questions regarding game mechanics

- What are the pros and cons of using a grid vs continuous positioning? Even if I go with a grid, I'll try my best to make sure the game can handle strange angles.
- I really, really want to not use RNG for anything beyond maybe procedurally generating levels, the world and/or or AI (i.e. the game will tell you that you can definitely hit that guy with that ability, it'll do X damage and maybe something else). What are some good ways to make this work?
- Would something like D&D style AoOs be a good idea in a turn based tactics game?

Any problems or anything that seems like a terrible idea?
Last edited by radthemad4 on Sat May 14, 2016 8:33 pm, edited 6 times in total.
User avatar
OgreBattle
King
Posts: 6820
Joined: Sat Sep 03, 2011 9:33 am

Post by OgreBattle »

Would something like D&D style AoOs be a good idea in a turn based tactics game?
Definitely, so you can't just walk past the knight to bash the wizard. Front Mission 4 had a system where squad members covered one another in offense and defense:
http://www.ign.com/faqs/2004/front-miss ... faq-556264

- I really, really want to not use RNG for anything beyond maybe procedurally generating levels, the world and/or or AI (i.e. the game will tell you that you can definitely hit that guy with that ability, it'll do X damage and maybe something else). What are some good ways to make this work?
You can do what Mario RPG does and have a timing minigame, when Mario does a jump attack if you hit the button right when he lands you do bonus damage, get another attack attempt, and so on.

In Kirby Superstar there's a similar minigame where there's two cross hairs over your target so you want to line them up.

Image

You can also go with a "hand of maneuvers" system that refreshes so playing the right/wrong/best hand determines if you smash your opponent, get evaded by them, or you trade blows.
Manxome
Knight-Baron
Posts: 977
Joined: Fri Mar 07, 2008 7:54 pm

Re: I want to make a turn based tactical RPG

Post by Manxome »

radthemad4 wrote:- What are the pros and cons of using a grid vs continuous positioning? Even if I go with a grid, I'll try my best to make sure the game can handle strange angles.
Grids have greater transparency (players can make better predictions about what they'll be allowed to do and what the results will be) and easier level design (you don't need to specify as many details). Continuous allows greater detail in level and ability design, and is arguably more immersive.
radthemad4 wrote:- I really, really want to not use RNG for anything beyond maybe procedurally generating levels, the world and/or or AI (i.e. the game will tell you that you can definitely hit that guy with that ability, it'll do X damage and maybe something else). What are some good ways to make this work?
Well, some games rely on randomness for dithering, so if you want to avoid it you'll need to come up with other ways of handling quantization issues.

For instance, suppose an enemy has 100 HP, and your attack normally does 40-70 damage; you've got about a 67% chance to kill him in 2 hits and a 33% chance that it will take 3. If you get some advantage (higher ground, flanking, etc.) that gives you +10 damage, then now you're guaranteed to kill him in 2 attacks, which is an improvement.

Now imagine that your attack deals a consistent 50 damage. If you get that same +10 damage bonus, you know with 100% certainty that it won't matter, because you would have killed the enemy in 2 hits, and it'll still take you 2 hits. (On the other hand, if you were previously doing 49 damage, then just +1 bonus damage will give you a wildly disproportionate 50% increase in actual effectiveness.) The lack of randomness makes it harder to give out small bonuses because the transitions are sharper.

So you'll probably want more granularity in some other part of your game to compensate. For example, maybe you design your game so that enemies typically take more like 5 attacks to kill instead of 2, so that a 20% bonus to damage has a more consistent effect. Or maybe you can spend some limited resource (mana, potions, etc.) to make stronger hits, so the +10 bonus doesn't reduce the number of attacks you need to make, but it lets you save resources somewhere else. Or maybe instead of adding damage to your attack, a favorable circumstance adds a debuff or something.

You might find it interesting to look at the combat in Renowned Explorers. Your abilities are mostly deterministic, but there is a slight random spread in your damage to help smooth out the critical thresholds, and they add miss chance to your "bad" abilities to represent acting outside your area of expertise. They also manage to keep a lot of the turn-by-turn decisions interesting by making it so that your abilities have multiple effects (e.g. one skill might do damage, apply a buff, and also alter the encounter's overall mood), so that choosing which one to use is more complex than optimizing a single short-term variable.
radthemad4 wrote:- Would something like D&D style AoOs be a good idea in a turn based tactics game?
One of the notable differences in overall design style between board games and computer games is that board games tend to rely more on decisions while computer games tend to rely more on computations. The reason is simple: computers can do the computations quickly and automatically, without burdening the player, but decisions always require a manual intervention. In a board game, simple decisions are often just as fast, or even faster, than computations; in a computer game, every decision noticeably slows the game down, so you want to be economical with them.

Imagine you have a "mana shield" ability that lets you take damage to your MP instead of your HP. In a board game, you might plausibly let the player decide reactively on every attack whether to absorb the damage to mana: a lot of the time the decision will be obvious, in which case it will be made silently during the "write down the damage you just took" step without noticeably slowing anything down, but the player will remember the 3 times when the ability to decide on the fly was super important. But in a computer game, needing to pause the action on every single attack while you wait for the user to click the "take to HP" or "take to MP" button could get tedious really fast (even in a turn-based game), so you're probably just going to let the player turn it on or off during their own turn, or maybe apply a rule like "always take it to whichever is higher" that the computer can apply automatically without input from the user.

How does this apply to attacks of opportunity? Well, attacks of opportunity have the potential to create several decision points. For one, when I'm moving past an opponent, I'll often have a choice between a shorter path that provokes an AoO or a longer path that doesn't; I might even need to decide between two paths that both provoke AoOs, but from different enemies. The computer can't take care of my pathing automatically, because it doesn't know which of those options the player will prefer in a specific situation. If you have D&D style AoOs, then the opponent also has a limit on the number of AoOs per round, so he also has to decide whether to take the AoO or save it. This is going to complicate your UI and slow down your game.

Instead, many computer games apply "zones of control" that slow down your movement when trying to get past an opponent. (For example, "+1 MP cost when leaving a space adjacent to an enemy", or "lose all your remaining movement if you move from a space adjacent to an enemy to another space adjacent to the same enemy".) The handy thing here is that the penalty only affects the variable that the path-finding algorithm was optimizing anyway (your remaining movement points), so the computer can still choose the best route automatically without any user input.

Now, obviously, you don't want to eliminate all decisions from your whole game; that wouldn't be a game anymore. So if you think AoOs are going to be an important part of your game, maybe it's worth the slowdown of making them a player decision. The thing to remember is just to limit the player decisions to the important stuff, while designing your rules so that they won't be bothered by a lot of minor or obvious choices.

Also, notice that you might be able to fit in an AoO against ranged attackers without increasing the player burden, since the player has communicated the decision to provoke implicitly by clicking "attack" rather than "move", and you therefore don't need to slow the game down with an extra click (as long as taking the AoO isn't optional, and you don't need a warning/confirmation dialog for pure usability reasons...).
radthemad4
Duke
Posts: 2073
Joined: Mon Nov 18, 2013 8:20 pm

Post by radthemad4 »

OgreBattle wrote:You can do what Mario RPG does and have a timing minigame, when Mario does a jump attack if you hit the button right when he lands you do bonus damage, get another attack attempt, and so on.

In Kirby Superstar there's a similar minigame where there's two cross hairs over your target so you want to line them up.
Image
You can also go with a "hand of maneuvers" system that refreshes so playing the right/wrong/best hand determines if you smash your opponent, get evaded by them, or you trade blows.
Hmm... not sure about whether I want to use timed hits or a mini game, but that's definitely something I'll think about (appropos of nothing, the Mario RPGs are awesome!). Could you give me an example of a "hand of maneuvers" system? I don't think I get what that means.
Manxome wrote:Grids have greater transparency (players can make better predictions about what they'll be allowed to do and what the results will be) and easier level design (you don't need to specify as many details). Continuous allows greater detail in level and ability design, and is arguably more immersive.
I'll try to go gridless. If it feels too difficult to code I'll consider going with grids instead. Positioning could potentially be used to add some granularity, e.g. stuff like higher altitudes granting more range, and damage, and area of effect attacks having a stronger effect in the center.
Manxome wrote:Well, some games rely on randomness for dithering, so if you want to avoid it you'll need to come up with other ways of handling quantization issues.

For instance, suppose an enemy has 100 HP, and your attack normally does 40-70 damage; you've got about a 67% chance to kill him in 2 hits and a 33% chance that it will take 3. If you get some advantage (higher ground, flanking, etc.) that gives you +10 damage, then now you're guaranteed to kill him in 2 attacks, which is an improvement.

Now imagine that your attack deals a consistent 50 damage. If you get that same +10 damage bonus, you know with 100% certainty that it won't matter, because you would have killed the enemy in 2 hits, and it'll still take you 2 hits. (On the other hand, if you were previously doing 49 damage, then just +1 bonus damage will give you a wildly disproportionate 50% increase in actual effectiveness.) The lack of randomness makes it harder to give out small bonuses because the transitions are sharper.

So you'll probably want more granularity in some other part of your game to compensate. For example, maybe you design your game so that enemies typically take more like 5 attacks to kill instead of 2, so that a 20% bonus to damage has a more consistent effect. Or maybe you can spend some limited resource (mana, potions, etc.) to make stronger hits, so the +10 bonus doesn't reduce the number of attacks you need to make, but it lets you save resources somewhere else. Or maybe instead of adding damage to your attack, a favorable circumstance adds a debuff or something.
All three of those sound like great ideas. Thanks. I'll try to think of a few different systems and put them into a demo for playtesting soon.
Manxome wrote:You might find it interesting to look at the combat in Renowned Explorers. Your abilities are mostly deterministic, but there is a slight random spread in your damage to help smooth out the critical thresholds, and they add miss chance to your "bad" abilities to represent acting outside your area of expertise. They also manage to keep a lot of the turn-by-turn decisions interesting by making it so that your abilities have multiple effects (e.g. one skill might do damage, apply a buff, and also alter the encounter's overall mood), so that choosing which one to use is more complex than optimizing a single short-term variable.
Renowned explorers looks fun. I'll give it a whirl. The combat/demotivate/friendship thing looks kinda interesting. I think I'll try something sort of inspired by it and put in a 'talk' option that'll be usable in combat and open up a dialogue tree which can affect the enemies' combat stats and may under some circumstances cause them to retreat, surrender or perhaps switch sides.
Manxome wrote:One of the notable differences in overall design style between board games and computer games is that board games tend to rely more on decisions while computer games tend to rely more on computations. The reason is simple: computers can do the computations quickly and automatically, without burdening the player, but decisions always require a manual intervention. In a board game, simple decisions are often just as fast, or even faster, than computations; in a computer game, every decision noticeably slows the game down, so you want to be economical with them.

Imagine you have a "mana shield" ability that lets you take damage to your MP instead of your HP. In a board game, you might plausibly let the player decide reactively on every attack whether to absorb the damage to mana: a lot of the time the decision will be obvious, in which case it will be made silently during the "write down the damage you just took" step without noticeably slowing anything down, but the player will remember the 3 times when the ability to decide on the fly was super important. But in a computer game, needing to pause the action on every single attack while you wait for the user to click the "take to HP" or "take to MP" button could get tedious really fast (even in a turn-based game), so you're probably just going to let the player turn it on or off during their own turn, or maybe apply a rule like "always take it to whichever is higher" that the computer can apply automatically without input from the user.

How does this apply to attacks of opportunity? Well, attacks of opportunity have the potential to create several decision points. For one, when I'm moving past an opponent, I'll often have a choice between a shorter path that provokes an AoO or a longer path that doesn't; I might even need to decide between two paths that both provoke AoOs, but from different enemies. The computer can't take care of my pathing automatically, because it doesn't know which of those options the player will prefer in a specific situation. If you have D&D style AoOs, then the opponent also has a limit on the number of AoOs per round, so he also has to decide whether to take the AoO or save it. This is going to complicate your UI and slow down your game.

Instead, many computer games apply "zones of control" that slow down your movement when trying to get past an opponent. (For example, "+1 MP cost when leaving a space adjacent to an enemy", or "lose all your remaining movement if you move from a space adjacent to an enemy to another space adjacent to the same enemy".) The handy thing here is that the penalty only affects the variable that the path-finding algorithm was optimizing anyway (your remaining movement points), so the computer can still choose the best route automatically without any user input.

Now, obviously, you don't want to eliminate all decisions from your whole game; that wouldn't be a game anymore. So if you think AoOs are going to be an important part of your game, maybe it's worth the slowdown of making them a player decision. The thing to remember is just to limit the player decisions to the important stuff, while designing your rules so that they won't be bothered by a lot of minor or obvious choices.

Also, notice that you might be able to fit in an AoO against ranged attackers without increasing the player burden, since the player has communicated the decision to provoke implicitly by clicking "attack" rather than "move", and you therefore don't need to slow the game down with an extra click (as long as taking the AoO isn't optional, and you don't need a warning/confirmation dialog for pure usability reasons...).
I think I'll not have any out of turn choices to avoid game slowdown. Currently considering just giving everyone infinite AoOs so there's no reason not to use them, they can be handled automatically out of turn and they'll still be kind of a big deal. Or perhaps AoOs could be a special ability and normal units just have zones of control or something.

Loads of options to consider. I badly need to crank out a demo for easy playtesting.

In the meantime, here's a movable camera. (Extract it and open up 'index.html' . Movement: WASD or Arrow Keys, C and Space, shift to move faster, click and hold left mouse button and move mouse to rotate camera. Also, I'd appreciate it if you guys would make fun of my code and give me some tips on better ways to structure it and/or do this sort of thing)
Last edited by radthemad4 on Sat May 14, 2016 8:32 pm, edited 2 times in total.
Post Reply