PDA

View Full Version : Multiple Storylines


Christianello
2004-07-19, 07:38 PM
Alright...my immediate concern is in being able to make multiple storylines. I know how to do it, that much I've figured out...but what I need help with is this:

1) Making it so that after I complete one storyline, I can go back to the others and play through them without the completed one being playable.

2) Making it so that when all are completed, a ninth one can appear to be played. But not until those eight are (I have an idea on this, but any help is appreciated)

3) Making it so that as the player goes through one storyline, all characters that are NOT in their party/recruited will still randomly gain stat bonuses so that when they start over they have nice stats and the game doesn't get any easier.

4) On keeping the game difficult, does anyone know how to make it so that enemies level up as you do?

5) Finally...on selecting the hero you wish to use. Anyone know how to have a cursor that'll jump from one character to the next as you hit the 'over' key or anything like that? Or maybe has the character's in a circle that can be easily scrolled around without moving a cursor around?

Beyond that most of what I need I foudn tutorials about on GW, but these I'm still unsure on and I don't remember seeing anything on them. Thank you to anyone that can help, and to anyone who can't...thanks all the same. ^_^

BlueCube
2004-07-20, 11:11 AM
Nine storylines? Okay, I'm going to compare it to the part in Final Fantasy 3 where you basically split up your party and go on separate quests.

-----

We're going to assume the following:

--A "quest selection" area
--A variable to note which quest you're currently on

--------

1) Basically, at the end of a quest, you'd set a switch (something like [xxxx:TerraQuestDone]). The quest selection area would check for this switch, and if it's set to ON, you obviously can't go back into it. Just start the 9th quest right away (which is preferred, because there is absolutely no reason for a selector screen to have only one choice.)

2) The quest selection area would simply check to see if all available quest switches are set to ON. This would require a few nested branches, but it's not difficult.

3) No point in that, you can just set a variable to the "average party level" of whatever quest you're on, and set everyone else's level to that. Say, at the end of Sabin's quest, you'd add up the levels of Sabin, Cyan, and Gau, and divide by 3. If their average is something like 19, you would then store that in a variable, and on the next quest, add the variable to everyone's levels right at the start and subtract 1 (since they start at level 1, adding 19 would make it 20. Adjust this for whatever starting level they would have.) Not too useful to do overall, though - see below.

4) Impossible, unless you do a custom battle system. You CAN have it so you go to the same map with different monsters (based on how tough the party is) or give the monsters stronger attacks based on the party's average level, but other than that you're stuck with what you have. Kinda makes #3 rather useless. It's best to have the quests balanced out as though you start out at level 1 on each - it makes it much easier for all involved.

5) Use a "selector" charset (or use mine):

http://www.iownjoo.com/freeimghost/imps/selector.GIF

Then, you would just set up a separate, 20x15 map, and make your hero invisible. Make the selector a parallel process, and do something like the following:

s 1 2 3 4
5 6 7 8

s = Selector char (above hero)
# = Quest icons/chars (below hero)

Now, you want the parallel process to do somethng like this (not going to do the actual coding right now, but you can figure out what's going on. This will "wrap" around at the left/right edges.



// Pre-loop preparation
<> Move selector Right 3 spaces
<> Set variable [xxxx:CursorLocation] to 1

<> Enter Loop
// Grab keyboard input - Only Left/Up/Right/Down/Enter
<> Get input key, put it in [xxxx:KeyPressed]

// If you pressed down, you go down
// But only on the top 4 quests
<> If KeyPressed = 1 (DOWN)
<> If SelectorLocation < 5
<> Move Selector Down 3
: End
:End

// Left goes left, except at 1 and 5, which are at the
// left-most edges. For these, we "wrap' around to the other side.
<> If KeyPressed = 2 (LEFT)
<> If SelectorLocation = 1
<> Move Selector Right 3, Down 1, Right 3, Down 1, Right 3, Down 1
<> Else
<> If Selector Location = 5
<> Move Selector Right 3, Up 1, Right 3, Up 1, Right 3, Up 1
<> Else
<> Move Selector Left 3
:End
:End
:End

// Pressing Up makes you go up (see a pattern?)
// Only allowed to go up if you're on the bottom 4 quests.
<> If KeyPressed = 1 (UP)
<> If SelectorLocation > 4
<> Move Selector Up 3
: End
:End

// Right goes right. Just like the left subroutine,
// this one "wraps" around at the right-most edges.
<> If KeyPressed = 2 (RIGHT)
<> If SelectorLocation = 4
<> Move Selector Left 3, Down 1, Left 3, Down 1, Left 3, Down 1
<> Else
<> If Selector Location = 8
<> Move Selector Left 3, Up 1, Left 3, Up 1, Left 3, Up 1
<> Else
<> Move Selector Right 3
:End
:End
:End

<> If KeyPressed = 5 (ENTER)
// This part checks to see if you
//already did these quests.
<> If Selector Location = 1
<> If Switch DidQuest1 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 2
<> If Switch DidQuest2 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 3
<> If Switch DidQuest3 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 4
<> If Switch DidQuest4 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 5
<> If Switch DidQuest5 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 6
<> If Switch DidQuest6 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 7
<> If Switch DidQuest7 = OFF then
<> Break Out of Loop
:End
:End
<> If Selector Location = 8
<> If Switch DidQuest8 = OFF then
<> Break Out of Loop
:End
:End
:End
:End Loop

// Here, you would set up everything you
// need to start the quest. Just do another set of
// branches like the ones that broke you out of the loop.

Christianello
2004-07-20, 12:13 PM
Thanks, this is exactly what I was needing. ^_^

As for #'s 3 and 4...I am using a custom battle system that'll give my game a slight SaGa Frontier-ish feel, as in you can see the enemy sprites and only by touching them do you enter a 'battle'. I just wanted to know how to give the party a boost at the start of each quest to keep the game from going back to being too easy after awhile. But I'll give your suggestion a try as well.

Thank again. ^_^ I really appreciate it.

BlueCube
2004-07-20, 01:17 PM
Ahh, you're using the default battle system, but just entering battle in a different way?

In that case, you can just have it branch within the event, to different monsters, based on levels.

A "slime" monster might branch from a Green Slime (easy) to an Iron Slime (hard) or something, based on the level of your current hero. Otherwise, it's exactly the same - just a stronger version of each monster to fight. Maybe a total of 8 different variations of each monster (slime, bat, whatever), one for every 10 levels or so. Of course, bosses would have to be the same way, but that's obvious.

Christianello
2004-07-20, 03:23 PM
Yes, default battle but with a different way of entering. And with what you've said here I think I can do it. Thanks again. Much better than anywhere else I've asked for help. ^_^