Castle Paradox Forum Index Castle Paradox

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Gamelist   Review List   Song List   All Journals   Site Stats   Search Gamelist   IRC Chat Room

Blue Magic
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Castle Paradox Forum Index -> The Arcade
View previous topic :: View next topic  
Author Message
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Sun Apr 15, 2007 7:42 pm    Post subject: Reply with quote

You don't need to do checks during or before a battle. You can do all of the checks to see if a Blue Mage is alive in an after-battle script, before giving the Blue Mage the spell. Even if the tag is set to be on, you can check to see if the Blue Mage is alive or in the party before teaching the spell, and if he is dead or not in the party, you can turn the tag back off and not teach him the spell.

Which leads me to a different method I came up with...

1) Have four different attacks, corresponding to their own tag (I would reserve tags with some range of number, like 800-999 so that I can keep organized). Use the "On Hit, set tag# = on" in the attack editor. Let's use tags 800-803 as an example.

2) After the battle, if a tag is on, like 803 have it check the corresponding hero slot you chose so see if a Blue Mage is both alive and in that slot (in this case, slot 4). If so, give the Blue Mage that spell.

3) If the Blue Mage isn't in that slot, turn the tag off and continue the loop.

I would use four different for loops that all count by four, that way it will be easier to script this beast.

Quote:
(although this would be horrendous if there are many enemies and many skills to learn in the game).
If you have too many skills to learn, then you probably have some useless or redundant skills anyway. We just lined up a lot of skills that a Blue Mage should have, which will probably only total up to less than 20 in the end (plus different enemies can have the same Blue Magic skill.)
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
msw188




Joined: 02 Jul 2003
Posts: 1041

PostPosted: Sun Apr 15, 2007 8:21 pm    Post subject: Reply with quote

To Newbie Power:

I don't think you are quite grasping the problem that my method was devised to solve. In my system, it is not important that the learner was targetted by the attack he is trying to learn; my learner would learn by observing, NOT by being hit. Otherwise, there is no way to learn any kind of healing or support kinds of skills. Your system would not have the learner learn the skill unless they were actually hit by the skill, which was not my goal.

Given that, it might seem that no slot-usage is necessary and one could simply check after battle whether or not the learner is alive before awarding the skill. My problem was the following scenario (and I'm sure I posted this somewhere up there...): suppose that the learner is dead when a skill is used. The skill's tag is turned on. Then, before the battle ends, the player manages to revive the learner. Then after the battle, the learner checks out as alive and the tag is on. But the learner should not learn the skill if he was dead when it was used. This problem is solved by my slot & tag system, I believe.

Your system could also get into trouble, I would think, with skills that target the whole party. What tag do these attacks turn on? A fifth, so that you are checking in loops of five? Furthermore, tags are something we have a rather limited number of, as compared to enemies and attacks. I believe that my system is cleaner and better, AS LONG AS you want the learner to learn the skill by observing it, regardless of who it targets.

Also, your claim
Quote:
If you have too many skills to learn, then you probably have some useless or redundant skills anyway. We just lined up a lot of skills that a Blue Mage should have, which will probably only total up to less than 20 in the end (plus different enemies can have the same Blue Magic skill.)

may apply to you, but not necessarily to everyone. The method we are discussing is not just for 'Blue Magic' a la Strago, but can be generalized to Gau-type proportions quite easily.

Actually, this gave me another idea, only SLIGHTLY off-topic. How about a system where the hero can learn a whole bunch of different skills, but can only retain so many of them at once? Then the player would have to choose certain skills to lose in order to make room for new ones. This would possibly make for a very customizable character, while putting a limit on just how versatile the player can make them. On the other hand, if the player is not happy with a past choice, he can go back and re-learn what he gave up, if he remembers how to learn it.
_________________
My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161

This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com
Back to top
View user's profile Send private message Visit poster's website
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Sun Apr 15, 2007 8:41 pm    Post subject: Reply with quote

Quote:
I don't think you are quite grasping the problem that my method was devised to solve.
That's because I only thought you were trying to solve the problem of my system only working in slot one.

Quote:
In my system, it is not important that the learner was targetted by the attack he is trying to learn; my learner would learn by observing, NOT by being hit.
Ok. For attacks that he can't get hit by, use the "On Use", and change your script accordingly for said spell.

Quote:
suppose that the learner is dead when a skill is used. The skill's tag is turned on.
Can you even target a dead learner? "On hit" suggests that the attack actually hits, which can't be possible if the hero is dead.

And I posted my own version of the slot and tag system, that uses four tags instead of five different attacks. It's the same concept, just done differently.

Quote:
Your system could also get into trouble, I would think, with skills that target the whole party. What tag do these attacks turn on?
EDIT: See below for my change.

Quote:
Furthermore, tags are something we have a rather limited number of, as compared to enemies and attacks.
Ok. I'll give you that one. Your system doesn't waste as many tags.. Although I could modify mine so that there are four tags for every attack that determine position, and then up to 50 tags that are the actual attacks. Yeah, that's a lot better now that I think about it. Only 54 tags (quite possibly less if you don't go overkill with Blue Magic) used that time.

