Flowcharts?

Discussion in 'The Vault' started by Guest, Oct 25, 1999.

  1. Guest

    Guest Guest

    can someone briefly describe what a flow chart is and how to read it or point me to a FAQ that can?thx in advance
     
  2. Nutlog

    Nutlog Well-Known Member

    A flowchart refers to a diagram that describes what events and situations will result from a given set of circumstances. To use a flowchart in VF3, basically someone is referring to a certain situation and the options you have from that point. Here is an example:

    Akira hits with P for a major counter. He can:

    -----A) Dash forward and throw them while they are stunned from the counterhit.
    -----B) Execute f,f+P. With the advantage severely in his favor, the elbow will stuff any counter attack, possibly even causing a float.
    -----C) Anticipating their attempt to escape a throw, Akira can crouch dash. This sets more options if the person swings high or whiffs the escape:
    ----------A) Execute a shoulder ram. Causes a huge float from the major counter (or minor if your a little off on timing). Combo at will
    ----------B) Throw the opponent. One thing to remember is that all characters can execute any throw from a crouching position. You just have to return
    ---------- stick to neutral before inputting the commands for it. Regular P+G throws (no commands) can be executed from crouch, but missing will
    ---------- cause you to stand up.
    ----------C) Single Palm. If you don't feel comfortable with your combo ability, this is a decent trade off. Produces excellent damage in the situation
    ---------- (optimal damage is about 70 pts), is easy to do (f+P from a crouching position), and even if it dosn't knock down your opponent, leaves you
    ---------- with the advantage.
    ----------D) Double Palm. If you just want to hurt them and look brutal in doing so. Does SLIGHTLY more damage than the single palm, but just looks
    ---------- painful as hell, plus it's accompanied by a nice vocal from Akira. Performed by doing b,f+P from a crouching position. Has 1 advantage in that
    ---------- it is more useful in wall combos than the single palm, as it will hit lower to the ground than the single.
    ----------E) Low punch, causing a major counter. This opens up it's own flowchart, which is much like the standing punch minus a couple options, but
    ---------- adding some more immediate pay-offs.

    Actually there are more options, but these would be the main ones. And by showing that, I hope I showed how and what a flowchart is and does. It's really nothing more that saying it's a set of options, but it always helps to have your options mapped out. (variety is the spice of life)

    Nutlog
     
  3. uk-guy

    uk-guy Well-Known Member

    Nutlog wrote:

    --------------------------------------------------------------------------------
    B) Throw the opponent. One thing to remember is that all characters can execute any throw from a crouching position. You just have to return stick to neutral before inputting the commands for it. Regular P+G throws (no commands) can be executed from crouch, but missing will cause you to stand up.
    --------------------------------------------------------------------------------

    Some characters cannot execute certain throw when they are crouching.

    For example whilst Kage can do the classic:
    elbow(stagger)> crouchdash> b,d+P+G

    Akira can't because he cannot do his stumble trip (b,d+P+G) from crouching, you'll always get the normal P+G if you try. Tis was also the case for Akira in VF2.

    regards

    UK Guy




    Yomi is the key.
     
  4. Rulakir

    Rulakir Well-Known Member

    Well, since nutlog and UK Guy have already answer what a flowchart basically is, I wouldn't need to go further. However, just in case you're still hunting around, and eager to learn, here's a simple link that you can browse through all you want.

    It consists of the basic flowcharts for each character, and is pretty nicely done. (Compared to many FAQs lurking around.) So you should have a pretty good idea of the various possibilities. Note that you can also enhance these basic flowcharts with your own variants, or modifications. Why be a textbook based player ? /images/icons/smile.gif


    Lau Kid's Beginners Page
    http://www.geocities.com/TimesSquare/1954/beginner/index.html


    -Rulakir
     
  5. ice-9

    ice-9 Well-Known Member

    The usefulness of flow charts depends from player to player. Some find it really helpful in structuring thoughts and guessing game opportunities, some find it a more confusing way of stating what is obvious (though in a more subtle way).

    At its heart, a flow chart is a statement of options that are available to you.

    Let's use a simple example. What sort of options are available to say, Jacky, after a P(G)?

    <pre><font face=courier>
    After P(G)
    -> elbow (f+P) if you think opponents are crouching or trying to counter
    with slow move
    -> finish with the elbow with the canned kick (as in f+P,K) if the
    elbow hits the opponent
    -> dash forward and throw if the elbow staggered the opponent
    -> f,f+K if the opponent struggles or attempts a simple throw escape
    -> low kick (d/b+K) mainly to counter opponents' response attacks but also
    if the opponent just stands and guards
    -> finish the low kick as double low kicks (as in d/b+K,K)
    -> elbow (f+P) if opponent anticipates second low kick and blocks low
    -> P to interrupt opponent if he struggles, repeat P(G) flow chart
    -> dash forward and throw if you think the opponent will just stand there
    and guard in anticipation of any of the above attacks
    -> escape (E or d+E) in anticipation of a response attack from the opponent
    after a P(G)</font>
    </pre>
    These are the four main options after a standing P that you should think about (there are of course more, but they are more sophisticated and not necessary for the purposes of this discussion).

    However, because there are always options after anything you do, how you "fight" flows from one guessing game to another. This is why we call these diagrams "flow charts", to help players structure the sort of options available at every juncture.

    For example, you will notice that after the elbow there are sub options that you can do afterwards. These options in effect are a flow chart for an elbow. I also included a basic flow chart for the single low kick. So as you can see, almost every single move has a flow chart of its own, and so in combat, what happens is that you "flow" from one move to another, keeping in mind what sort of attack options are available to you.

    However, because nobody really has a time to map out all the possibilities, most writers only mention the main flow charts (i.e. P(G) flow chart, stagger flow chart, etc.).

    Does this help clear things up? If not, please say so and I will try to elucidate some more.

    ice-9 | Sennin
     
  6. Guest

    Guest Guest

    thx a million guys, makes perfect sense now, lemme make sure i got this straight, a flow chart is just a list of options that are available depending on the current situation and what you think the opponent is about to do.
     
  7. ice-9

    ice-9 Well-Known Member

    Hmm, just thought of a way....

    Just thought of a way to make this more clear, especially to all you computer programmers out there.

    The options for a flow chart is basically a whole list of "if" and "else if" statements. If I think the opponent will do this then I will execute this function, else if he does this, I will choose this function, etc.

    After choosing which "if" pathway to go with, you execute the function (i.e. attack or move) and are immediately presented another set of "if" statements.

    So basically, this process recycles itself until the match ends.

    Here's an example of what I mean, in pseudo code:

    <pre><font face=courier>
    void StandingPunch(ifstream & OpponentReaction)
    {
    execute P(G);

    if(OpponentReaction == hit)
    {
    OpponentHealth = OpponentReaction - StandingPunchDamage;
    if (OpponentHealth == 0)
    {
    break;
    }
    }

    if (OpponentReaction == standing)
    {
    DashAndThrow(OpponentReaction);
    }

    else if (OpponentReaction == crouching)
    {
    Elbow(OpponentReaction);
    }

    else if (OpponentReaction == attacks)
    {
    Escape(OpponentReaction);
    }

    else
    {
    LowKick(OpponentReaction);
    }
    }

    void Elbow(ifstream & OpponentReaction)
    {
    execute f+P;

    if(OpponentReaction == hit)
    {
    OpponentHealth = OpponentReaction - ElbowDamage;
    if (OpponentHealth == 0)
    {
    break;
    }
    }

    if (OpponentReaction == stagger || OpponentReaction == majorCounter)
    {
    if (OpponentReaction == noRecovery)
    {
    DashAndThrow();
    }

    else (OpponentReaction == recovery)
    {
    f,f+K();
    }
    }

    else if (OpponentReaction == hit)
    {
    ElbowSpinKick();
    }

    else if (OpponentReaction == blocked)
    {
    if (OpponentReaction == crouch)
    {
    Elbow();
    }

    else if (OpponentReaction == attack)
    {
    StandingPunch();
    }

    else if (OpponentReaction == stand)
    {
    DashAndThrow();
    }

    else
    {
    LowKick();
    }
    }
    }

    /* As you can see, there are functions for every single move, and
    your "program" jumps from function to function, passing in OpponentReaction.
    The program continues until someone loses. */

    int main
    {
    ifstream OpponentReaction;
    ifstream OpponentHealth;
    int YourHealth;

    while (OpponentHealth != NULL && YourHealth != NULL)
    {
    StandingPunch(OpponentReaction); // This is the round opening move
    }

    return 0;
    }
    </font></pre>

    Assume classes exist that specify what variables like "attack", "crouch" etc. are.

    ice-9 | Sennin
     
  8. Nutlog

    Nutlog Well-Known Member

    Re: Hmm, just thought of a way....

    *ROFL*

    You realize that if the computer fought like this with no variation and had full routines for elbows and low punches, you couldn't beat it. :p

    Nutlog.
     

Share This Page