Multiple Attack Gauge Idea

Ask and answer questions about making games and related topics. Unrelated topics go in that other forum.

Moderators: marionline, SDHawk

User avatar
CPainter307
Slime
Posts: 9
Joined: Sat Jan 23, 2016 10:51 pm
Location: Mata-Nui
Contact:

Multiple Attack Gauge Idea

Post by CPainter307 »

To preface anything, I'm a complete noob at this. I've been reading tutorials, FAQs, and messages on here for a while now to help me develop the game I'm making. I think I have it all figured out, but there's something I want to try and I'm not sure where to start.

For starters, I'd like the game I'm making to only have one playable character, but function much like a traditional RPG. I thought about how to balance that for a while, and I came up with an idea. Instead of giving the player one move to use per turn, I could let them use multiple moves that were worth a specific amount of Move Points (or something along those lines).

So, basically, when it is the player's turn, they have a gauge that is full. Different moves eat up different parts of the gauge, but they can use as many moves as they want until that gauge runs out. So, if a basic attack eats up a fourth of the gauge then they can attack four times. Or, if a spell uses up half of the gauge, they can attack twice and cast a spell.

The only issue is, I've had no luck even figuring out where to get started with something like this and I was hoping for some help. Thanks!
"I AM ONLY A MAN"
~CommanderVideo
User avatar
kylekrack
Liquid Metal Slime
Posts: 1242
Joined: Mon Jun 16, 2014 8:58 am
Location: USA
Contact:

Post by kylekrack »

I'm gonna look into this, but I don't have any promises. The battle system in the OHR has its limitations. There are some tricky things you can do with it, but it is certainly made for a specific style of battle. Because of that, some things simply aren't possible yet, due to the fact that there is no battlescripting implemented (plz Bob).

Right now, I'm gonna say no(?) but I think there could easily be a workaround. I don't have a ton of experience with the battle system and all its tricks, so I've gotta go fiddle around with it a bit.

For now, if you're interested in how to balance a game with one hero, I suggest you check out some RPGs that feature one playable character. Dragon Quest 1, released as Dragon Warrior in the west, had only one PC, if I'm not mistaken. I can't think of any other games that only have one character, but I'll try to find more.

EDIT: Ok, so short answer, I couldn't do it.

Long answer, I looked into chaining attacks and the conditionals for it and I have something that might work, but I don't know if it could work the way you want it to. So you can chain attacks together, giving the player multiple attacks in one turn. However, I don't think there is any way to reset the turn, so once the attack starts, the next chained attacks will happen automatically. What you could do is have a spell menu with different combos of attacks to choose from. However I don't believe you can choose separate enemies to target with each one, so you're kind of stuck there.

Maybe someone else with more experience has a solution to this, so don't lose hope yet. I'm still saying you should look at Dragon Warrior though cause that game manages to do the one hero thing pretty well. Let me know if I can help with anything else.
Last edited by kylekrack on Sun Jan 24, 2016 8:49 am, edited 1 time in total.
My pronouns are they/them
Ps. I love my wife
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

Hello!

If you're not aware the battle system works in two modes: active-time battles, and turn-based. In turn-based battles it's simply not possible for a hero/enemy to get multiple turns per round, although it is possible for them to do multiple attacks without player control, by chaining them together.

First I have to ask, couldn't active-time battles solve the balance problem? If you give the hero a speed stat four times higher than the enemies, and turn on "Pause on all battles menus & targeting" then they can act four times as often... except when an attack delay slows them down.

Anyway, it seems to me that the gauge idea (which is interesting!) might be doable; I had an idea for how to fit it into the builtin (not very flexible) battle system. With a couple simple additions to the engine, in particular the ability to set costs for attacks in stats other than HP and MP, it might even be practical. (Does anyone have any other suggestions?) For now I'll just use MP to represent the gauge stat, meaning it won't be available for normal uses.