Quote:
but can be generalized to Gau-type proportions quite easily.
Gau isn't a Blue Mage. FFTA defined his character type as a "Beast Master" (I think. Moogle1 can probably correct me here) which does the same thing Gau does. Gau literally turns into a monster, and has all of its attacks, even the "Fight" command which would be silly to make into Blue Magic.
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
Moogle1
Scourge of the Seas
Halloween 2006 Creativity Winner
Halloween 2006 Creativity Winner



Joined: 15 Jul 2004
Posts: 3377
Location: Seattle, WA

PostPosted: Sun Apr 15, 2007 8:53 pm    Post subject: Reply with quote

I think you're thinking of the Morpher class? Either way, Gau is a singular character in the Final Fantasy world; the closest thing to it is probably the lame Tamer class from FF5 or the stupidly powerful Morpher class from FFTA.

One problem with the solution you're proposing is that the enemy will attack the Blue Mage disproportionately often if you have one copy of the normal attack and another of the BM attack. A workaround (one that is much simpler, too) is to just create four copies of each attack, one for each slot, then give the monster all four. You can check after battle if the hero's slot's tag is set. This severely limits the monster's other attack options, unfortunately.

Also unfortunate is that the solution won't work at all for spread attacks. Your best bet may just be to allow the BM to learn the spell if he is alive at the end of battle. You can make up some story fudge about how the character is able to osmose the spell while unconscious as long as he revives soon enough afterwards, I don't know.
_________________
Back to top
View user's profile Send private message Visit poster's website AIM Address
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Sun Apr 15, 2007 9:07 pm    Post subject: Reply with quote

Quote:
One problem with the solution you're proposing is that the enemy will attack the Blue Mage disproportionately often if you have one copy of the normal attack and another of the BM attack. A workaround (one that is much simpler, too) is to just create four copies of each attack, one for each slot, then give the monster all four.
*nods* I guess the work around would be to use some sort of helper to add attacks, but yeah. I'll change my mind and go with four attacks.
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
msw188




Joined: 02 Jul 2003
Posts: 1041

PostPosted: Mon Apr 16, 2007 5:12 am    Post subject: Reply with quote

Okay, either I'm misunderstanding you, Moogle, or you're misunderstanding me. In my system, only one attack slot is used (unless there is more than one learner), and there really only exists one copy of the skill itself. However, there are four OTHER attacks that are set to target by slot. These attacks do NOTHING other than set the tag, and then chain to the actual skill. In effect, all they are doing is testing whether or not the learner is alive in his given slot. The skill attack is NOT set to target the previous target, but instead is set to randomly choose its target, as if it is a new attack. Thus the learner should not be targetted by the actual attack any more often than anyone else, only one tag is needed per attack (unless there is more than one learner), and the skill is never used if the learner is dead. That, by the way, is the main flaw - the enemy cannot use the skill if the learner is dead. But this will only be an issue until the skill is learned (see my post above).

So, as long as there is only one learner, my system uses five attacks per skill (the skill itself, plus the four slot checks); five copies of each enemy (one for each slot that the learner may be in, plus one for if the learner is not present, all assuming that you cannot change an enemies attacks using plotscripting); one attack slot per enemy (either the slot check that will chain to the actual skill, or just the skill itself); one tag for each attack (all four slot checks can safely target the same tag); and is learned by observation, but ONLY if the learner is alive WHEN THE SKILL IS USED.

Also, even though the topic began as "Blue Magic", I don't think we should allow Final Fantasy's definitions to dictate the limits of our systems. It is up to the game author how many skills can be learned by observation, and whether or not they are restricted only to magic. I'm trying to come up with as flexible a system as possible, and I'm pretty happy with what we've come up with so far. I may give a first try at making a contribution to the wiki with this.
_________________
My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161

This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com
Back to top
View user's profile Send private message Visit poster's website
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Mon Apr 16, 2007 8:05 am    Post subject: Reply with quote

Ok, I stopped caring whether there is one attack that chains, or four attacks on one enemy...

