Looking For A Pacifistic Battle System

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
Hey, everyone!

So, I basically got sucked into Undertale, and it really got me thinking about ways to use battle in RPGs. I think that we really take for granted that it's just attack, skill, attack, skill. It just feels boring to me now.

Basically, I'm wanting to add another choice into battles. And I've tried looking into the code for the game, and I'm just ending up more and more confused. So, even if you can't help (This seems like it will be a bit of an undertaking D:), even just some pointers to what I need to modify would be awesome.

What I'm needing is the ability to act on enemies instead of attacking (Although Attacking will still be an option!), as well as the ability to spare, or show them mercy. So if the player acts a certain way towards an enemy (Petting a dog-type creature, for example), then they can spare the creature and get gold instead of experience. If you kill the creature, then you get gold and experience. 

Also, I would like a way to simulate dodging attacks. Undertale did this in an interesting way by incorporating a mini-bullet hell game when the creatures attack. I found a Japanese Bullet Hell Script, and worst case, I can convert that, I think. But I would need to probably take a lot of it out, because it's an actual bullet hell.

To see the battle system in action, here's a YouTube Video:

Sorry! I can't seem to get the video to embed. This is a link that starts off right at the battle. No spoilers, because it's a battle from the demo. Unless you've never played and want to. Then you probably shouldn't watch this one, because it's the first boss battle. Just the one I found without 1000 other things in front of it!

https://youtu.be/mjkmiPboD6Y?t=27s
Anyway, even if you can't help, maybe those pretty well versed in battle systems could give me some tips. It doesn't seem difficult in concept, I just genuinely have no idea where to even start D:

Thanks for reading!
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
What I'm needing is the ability to act on enemies instead of attacking (Although Attacking will still be an option!), as well as the ability to spare, or show them mercy. So if the player acts a certain way towards an enemy (Petting a dog-type creature, for example), then they can spare the creature and get gold instead of experience. If you kill the creature, then you get gold and experience.
There's no such thing as a pacifistic battle. It's just a matter of perspective and how you name your skills. And the basic is still the same "BATTLE" formula.

For "spare"/"show mercy". You can easily do it by skill + formula to force an enemy to "escape" from battle.

If you want different reward using "different way to defeat" an enemy. You can easily use one of those "Turn enemy into item" script. And name the skill to "spare" or "show mercy" or if you prefer... "pet".

Also, I would like a way to simulate dodging attacks. Undertale did this in an interesting way by incorporating a mini-bullet hell game when the creatures attack. I found a Japanese Bullet Hell Script, and worst case, I can convert that, I think. But I would need to probably take a lot of it out, because it's an actual bullet hell.
Shooting mini game has its limit in the rgss player(game.exe). Because RMs before RMMV doesn't support GPU. There's a limit of sprite it can process before everything start to lag real badly. And the turn base battle is already known to be one of the most memory consuming scene in the game by default.

So instead of implementing a shooting mini game into your battle as "dodge" you can easily use one of those button smash command script or QTE(Quick Timer Event) to implement a "dodge" skill. When success, dodge = successful, when fail, dodge = failed. And be careful how you implement QTE in your game. It's still one of the best known element to buy hate from your players. Not every player will give good feedback on QTE and you will be risking your ranking "stars" if you do it wrongly.
 
Last edited by a moderator:

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
That's why I needed help lol.

That's actually a great way to look at it, and I think will greatly help me out in the long run. 

I actually didn't know about the limitations as well, so that works. I can definitely come up with something, maybe avoiding QTE, but using a similar concept. 

Thank you so much for your response!
 

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
You're welcome!
 

Beedoe

Villager
Member
Joined
Jan 1, 2016
Messages
29
Reaction score
4
First Language
English
So instead of implementing a shooting mini game into your battle as "dodge" you can easily use one of those button smash command script or QTE(Quick Timer Event) to implement a "dodge" skill. When success, dodge = successful, when fail, dodge = failed. And be careful how you implement QTE in your game. It's still one of the best known element to buy hate from your players. Not every player will give good feedback on QTE and you will be risking your ranking "stars" if you do it wrongly.
Hey, can you elaborate on this please? Why is it you think people hate this element in battle? Also, what would be an example of implementing it wrongly?

Do you think a paper mario-esque QTE would be a good or bad way to implement (basically, hitting a button right when the attack connects to reduce/avoid damage)?

I highly suggest not to copy/paste Undertale mechanics. People would respond well to a game that reminds them of Undertale more-so than a game that copied it. :)
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses

Beedoe

Villager
Member
Joined
Jan 1, 2016
Messages
29
Reaction score
4
First Language
English
The negative reaction seems to be more geared towards QTE being used in action games/cutscenes, not during RPG combat.

The main problem seems to be that it removes control, penalizes/prohibits moving on, etc.

As far as utilizing QTE in a combat system where the player cannot simply move to dodge, it would actually grant control as opposed to removing it, and failing the event will only result in more damage being taken.
 

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
The negative reaction seems to be more geared towards QTE being used in action games/cutscenes, not during RPG combat.