I think that something like this could be possible in active-time battles. Basically, create a turn-based system on top of active time battles by repurposing MP to mean action points. Give everyone 100 MP. You would give every attack an MP cost equal to the number of action points (and also set the "Check costs when used as an item" and "Check costs when used as a weapon" bits so that the player can't get around the system). You could also give everyone a high speed stat so there isn't much waiting involved. Then everyone can perform attacks until they run out of MP. Finally, give the player an 'End round' option in their attack menu which is an attack that resets everyone to 100 MP. (In the case of using MP, you would also need a script to reset the hero to 100MP before the start of a battle, which is simple.) Now I realise that you were only talking about player attacks and not having a similar system for enemy attacks, but you need some way to ensure that enemies only get to attack once per player round. There would be multiple other ways to accomplish that, such as making all enemy attacks chain to an attack that sets their speed to zero until the player uses 'End Turn'.

Also, unfortunately you can't show a graphical gauge on the screen, although you could chain to 'Scan' type attacks which tell the player how many points they have left. (Also, the ability to put variables like that in attack captions would be a good feature.)


EDIT: I started adding that 'arbitrary stat cost' feature, but it was more complicated than I thought. Might even put it off a few days.
Last edited by TMC on Sun Jan 24, 2016 2:36 pm, edited 2 times in total.
User avatar
CPainter307
Slime
Posts: 9
Joined: Sat Jan 23, 2016 10:51 pm
Location: Mata-Nui
Contact:

Post by CPainter307 »

kylekrack wrote:
EDIT: Ok, so short answer, I couldn't do it.

Long answer, I looked into chaining attacks and the conditionals for it and I have something that might work, but I don't know if it could work the way you want it to. So you can chain attacks together, giving the player multiple attacks in one turn. However, I don't think there is any way to reset the turn, so once the attack starts, the next chained attacks will happen automatically. What you could do is have a spell menu with different combos of attacks to choose from. However I don't believe you can choose separate enemies to target with each one, so you're kind of stuck there.

Maybe someone else with more experience has a solution to this, so don't lose hope yet. I'm still saying you should look at Dragon Warrior though cause that game manages to do the one hero thing pretty well. Let me know if I can help with anything else.
I appreciate it all the same! I've been thinking of workarounds for a while now too. The idea of "chain combos" could work pretty well too. Giving the player access to more combos as they leveled would be cool, but I would need to make sure that a combo attack could be directed at different enemies. Not sure if that's possible or not, but I'll keep looking into it.

TMC wrote:
First I have to ask, couldn't active-time battles solve the balance problem? If you give the hero a speed stat four times higher than the enemies, and turn on "Pause on all battles menus & targeting" then they can act four times as often... except when an attack delay slows them down.

Anyway, it seems to me that the gauge idea (which is interesting!) might be doable; I had an idea for how to fit it into the builtin (not very flexible) battle system. With a couple simple additions to the engine, in particular the ability to set costs for attacks in stats other than HP and MP, it might even be practical. (Does anyone have any other suggestions?) For now I'll just use MP to represent the gauge stat, meaning it won't be available for normal uses.

I think that something like this could be possible in active-time battles. Basically, create a turn-based system on top of active time battles by repurposing MP to mean action points. Give everyone 100 MP. You would give every attack an MP cost equal to the number of action points (and also set the "Check costs when used as an item" and "Check costs when used as a weapon" bits so that the player can't get around the system). You could also give everyone a high speed stat so there isn't much waiting involved. Then everyone can perform attacks until they run out of MP. Finally, give the player an 'End round' option in their attack menu which is an attack that resets everyone to 100 MP. (In the case of using MP, you would also need a script to reset the hero to 100MP before the start of a battle, which is simple.) Now I realise that you were only talking about player attacks and not having a similar system for enemy attacks, but you need some way to ensure that enemies only get to attack once per player round. There would be multiple other ways to accomplish that, such as making all enemy attacks chain to an attack that sets their speed to zero until the player uses 'End Turn'.
Both of those sound like great ideas. The strictly active time system would sort of negate the value of attacks that I was going for, but I don't want to rule it out.

The second proposal sounds very close to what I was going for. Repurposing MP to Attack Points might be the perfect way to do this. And, correct me if I'm wrong, but MP is always shown in the UI during a battle, right? So I wouldn't need a "gauge" per say, if the player could read the numerical values. A little less visually appealing, sure, but it works.

However, I do have one concern. For attacks that are more powerful like traditional spells, I'd need to keep the player from overusing them. I could make them cost a whole gauge to use, but then all they would have to do is wait until the next turn. Would it be possible to have another gauge (or really just value set) that worked like traditional MP that depleted as you used specific attacks and had to be refilled via item WHILE having this "gauge system?"
Last edited by CPainter307 on Sun Jan 24, 2016 4:01 pm, edited 1 time in total.
"I AM ONLY A MAN"
~CommanderVideo
User avatar
kylekrack
Liquid Metal Slime
Posts: 1242
Joined: Mon Jun 16, 2014 8:58 am
Location: USA
Contact:

Post by kylekrack »

TMC wrote:Anyway, it seems to me that the gauge idea (which is interesting!) might be doable; I had an idea for how to fit it into the builtin (not very flexible) battle system. With a couple simple additions to the engine, in particular the ability to set costs for attacks in stats other than HP and MP, it might even be practical. (Does anyone have any other suggestions?) For now I'll just use MP to represent the gauge stat, meaning it won't be available for normal uses.
I was going to suggest doing exactly this with the Ctr stat, but then I realized attacks can only cost HP and MP. It'd be awesome to have that feature. What I was thinking is that all enemy attacks could chain to an invisible attack that replenishes the hero's Ctr.

What you could also do is adjust the hero's speed to be stupidly high, so that they have turns almost instantly after their turn ends. So, each attack would cost an amount of 'Ctr' to use. In addition, each attack has a conditional chained attack to activate if they're Ctr is 0. Once the Ctr hits 0, the attack would chain to an invisible attack that reduces the hero's speed to 0. The enemy's attack could set the hero's speed back to what it was before to repeat the cycle.

Does that make any sense or is that a poor explanation?


Also, @CPainter307: I looked through like 4 forum threads about 1-hero RPGs, but I really couldn't find anything that looked like something that would be helpful. There are plenty of active battle RPGs, like Secret of Mana or the Legend of Zelda II, but those clearly lack the turn based battle that is sort of necessary. I'm sorry I couldn't find any examples other than Dragon Warrior, cause that game is pretty old. If you do look into it, I recommend the GameBoy remake of Dragon Warrior I & II. It can be really hard to find a hard copy, but there are websites that emulate GB games and emulators if you can find a legit copy of the ROM.

This website has the game, but I'm not going to say it's totally safe, because I don't know. I mean, it could be fine, I'm just saying I don't have any evidence to back that up.
http://www.gbafun.com/play/dragon-warrior-i-n-ii/5872
My pronouns are they/them
Ps. I love my wife
User avatar
CPainter307
Slime
Posts: 9
Joined: Sat Jan 23, 2016 10:51 pm
Location: Mata-Nui
Contact:

Post by CPainter307 »

kylekrack wrote: Also, @CPainter307: I looked through like 4 forum threads about 1-hero RPGs, but I really couldn't find anything that looked like something that would be helpful. There are plenty of active battle RPGs, like Secret of Mana or the Legend of Zelda II, but those clearly lack the turn based battle that is sort of necessary. I'm sorry I couldn't find any examples other than Dragon Warrior, cause that game is pretty old. If you do look into it, I recommend the GameBoy remake of Dragon Warrior I & II. It can be really hard to find a hard copy, but there are websites that emulate GB games and emulators if you can find a legit copy of the ROM.

This website has the game, but I'm not going to say it's totally safe, because I don't know. I mean, it could be fine, I'm just saying I don't have any evidence to back that up.
http://www.gbafun.com/play/dragon-warrior-i-n-ii/5872
Yeah, I think I will play that game to get a sense for it. Maybe I'll learn something about balance without having to add in some new feature.

--edit--

I spent some time with Dragon Warrior and I think I figured out how they accomplished only having one character in your party. They simply only had one enemy attack you at a time. Enemies never show up in groups, there is always one, so you can never be overwhelmed. While that makes sense, it isn't exactly what I'm going for in my game, so I think this gauge system might work better. It was a good place to look though, and a pretty fun little game.
Last edited by CPainter307 on Sun Jan 24, 2016 10:30 pm, edited 1 time in total.
"I AM ONLY A MAN"
~CommanderVideo
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

Well, MP is only displayed in the spells menu, but I guess it's a perfectly good place to display the action points, as they act a lot like MP.

If you also want an MP system while repurposing MP then I think the simplest thing to do is to use one of the other attack costs: HP, gold, or items. HP costs are clearly no good. Gold costs don't actually prevent the player from using an attack. You can give the player items ("tokens"), which of course will show in the inventory, which might be an advantage. Failing that, you could make all attacks used by the hero do an instead-chain if some stat (say, Ctr, which is a spare stat with no use) is too low. That wouldn't be too bad, except the player can't see whether they will be able to successfully cast it, but at least you can make it free to attempt it. A new 'any-stat cost' feature would again be a good option, even if you decide to use MP for action points and Ctr for magic/skill points rather than vice versa.
kylekrack wrote:So, each attack would cost an amount of 'Ctr' to use. In addition, each attack has a conditional chained attack to activate if they're Ctr is 0.
One problem is that the chain would only activate after you use up all remaining action points - if you have 10 left, you can use an attack that costs 100. But you could check that with a conditional instead-chain before the attack, and make it count either as 'end turn', or just cancel it as I said above.
Last edited by TMC on Mon Jan 25, 2016 3:52 am, edited 1 time in total.
User avatar
CPainter307
Slime
Posts: 9
Joined: Sat Jan 23, 2016 10:51 pm
Location: Mata-Nui
Contact:

Post by CPainter307 »

TMC wrote: You can give the player items ("tokens"), which of course will show in the inventory, which might be an advantage.
That could work, but would there be any way to show a visual representation of how many items were left during a battle without having to go into a menu? Something like a bar doesn't necessarily matter, but even a counter like x/100 could work.
Last edited by CPainter307 on Mon Jan 25, 2016 2:07 pm, edited 1 time in total.
"I AM ONLY A MAN"
~CommanderVideo
User avatar
kylekrack
Liquid Metal Slime
Posts: 1242
Joined: Mon Jun 16, 2014 8:58 am
Location: USA
Contact:

Post by kylekrack »

Is there any way to show global variables in attack captions like is possible in text boxes? Or some other way that a caption could display the number of an item left? I suppose there isn't really any way to update a global while in battle, but maybe there's some way that could work.
My pronouns are they/them
Ps. I love my wife
User avatar
msw188
Metal Slime
Posts: 787
Joined: Tue Oct 16, 2007 1:43 am
Location: Los Angeles, CA

Post by msw188 »

My first thought was some kind of hybrid of TMC and kylecrack's ideas.

Use Ctr as the 'turn cost counter', everybody starts at 100.

Each attack chains to an attack that decreases the counter by whatever amount.

Next, chain to an attack that checks whether Ctr<0. If so, add 100 to Ctr and end chain. If NOT, give very high speed and end chain.

This way, the speed stat as shown in the status menu will be an accurate reflection of which heros get their turns back more quickly. Another feature (or bug) of this system would be that players can try to 'beat' the Ctr system. The moment Ctr goes negative, they are going to have to wait. If they play it right, they can get an extra good attack in with only, say 5 Ctr left. But if that move doesn't clear the board, they will have less Ctr to work with their following 'turn'. Could also create some interesting strategies with having an attack take away MORE than 100 Ctr.

Another positive aspect of this system is that MP costs can be used normally.

The biggest difficulty that comes to mind for me is the player's interface. How to make the Ctr remaining available onscreen? Not sure how to fix.
I am Srime
User avatar
CPainter307
Slime
Posts: 9
Joined: Sat Jan 23, 2016 10:51 pm
Location: Mata-Nui
Contact:

Post by CPainter307 »

msw188 wrote: Could also create some interesting strategies with having an attack take away MORE than 100 Ctr.

Another positive aspect of this system is that MP costs can be used normally.

The biggest difficulty that comes to mind for me is the player's interface. How to make the Ctr remaining available onscreen? Not sure how to fix.
This system is interesting, and it seems to not require the "End Turn" attack that was being tossed around earlier. The biggest issue right now is the interface, though, and whether or not it's possible to even show it on there. I've done some research but it's been pretty fruitless so far. I'd hate to have to make the player check, it would just be incredibly inconvenient. Maybe there could be a scripted text box that appears after each attack that says something like "You have [x] action points remaining..."
"I AM ONLY A MAN"
~CommanderVideo
User avatar
msw188
Metal Slime
Posts: 787
Joined: Tue Oct 16, 2007 1:43 am
Location: Los Angeles, CA

Post by msw188 »

Is there a reason you want the Ctr to be 100? Does it really need to be very finely graded? If you pick a smaller number (like 10, or even 5), you could probably just make untargetable enemies be the interface. Like five enemies that are just graphics 1/5, 2/5, 3/5, 4/5, 5/5 and who are spawned by an extra part of the attack we would have to add to the chain.
I am Srime
User avatar
kylekrack
Liquid Metal Slime
Posts: 1242
Joined: Mon Jun 16, 2014 8:58 am
Location: USA
Contact:

Post by kylekrack »

If you decide that this system isn't worth it for one reason or another, keep in mind there is a "Hits" stat that increases the number of times a character attacks in one turn. This may help balance the game if you want multiple enemies against one hero. In addition to this, each attack has a "number of hits" option that you could use instead of, or in combination with the hero's Hits stat. There is also attack chaining as discussed before that could give the player combo options.

I'm not telling you to give up on this idea, but it's good to remain open minded when it comes to design, especially when you have limitations like these. I've noticed that if I become too hellbent on making one specific thing happen, I'll either sacrifice other cool design aspects or become too frustrated and give up on the game altogether.
My pronouns are they/them
Ps. I love my wife
User avatar
CPainter307
Slime
Posts: 9
Joined: Sat Jan 23, 2016 10:51 pm
Location: Mata-Nui
Contact:

Post by CPainter307 »

msw188 wrote:Is there a reason you want the Ctr to be 100? Does it really need to be very finely graded? If you pick a smaller number (like 10, or even 5), you could probably just make untargetable enemies be the interface. Like five enemies that are just graphics 1/5, 2/5, 3/5, 4/5, 5/5 and who are spawned by an extra part of the attack we would have to add to the chain.
That's a very interesting way of doing it, but that could work really well. The main reason for me choosing 100 Ctr to be the stat that determines attacks has to do with how I thought scaling would work through the game.

If the basic attack you have is relatively weak, it would make sense for it to not cost too much. I was thinking maybe half. However, as you level up and the enemies get stronger, you might need to attack more. As your stats increase the attack will obviously grow stronger, but I think that leveling these attacks should follow a course of:

Basic Attack ---> Basic Attack that costs less AP

And then, when that becomes not as useful:

Stronger Attack ---> Stronger Attack that costs less AP

When I first imagined this, my plan was for the attacks you learned at the beginning of the game to become so inefficient that you could chain tons of them together and they'd still do nothing, so you'd need to rely on the abilities you got as you leveled, but this completely casted aside the idea of the character's stats also leveling, since that would translate to the attack damage of pretty much any attack. I'd still like to follow this formula, but that would mean creating some pretty difficult enemies.

The reason I like 100 is because it can divided into pretty much any convenient increment (with the exception of like, thirds). But, by that logic, the number 10 would work just as well too. It can be divided in half, quarters, etc. pretty much just as efficiently. So I'm curious to try this out as well, because it might be way more optimized.
kylekrack wrote:If you decide that this system isn't worth it for one reason or another, keep in mind there is a "Hits" stat that increases the number of times a character attacks in one turn. This may help balance the game if you want multiple enemies against one hero. In addition to this, each attack has a "number of hits" option that you could use instead of, or in combination with the hero's Hits stat. There is also attack chaining as discussed before that could give the player combo options.

I'm not telling you to give up on this idea, but it's good to remain open minded when it comes to design, especially when you have limitations like these. I've noticed that if I become too hellbent on making one specific thing happen, I'll either sacrifice other cool design aspects or become too frustrated and give up on the game altogether.
If worst comes to worst and this just isn't doable, I can switch design exclusively to one on one fights. It would solve the balancing issue without any of these pesky issues and would be significantly easier to make. The more I look into this, the more appealing that seems, but I'm not ready to give up quite yet. :)
Last edited by CPainter307 on Tue Jan 26, 2016 10:53 pm, edited 1 time in total.
"I AM ONLY A MAN"
~CommanderVideo
User avatar
Nathan Karr
Liquid Metal Slime
Posts: 1215
Joined: Fri Jan 25, 2008 3:51 am
Contact:

Post by Nathan Karr »

CPainter307 wrote:The reason I like 100 is because it can divided into pretty much any convenient increment (with the exception of like, thirds). But, by that logic, the number 10 would work just as well too. It can be divided in half, quarters, etc. pretty much just as efficiently. So I'm curious to try this out as well, because it might be way more optimized.
Try the number 60 on for size. 120 is better because it's twice as big as 60, but we have sixty seconds to a minute and sixty minutes to an hour for a reason.
Remeber: God made you special and he loves you very much. Bye!
Post Reply