Your observation is simplified into two things in my system: Getting hit by the attack, or watching an enemy do a support spell (only because there isn't reflect yet).

For attacks that hit, it must actually hit. Miss or otherwise, then it doesn't set the tag on.

For attacks that a Blue Mage has to observe and not get hit by, it just checks to see if the Blue Mage is in the party before setting the tag.

Then the rest is done afterward, without much need to make five different enemies and switching them out before a battle starts.

I decided not to care about what Blue Mage attacks are defined. Just keep it different than other magic so it will actually be interesting and fun to use. That's the point of Blue Magic is: for semi-different strategy and formula in magic spells, not because Final Fantasy does it and you should too.

Instead of assigning attacks to tags, we need to find a way to use variables instead. That would be a better answer than both of our ideas.
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
msw188




Joined: 02 Jul 2003
Posts: 1041

PostPosted: Mon Apr 16, 2007 5:30 pm    Post subject: Reply with quote

It would be so lovely to be able to affect variables in battle. Even just one global variable reserved for battle targetability would be beyond mortal beauty. We can fake it using the extra stat right now, but that extra stat is visible on the status screen, a possible cause of confusion for the player. Plus, the extra stat is often used for many other interesting things already.

Quote:
For attacks that a Blue Mage has to observe and not get hit by, it just checks to see if the Blue Mage is in the party before setting the tag.

This is exactly what all of my chaining junk is designed to do, except that it checks for whether or not he's alive as well. Regardless, I agree that we're really arguing over nothing at this point.

Quote:
I decided not to care about what Blue Mage attacks are defined. Just keep it different than other magic so it will actually be interesting and fun to use.

I agree completely.

Along these lines, I cannot wait until the OHR's battle code is finally cleaned up. It will be at that time, I'm thinking, that we can begin asking for more status effects, among other things.
_________________
My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161

This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com
Back to top
View user's profile Send private message Visit poster's website
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Mon Apr 16, 2007 5:34 pm    Post subject: Reply with quote

Quote:
It would be so lovely to be able to affect variables in battle. Even just one global variable reserved for battle targetability would be beyond mortal beauty. We can fake it using the extra stat right now, but that extra stat is visible on the status screen, a possible cause of confusion for the player. Plus, the extra stat is often used for many other interesting things already.
I meant for the actual list of spells when doing the loop. Tags would still be used for targeting.

Quote:
This is exactly what all of my chaining junk is designed to do, except that it checks for whether or not he's alive as well. Regardless, I agree that we're really arguing over nothing at this point.
Basically: It does the exact same thing. My question is, which do you find easier to implement if it is the exact same thing?
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
msw188




Joined: 02 Jul 2003
Posts: 1041

PostPosted: Mon Apr 16, 2007 5:50 pm    Post subject: Reply with quote

Okay, I guess we are still arguing about something. Our ideas are NOT the same. How do your observable support spells check whether or not the learner is in the party, and/or alive and thusly able to observe when the spell is cast? I'll agree that your method would be easier for single target attack skills (although it would take up four of the enemy's attack slots), but I honestly do not see how it would work for any other skills without a chain similar to what I am doing. And then, I believe that it is easier to use the same method for all attacks, if only for ease of the script outside of the battle.

Also, I got the gist of what you meant about variables, but it is impossible to get by on them alone because they cannot be affected by battle. Naturally there will be some serious variable usage to run the loops necessary to check everything efficiently.
_________________
My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161

This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com
Back to top
View user's profile Send private message Visit poster's website
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Mon Apr 16, 2007 6:08 pm    Post subject: Reply with quote

Quote:
Our ideas are NOT the same. How do your observable support spells check whether or not the learner is in the party, and/or alive and thusly able to observe when the spell is cast? I


Let's pretend there ISN'T a Blue Mage in the party, and this will be about Support Spells specifically.

1) Support Spell is cast. The battle doesn't care whether there is one or not, the tag is turned on.

2) The battle ends.

3) After-battle script runs.

4) Since there is no Reflect, enemies are smart enough not to cast Defense boosting spells on heroes, and hopefully other heroes having the same spell isn't the issue (and if it is, I will kill myself), there shouldn't be much point in checking the Blue Mage's position for a Support Spell.

5) But wait, we don't have a Blue Mage in the party, despite the tag being on.

6) What do we do? This is the point where we use an if/then statement. If (Blue Mage is in party) then (give him the spell). else if (he isn't in the party) then (turn the tag off and skip the code that gives him the spell).

Now how about if a Blue Mage exists in slot 3, and is trying to learn an attack spell, but it targets someone else instead?

1) The attack spell targets the non-Blue Mage hero. Tag #801 is set to on despite this.

2) The battle is finished.

3) First, we check the positions. if (tag 801 is on) then (if hero in slot (slot 1) is a blue mage then give him the spell. if (not a blue mage), then turn the tag off and get out of the if/then statement mess.

What about if a Blue Mage managed to observe a spell, but died afterward?

1) Yadda yadda, Blue Mage gets hit by Blue Magic. Logically, it would have learned it at this point, but then dies. Why is he able to learn it then? Because the tag is set to on.
1a) What if you don't like this rule?
1b) Then you simply check to see if the Blue Mage is alive after battle, and if he is not, then turn the tag off.

2) Battle Finishes.