The main problem seems to be that it removes control, penalizes/prohibits moving on, etc.

As far as utilizing QTE in a combat system where the player cannot simply move to dodge, it would actually grant control as opposed to removing it, and failing the event will only result in more damage being taken.
So instead of implementing a shooting mini game into your battle as "dodge" you can easily use one of those button smash command script or QTE(Quick Timer Event) to implement a "dodge" skill. When success, dodge = successful, when fail, dodge = failed. And be careful how you implement QTE in your game. It's still one of the best known element to buy hate from your players. Not every player will give good feedback on QTE and you will be risking your ranking "stars" if you do it wrongly.
Examples of feedback when a famous game drop the ideas for QTE implementation:

http://www.escapistmagazine.com/forums/read/7.834095-Thief-Ditches-Quick-Time-Events-After-Negative-Feedback

Like i said before, it may buy you good feed back but it will also buy you bad feed backs in the same time.

It's not something that will give your game a 100% good feed back for sure. For a small game that doesn't get alot of feed backs, the % reflected on the "stars" you are getting is going to be huge. Who do you think that will do a feed back more? A satisfied customer/A happy customer/An angry customer?
 
Last edited by a moderator:

Beedoe

Villager
Member
Joined
Jan 1, 2016
Messages
29
Reaction score
4
First Language
English
This is another negative reaction to QTE's in an otherwise real-time action gameplay. It makes sense (for the reasons mentioned in the two links you sent).

I haven't yet seen an example of negative response to QTE in turn-based RPG battle.

Like I said, in real-time combat/gameplay (Tomb Raider), QTE's remove control (instead of jumping/dodging in 3D movement, you hit a button).

In turn-based combat (Paper Mario), they add control (instead of simply activating a spell or being hit by one, you can directly influence damage/whether or not it hits).
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
This is another negative reaction to QTE's in an otherwise real-time action gameplay. It makes sense (for the reasons mentioned in the two links you sent).

I haven't yet seen an example of negative response to QTE in turn-based RPG battle.

Like I said, in real-time combat/gameplay (Tomb Raider), QTE's remove control (instead of jumping/dodging in 3D movement, you hit a button).

In turn-based combat (Paper Mario), they add control (instead of simply activating a spell or being hit by one, you can directly influence damage/whether or not it hits).
Like i said above, it's just a matter of perspective. There's no real difference than what we already have here in RM.

The media, and the rest of the fan club may worship it as something "new".

But in fact, by the eye of a developer, it's not something new, just a new way of looking at things.

The most reason you will find negative feedbacks on QTE is only when it appears too often in a game no matter what genre. Having that implemented into a core battle engine will mean your player will have to deal with it up to a few times in a battle scene. And as turn based rpgs goes, the encounter rate itself can already be the cause of negative feedbacks. ;) But if you can manipulate your player to think it's "good" and give them a chance to do the chain effects on their friends and spread the words, then yes, you will be getting more positive feed backs than negatives.

That's the big difference between a shepherd and the sheep.

Remember, you are posting here in the board of the shepherd but trying to stand on the same eye level of the sheep. ;)

edit:

additional feedback examples and their "explanations" based on undertale.

http://www.metacritic.com/game/pc/undertale/user-reviews?dist=negative

https://www.reddit.com/r/Undertale/comments/3ubkz0/the_negative_reviews_on_metacritic/
 
Last edited by a moderator:

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,162
Reaction score
823
First Language
Hungarian
Primarily Uses
RMVXA
QTEs being good or wrong is entirely subject to the player.


Generalizing that it's "good" or "bad" is not something that can be done. I mean, it can be done, but there really is no point in doing so.


Some people like QTEs, some not, it's just another game-play element, no point to link dozens of subjective "examples".


No matter what a developer does, he/she can not get the favor or every player.


Some people like FPS games, some not.


Some people like easy games, some not.


Some people like coffee, while some others like tea more.


I personally like QTEs in any game. They kinda wake me up, no matter how repetitive the battles are, or how boring certain game elements are, if there is QTE in it, I like it.


Not to the point where I can't even make 2 steps without a QTE kicking in my face, of course, but I don't mind lotsa QTEs at all. :D


This is one of the reason I liked Metal Gear Rising Revengeance. Many QTEs, but they made sense, made the cut-scenes pretty intense and alive. Even the QTEs in combat were amazing in that game, and that is a real-time action game to the core.


Another good game series which used QTE (in the battle system) was Shadow Hearts. Damn, that was an epic game! Well, at least the first 2 parts, the 3rd was an entirely different story-line, unfortunately.


Anyway, QTEs are fun if done right, at least for me! :p
 

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
Sorry to interrupt the conversation! Although, those were all really interesting points about QTE, and I am considering leaning towards it. I actually found a really interesting rhythm battle script I may look into, but that's neither here nor there.

I'm working on the Spare option, and it's at least working in it's own weird barebones way. Which is awesome.

