- Add Review
- Subscribe
- Nominate
- Submit Media
- RSS
Prayer ability in-depth
- AubreyTheBard
- 10/01/2015 10:24 PM
- 609 views
I've decided to start posting the progress report and design musings aspects of my monthly blog entry separately, so as to apply the proper category to each one. Mainly I'm doing this because I finally noticed that the middle set of posts in the Game Design & Development forum are people's blog posts labeled as Game Design. X) I always scanned right past those before because their titles weren't bolded to indicate "this is a thread with stuff you haven't read yet". I wonder, does every blog post categorized as Game Design show up there, or does it have to have a certain popularity level by some measure, or be chosen by an admin? Guess I'll find out after posting this.
Since somebody was actually interested enough in Aubrey's Prayer ability last time to post a reply about it, I'd like to go a bit more in-depth on it this time and see if I can get any further useful feedback. Specifically, I want to talk about the algorithm used to decide what the random effect of Prayer is. Just in case anyone wants to know what all of the possible effects are, I'll list them in the show/hide box below.
My original algorithm for Prayer was to simply pick a random number between 1 and 100, then subtract from that the percentage of maximum HP the party as a whole has remaining. If the result was 0 or less, nothing happened; otherwise, one of ten possible effects are chosen based on how high the result was -- effect 1 if the number is between 1 and 10 inclusive, effect 2 if the number is between 11 and 20 inclusive, etc. all the way up to effect 10 if the number is between 91 and 100 inclusive. This relatively simple system not only ensures that Prayer is more likely to work the more desperate the overall situation is, it creates a situation where the higher-level effects are only seen when things get really bad -- yet you're far from guaranteed to see them even when the party's overall HP is practically 0 because the lower-level effects are just as likely to happen.
Eventually, I began to feel a little dissatisfied with this arrangement, because it makes using Prayer run counter to general sound play strategy. It makes sense and sounds cool for Prayer to save the day in dire situations, but a knowledgeable and skilled player would avoid getting into such situations most of the time. Even when they do find themselves on the ropes, they'd probably rather focus on more expensive but sure methods of recovery unless they're really low on mana and recovery items, especially since Aubrey is already the game's best healer even apart from the Prayer ability. Prayer would be an ability most players would only use when it's their last option, and special abilities should be more exciting and worthwhile (when properly used) than the more basic move options. There's also the consideration that I don't want to imply the real-life lesson that praying only does any good when things are bad. X) Just the opposite in fact, prayer "works" best when diligently pursued at all times, and ideally I'd like my game to reflect that truth, though I'm sure I'll never create a game mechanic to do proper justice to all aspects of the concept.
So I began to ponder ways to make the Prayer ability have some manner of strategic usefulness even when the party is doing well. At the same time, though, I didn't want to lose that sense of it saving the day when things are rough, and I especially didn't want the highest-level effects (which include total party heals and instant wins) to be accessible without significant risk. The most obvious solution was to have some sort of "Prayer meter", a resource that builds up when the Prayer ability is used but doesn't have an effect. It could, for example, add ten to the base roll, so that the initial number selected is between 11 and 110. Then if the next Prayer attempt still does nothing, it would roll from 21 to 120, and so on and so forth until an effect actually happens and the base is reset. There are a couple problems with that approach, though. It would be possible for a player to build up a reserve of "prayer points" like that, say up to 50 or maybe even 70, by using Prayer only when the party's health is at or near maximum and getting "lucky" enough to avoid blowing it on an actual effect. Then they could sit on that cache until a boss fight, let themselves get down to fairly low health, and then use Prayer to have an over 50% shot at the instant win. I could probably mitigate that with some fancy corrections to the way the math works, but still, the general idea of building up a meter that is then expended creates the temptation to spend a bunch of turns stockpiling, then not use the ability until a highly advantageous moment. This is a mechanic that would be finicky, frustrating when unsuccessful, and BORING to set up. Also, I don't much like how it causes one to think of prayer as a capital to be hoarded and exploited, and the fact that it can force a higher-level effect to be drawn. I want to let the player be rewarded for using Prayer often, but ultimately still have the effect of it be outside their control.
Another possible variation on this idea might be to not reset the "Prayer meter" when a successful effect is drawn, and make the build-up much more gradual. I could give a single "Prayer point" for each use of the ability, and perhaps cap how high it can go. That way, the player is rewarded for long-term dedication to using the Prayer ability, literally leveling it up with use. I could even give this reward regardless of whether a particular Prayer usage has an effect or not. The downside of this would be that I'd have to make the growth so gradual as to be unnoticeable, and using Prayer would still be a boring grind much of the time. It also doesn't do much, on its own at least, to address the problem of forcing higher-level effects. Finally, one of the aspects of the game is that it has a randomdungeonquest generator for challenges outside of the main story mode, and the characters' levels, equipment, etc. from story mode don't apply there. This means that Aubrey's "Prayer meter" would start at 0 during any side challenge and wouldn't build up to anything significant over the course of the challenge (or if it did the story mode's meter would hit full power shortly into the game).
The solution I settled on to try, and which currently exists in the game as of this writing, is to remember the highest random number selected by the Prayer algorithm (before subtracting the health percentage) since the last time Prayer had a successful effect. Whenever Prayer is used, that previous highest number is compared to the new roll, and whichever one is higher is actually used (and remembered in turn if it still wasn't enough to overcome the health percentage). It's a bit like the initial "Prayer meter" idea in that it increases the likelihood and power of the eventual effect when it finally does succeed, but the player can never be sure what they've stored up because it's random and hidden. It also keeps higher-level effects inaccessible except in dire situations -- for example, even if your stored Prayer value is 100, you'd need to use Prayer while the party has less than 10% health in order to get the instant-win effect. It still does promote the "stockpile then sit on it" mentality, though. :/
A few months ago, somebody said something in a discussion about alternative experience/leveling systems which caused me to consider actually resetting character levels after each quest in the game. Recently it's occurred to me that if levels are frequently being reset, then I could do the same with an accumulated "Prayer meter". 8o The player could build up points using Prayer relatively quickly within a single quest, and it wouldn't matter whether they're in story mode or a side challenge because they start from the same baseline in every quest anyway. It wouldn't promote "stockpile and sit" because getting a successful Prayer effect wouldn't blow the accumulation; it acts more like a permanent (within the quest, at least) character growth. There's still the issue of forcing higher-level effects, but that can be averted by having the "Prayer points" do something other than simply boost the random number. My favorite idea thus far is to have them cut the reducing effect of party health, say by half when the "Prayer points" are at full strength. That way, the Prayer ability will have at least a 50% chance of making something happen when used at full strength, even if the party is currently at full health -- yet the higher-level effects, most importantly the instant-win, will still only be accessible in dire situations and will be no more likely than the lower-level ones.
There's still plenty of considerations to think about. The possible effects could be revamped, replacing some with other, more original effects or rearranging their order. The Haste-granting Eagle's Wings effect in particular is very low in the tier for how useful it is...but then, is it a bad thing to have a really good effect possible even when the party's health is still relatively high, enticing the player to go for it? I could also make the algorithm that decides how dire the situation is take into account more than just the percentage of party health remaining. Should mana be important too? Should having a party member be actually KO'd count for a little extra bump beyond the fact they've lost all health? How about status ailments, or the relative strength of the enemies' stats compared to the heroes'? I could even weight the probabilities of the different possible effects according to what's most useful in the current situation -- after all, it would make sense for the goddesses of the Zelda 'verse to intelligently select a helpful thing to do rather than being strictly bound to a numerical table. ;)
Thanks to anyone who actually took the time to read through and (hopefully) understand all this. X) To summarize and give a handle for anybody who was tl;dr, here are the things I'd like feedback/discussion about:
Since somebody was actually interested enough in Aubrey's Prayer ability last time to post a reply about it, I'd like to go a bit more in-depth on it this time and see if I can get any further useful feedback. Specifically, I want to talk about the algorithm used to decide what the random effect of Prayer is. Just in case anyone wants to know what all of the possible effects are, I'll list them in the show/hide box below.
Din's Wrath:
Success rate of 91-100
Battle is automatically won, regardless of what the foe is
Farore's Blood:
Success rate of 81-90
Removes all status ailments from entire party and restores 100% HP
Nayru's Protection:
Success rate of 71-80
Inflicts Reflect on entire party
Sword of Vengeance:
Success rate of 61-70
Halves remaining HP of all enemies
Breath of Heaven:
Success rate of 51-60
Removes all status ailments from entire party and restores 50% HP
Holy Terror:
Success rate of 41-50
Inflicts Confused on all enemies (no chance of failure, even against enemies which are normally immune to Confused)
Judgment:
Success rate of 31-40
Strikes a random enemy with strong non-elemental damage
Healing touch:
Success rate of 21-30
Removes all status ailments from entire party and restores 25% HP
Eagle's Wings:
Success rate of 11-20
Inflicts Haste on entire party
Rebuke:
Success rate of 1-10
Strikes a random enemy with medium non-elemental damage
Success rate of 91-100
Battle is automatically won, regardless of what the foe is
Farore's Blood:
Success rate of 81-90
Removes all status ailments from entire party and restores 100% HP
Nayru's Protection:
Success rate of 71-80
Inflicts Reflect on entire party
Sword of Vengeance:
Success rate of 61-70
Halves remaining HP of all enemies
Breath of Heaven:
Success rate of 51-60
Removes all status ailments from entire party and restores 50% HP
Holy Terror:
Success rate of 41-50
Inflicts Confused on all enemies (no chance of failure, even against enemies which are normally immune to Confused)
Judgment:
Success rate of 31-40
Strikes a random enemy with strong non-elemental damage
Healing touch:
Success rate of 21-30
Removes all status ailments from entire party and restores 25% HP
Eagle's Wings:
Success rate of 11-20
Inflicts Haste on entire party
Rebuke:
Success rate of 1-10
Strikes a random enemy with medium non-elemental damage
My original algorithm for Prayer was to simply pick a random number between 1 and 100, then subtract from that the percentage of maximum HP the party as a whole has remaining. If the result was 0 or less, nothing happened; otherwise, one of ten possible effects are chosen based on how high the result was -- effect 1 if the number is between 1 and 10 inclusive, effect 2 if the number is between 11 and 20 inclusive, etc. all the way up to effect 10 if the number is between 91 and 100 inclusive. This relatively simple system not only ensures that Prayer is more likely to work the more desperate the overall situation is, it creates a situation where the higher-level effects are only seen when things get really bad -- yet you're far from guaranteed to see them even when the party's overall HP is practically 0 because the lower-level effects are just as likely to happen.
Eventually, I began to feel a little dissatisfied with this arrangement, because it makes using Prayer run counter to general sound play strategy. It makes sense and sounds cool for Prayer to save the day in dire situations, but a knowledgeable and skilled player would avoid getting into such situations most of the time. Even when they do find themselves on the ropes, they'd probably rather focus on more expensive but sure methods of recovery unless they're really low on mana and recovery items, especially since Aubrey is already the game's best healer even apart from the Prayer ability. Prayer would be an ability most players would only use when it's their last option, and special abilities should be more exciting and worthwhile (when properly used) than the more basic move options. There's also the consideration that I don't want to imply the real-life lesson that praying only does any good when things are bad. X) Just the opposite in fact, prayer "works" best when diligently pursued at all times, and ideally I'd like my game to reflect that truth, though I'm sure I'll never create a game mechanic to do proper justice to all aspects of the concept.
So I began to ponder ways to make the Prayer ability have some manner of strategic usefulness even when the party is doing well. At the same time, though, I didn't want to lose that sense of it saving the day when things are rough, and I especially didn't want the highest-level effects (which include total party heals and instant wins) to be accessible without significant risk. The most obvious solution was to have some sort of "Prayer meter", a resource that builds up when the Prayer ability is used but doesn't have an effect. It could, for example, add ten to the base roll, so that the initial number selected is between 11 and 110. Then if the next Prayer attempt still does nothing, it would roll from 21 to 120, and so on and so forth until an effect actually happens and the base is reset. There are a couple problems with that approach, though. It would be possible for a player to build up a reserve of "prayer points" like that, say up to 50 or maybe even 70, by using Prayer only when the party's health is at or near maximum and getting "lucky" enough to avoid blowing it on an actual effect. Then they could sit on that cache until a boss fight, let themselves get down to fairly low health, and then use Prayer to have an over 50% shot at the instant win. I could probably mitigate that with some fancy corrections to the way the math works, but still, the general idea of building up a meter that is then expended creates the temptation to spend a bunch of turns stockpiling, then not use the ability until a highly advantageous moment. This is a mechanic that would be finicky, frustrating when unsuccessful, and BORING to set up. Also, I don't much like how it causes one to think of prayer as a capital to be hoarded and exploited, and the fact that it can force a higher-level effect to be drawn. I want to let the player be rewarded for using Prayer often, but ultimately still have the effect of it be outside their control.
Another possible variation on this idea might be to not reset the "Prayer meter" when a successful effect is drawn, and make the build-up much more gradual. I could give a single "Prayer point" for each use of the ability, and perhaps cap how high it can go. That way, the player is rewarded for long-term dedication to using the Prayer ability, literally leveling it up with use. I could even give this reward regardless of whether a particular Prayer usage has an effect or not. The downside of this would be that I'd have to make the growth so gradual as to be unnoticeable, and using Prayer would still be a boring grind much of the time. It also doesn't do much, on its own at least, to address the problem of forcing higher-level effects. Finally, one of the aspects of the game is that it has a random
The solution I settled on to try, and which currently exists in the game as of this writing, is to remember the highest random number selected by the Prayer algorithm (before subtracting the health percentage) since the last time Prayer had a successful effect. Whenever Prayer is used, that previous highest number is compared to the new roll, and whichever one is higher is actually used (and remembered in turn if it still wasn't enough to overcome the health percentage). It's a bit like the initial "Prayer meter" idea in that it increases the likelihood and power of the eventual effect when it finally does succeed, but the player can never be sure what they've stored up because it's random and hidden. It also keeps higher-level effects inaccessible except in dire situations -- for example, even if your stored Prayer value is 100, you'd need to use Prayer while the party has less than 10% health in order to get the instant-win effect. It still does promote the "stockpile then sit on it" mentality, though. :/
A few months ago, somebody said something in a discussion about alternative experience/leveling systems which caused me to consider actually resetting character levels after each quest in the game. Recently it's occurred to me that if levels are frequently being reset, then I could do the same with an accumulated "Prayer meter". 8o The player could build up points using Prayer relatively quickly within a single quest, and it wouldn't matter whether they're in story mode or a side challenge because they start from the same baseline in every quest anyway. It wouldn't promote "stockpile and sit" because getting a successful Prayer effect wouldn't blow the accumulation; it acts more like a permanent (within the quest, at least) character growth. There's still the issue of forcing higher-level effects, but that can be averted by having the "Prayer points" do something other than simply boost the random number. My favorite idea thus far is to have them cut the reducing effect of party health, say by half when the "Prayer points" are at full strength. That way, the Prayer ability will have at least a 50% chance of making something happen when used at full strength, even if the party is currently at full health -- yet the higher-level effects, most importantly the instant-win, will still only be accessible in dire situations and will be no more likely than the lower-level ones.
There's still plenty of considerations to think about. The possible effects could be revamped, replacing some with other, more original effects or rearranging their order. The Haste-granting Eagle's Wings effect in particular is very low in the tier for how useful it is...but then, is it a bad thing to have a really good effect possible even when the party's health is still relatively high, enticing the player to go for it? I could also make the algorithm that decides how dire the situation is take into account more than just the percentage of party health remaining. Should mana be important too? Should having a party member be actually KO'd count for a little extra bump beyond the fact they've lost all health? How about status ailments, or the relative strength of the enemies' stats compared to the heroes'? I could even weight the probabilities of the different possible effects according to what's most useful in the current situation -- after all, it would make sense for the goddesses of the Zelda 'verse to intelligently select a helpful thing to do rather than being strictly bound to a numerical table. ;)
Thanks to anyone who actually took the time to read through and (hopefully) understand all this. X) To summarize and give a handle for anybody who was tl;dr, here are the things I'd like feedback/discussion about:
- I'm thinking of switching to a system wherein using the Prayer ability gradually (but noticeably) increases its usefulness within a dungeon/quest, then resets when the quest is over (the same thing happens to character levels in general). See any problems with this approach?
- Any ideas for improving the possible Prayer effects, listed in the show/hide box above?
- What should be taken into account for deciding how dire the player's situation is? Health, mana, status conditions, enemy strength?
- Any clever ideas for generally making the Prayer ability better? Even total departures from the current system are welcome, I'm going to reimplement things in DynRPG anyway...