3) After the battle, the after-battle script checks to see if the Blue Mage is in that slot. Even if he is dead, if the tag is on, the plotscript can safely assume that the Blue Mage got hit by Blue Magic, because I don't think enemies can target dead heroes unless manually told to (meaning that if the battle started with the Blue Mage dead, and he is never revived, he would have never gotten hit by the Blue Magic in the first place).

Basically, in those scenarios, all have one thing in common: It uses interpretive logic to determine the scenario before giving the Blue Mage the spell. If none of the criteria matches, then do not give anybody a Blue Magic spell.

The last thing is the loop that goes through all of the spells in the list. Let's assume we are using tags. The spell browsing loop will exist in its own function, and will go through up to 50 tags or more (if you are trigger happy with creating spells). If the Blue Mage is allowed to learn the spell as dictated by the upper loop, then this is basically the deciding factor of which spell, which would be a tag set by the attack.
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
Moogle1
Scourge of the Seas
Halloween 2006 Creativity Winner
Halloween 2006 Creativity Winner



Joined: 15 Jul 2004
Posts: 3377
Location: Seattle, WA

PostPosted: Mon Apr 16, 2007 6:11 pm    Post subject: Reply with quote

Ah, I see what you're talking about. That's actually a clever method, and it works for multitarget attacks.
_________________
Back to top
View user's profile Send private message Visit poster's website AIM Address
Newbie_Power




Joined: 04 Sep 2006
Posts: 1762

PostPosted: Mon Apr 16, 2007 6:15 pm    Post subject: Reply with quote

Quote:
Ah, I see what you're talking about. That's actually a clever method, and it works for multitarget attacks.
Who?
_________________

TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN?
Back to top
View user's profile Send private message
Uncommon
His legend will never die




Joined: 10 Mar 2003
Posts: 2503

PostPosted: Mon Apr 16, 2007 10:35 pm    Post subject: Reply with quote

It is, of course, much less of a hassle to the player and the creator if you just use the Final Fantasy 6 method of just seeing a learnable attack happen (be they support or attack) instead of the Final Fantasy 7 method of having to be hit by them, given what we currently have to work with and the methods suggested already, especially since FF7 had its own methods of forcing the attack on the learner, something we, once again, do not have the capabilities for. The target-specific checking is just too much trouble with too little accuracy and I can't actually think of a practical application of that targetting method in any situation to begin with.

There really shouldn't be so much argument over this. Just have all of the spells use the same method as the support spell plan Newbie outlined above. The attack sets a tag, then an after-battle script checks to see if the Blue Mage is in the party and alive. If so, he learns the spell. If he's out of the party or didn't survive through the battle, the tag turns off. Simple.

Now, why doesn't he get the spell if he saw it before he died? Well, it's the same concept of a dead character not getting any EXP, whether he died at the beginning of the battle or right before it ended. When the battle engine has advanced to the point where we can cast aside this convention, we'll be able to look at better ways of incorporating blue magic, but as it stands, the method I've suggested is the easiest and most practical.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
msw188




Joined: 02 Jul 2003
Posts: 1041

PostPosted: Tue Apr 17, 2007 6:36 am    Post subject: Reply with quote

Wow. I'm sorry, but I really feel like I'm talking to a wall right now. I understand all of what you are doing, honestly I do. The problem is that your logic doesn't support the case I originally pointed out as an issue, and I feel as though I keep repeating it, but maybe I'm not making it clear that this is the real reason I prefer my method:

A dead Blue Mage should NOT be able to observe anything.

In your system, suppose the BM is dead. The enemy casts the support spell, or spread attack spell. This turns the tag on, because the battle doesn't care and turns on the tag. We will take care of checking for the BM's existence outside of battle. If the BM is dead, we can decide not to give him the spell.

But what if the BM is revived mid-battle, after the support spell has been cast? Then your after-battle script will see that the tag is on, and that the BM is alive and present, and will award the spell. This to me is a serious flaw, logically inconsistent and counter-intuitive to the player. I do not see how your system can possibly correct this.

A second reason I prefer my method would be the following. As a player, I would expect my BM to learn all of his magic the same way. It seems counter-intuitive once again for some magic to be learned by observation, while other magic needs to be felt. But there is no way for a BM to 'feel' support or healing magic from the enemy without status effects like reflect, or confuse, or possibly some others that we don't have. This leads me to feel that all magic should be learned by observation, which my method does. But you have to be alive to observe. That is the main problem which my method was designed to solve.

As a side note, I don't think checking for death after battle is as much of an issue. As long as the BM was alive when the spell was cast, I would give him the spell afterwards. My script after the battle then would actually be quite simple, and it is the pre-battle script and in-battle stuff that gets somewhat complicated in my system.
_________________
My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161

This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Castle Paradox Forum Index -> The Arcade All times are GMT - 8 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group