But, I can't use a common event to see the target of the attack. Basically, when I try to script it that way, I can only activate the state on the first enemy, even if that enemy has been hidden/spared. 

: Conditional Branch: Varable[0001] >= 2 Change Enemy State: [1.], + [Sparable] Text: -,-,Normal,Bottom ENEMY IS SPARABLE: Else Control Variables: [0001] += 1 Text: -,-,Normal,Bottom MAYBE PET MORE? Branch EndThis is my common event. I was thinking about using a state to choose a target, but then if I Act on multiple creatures, then they are all targeted and spared despite the actual conditions. Which i don't have any yet, but y'know. Forward thinking and whatnot.

Also, looking over everything, the only way I can seem to set a conditional branch is based on creatures in battle, and I can only choose positions. Which kind of kills my entire concept with the specific act requests per creature.

Would this maybe be easier scripted, and would i have better access to everything that way? Or am I just missing something with the eventing?
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
Would this maybe be easier scripted, and would i have better access to everything that way? Or am I just missing something with the eventing?
If i remember right, Tsukihime has a script that let you handle those in common event on ease. Something about putting the current target ID in to a game variable. So when you run the common event you know who you are targeting and can do your eventing from there. Can't remember the script name though, you might want to check her webpage on RGSS3 scripts for it.
 

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
I may have to do that. I think I'm getting somewhere with the damage formula box, and checking if a state doesn't exist, then running the script, but that just sounds easier lol. I'll check it out!
 

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
I may have to do that. I think I'm getting somewhere with the damage formula box, and checking if a state doesn't exist, then running the script, but that just sounds easier lol. I'll check it out!
Since you are at it, you might want to check on her formula extension script too. It allows you to use formula in the notetag box, so you can go for a long long version of formula. ;)

edit:

Another easy way out without script might be using a skill that implies a "fear" state on the enemy(rename "fear" to something like.. umm... "persuaded"?), then in the enemy's AI, have them escape on top priority when that state is applied.

Or a direct formula like the below might work? (need testing)

b.escape; 0You might want to goto the Vocab module in your script editor and change the escape message to something more suitable for "pacifistic" environment.
 
Last edited by a moderator:

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
Since you are at it, you might want to check on her formula extension script too. It allows you to use formula in the notetag box, so you can go for a long long version of formula. ;)
EDIT: You ninja'd me D: But actually, that sounds really good. I'm gonna run it through a few tests.

When it gets more complicated, I may have to do that. However, I totally got it to work with the damage box, and I figured I'd share what I figured out. I'm not big at coding, so it's probably ugly, but it at least does exactly what I need it to at the moment.

My damage formula is simply: v[1] += 1; if v[1] >= 2; b.add_state(30); end;

This way, I can just adjust the variable. Now, as it is currently made, if there is more than one enemy, you can act on both monsters, and spare either one, even though you're supposed to pet one twice.

The script has changed only slightly

: Conditional Branch: Varable[0001] >= 2 Text: -,-,Normal,Bottom ENEMY IS SPARABLE Control Variables: [0001] = 0: Else Text: -,-,Normal,Bottom MAYBE PET MORE? Branch EndThis way, the variable is reset once the enemy has the "Sparable" status. And I will eventually learn how to spell that word.
 
Last edited by a moderator:

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
184
First Language
Meowish
Primarily Uses
This way, the variable is reset once the enemy has the "Sparable" status. And I will eventually learn how to spell that word.
I see, then Tsukihime's script that put the target id in variable should certainly works for you better than a full formula full of condition checks, it's easier and more human readable using common event :p But if it's a short code, you might be able to do the whole thing in the formula itself, so it's up to you to decide which one's easier for you.

edit:

a few formula outside of the default known formulas might help too.

b.escape

b.animation_id = X

(X = animation ID to play)
 
Last edited by a moderator:

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
Yeah, I'm still playing around with it. It's shaping up nicely, for me not to have a whole lot of experience with ruby :p

I'm still trying to make heads and tails of Hime's script though. It seems pretty easy, but calling the arguments is the part I'm having issues with. That would be the best bet, because I could have different reactions based on a "Random" variable for text, and a Enemy ID variable to set specific act conditions, and then the variable to count if it's sparable. D: 

It's coming together though lol Thanks for helping me with this x3
 

otonohitoka

Writer and Composer
Member
Joined
Dec 8, 2015
Messages
25
Reaction score
2
First Language
English
Primarily Uses
I would just like to say...

I finally got it to work. On a per creature basis. And that makes me one happy Gabi. 
 

Now I just have to program individual troop win conditions! TT_TT

EDIT:

This is my "Pet" skill: v[1]>=2?b.add_state(30):v[2]>=2?b.add_state(30):v[3]>=2?b.add_state(30):b.add_state(29)

And my "Spare" skill: b.state?(30)?b.escape:b.hp-0;b.hp-0

Not including the Common Events that use states to track which enemy has been hit. D: But it is done. 
 
Last edited by a moderator:

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,455
Members
137,821
Latest member
Capterson
Top