Jump to content
  • Advertisement

Dante3085

Member
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

4 Neutral

About Dante3085

  • Rank
    Newbie

Personal Information

  • Role
    Programmer
  • Interests
    Art
    Design
    Programming

Social

  • Github
    Dante3085

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. But if i only test for the rectangle button not being pushed, you could stall the combo indefinetly, right ? I need to keep track for how long it's pushed. Maybe you actually accomodated for that in the diagram, since you put "0..1.3" beside the crossed rectangle button. I am not shure.
  2. That's a great simplification! You mean letting go of the previously pressed button would first lead into a neutral state in which the real check for the next part of the combo would take place ? I guess that would also require the following... 1. Look at how long the button is held for and return to start state if it is held for too long. 2. If button is released in time, go to neutral state and check for next input.
  3. Yes, I have worked with several Diagram software(UML stuff). I often find them a bit annoying to use, so I just like to draw by hand or do it myself another way. Example: I push square and the Character performs a "Left-Jab". After that, for a short amount of time (the time window), I have the opportunity to press square again, so that the Character performs a "Strong-Jab". If I fail to press square again during that short amount of time, the Character returns to his initial state. Do you mean a specific programming problem ? My basic problem is just finding satisfying model that can easily be translated into an implementation (basically high level pseudocode). Other than that, I am not shure what you mean. I am using C++ SFML and my project is not much more than the title says. I am planning to visualize that ComboSystem with an AnimatedSprite implementation. Currently I just have "Translating numeric input from a PS4 Controller to enum form (PS4Input::SQUARE, ...)" implemented. So there is not much Code to show. The only specific problem I had until now is something related to measuring time with SFML. So I am not shure if this is the right place to ask about that.
  4. How would the timestamp exactly work ? Would it be storing the time when the input first arrived in the program and correcting for it when the input arrives at the State Machine for processing ?
  5. I have remodeled the problem using a State-Machine. I think it's a lot simpler and easier to understand.
  6. Thanks for you'r reply, aswell. I was actually struggling a bit with notating my ideas as clearly as possible. Color Coding the Buttons and other visual approaches are definetly a good idea. I get the idea of making a diagram easier to "read" by having less to actually read, but for some reason I always have in the back of my mind that I only know how to read a diagram because while making it I have the correct assumptions in my head. It's like looking at other's code or at code you wrote a while ago. You just don't what you meant anymore. So I like to spell it out less ambigous sometimes. But I'll definetly try to change my approach if that's really the better option.
  7. Thanks for the reply. I will model the system as a State Machine and see if that fits it better. Removing redundancy by sharing states is a good idea. Very cool, thanks! I have never touched LUA before, but I will see what I can get from it
  8. I want to implement a Tekken-Style Combo-/ Input-System. The basic system i want to realize is, processing a timed sequence of inputs. Example: In Tekken, I have 4 Input Buttons(excluding directional Buttons). Each of them corresponds to a basic Character Action. Square = Left Jab Triangle = Right Jab Circle = High Kick X = Low Kick When pressing one of those Buttons the Action executes. For a short period of time after that, the Character is in a state in which each of the Input Buttons (or only a subset of them, depending on the Character's move list) corresponds to a different Character Action. If I manage to press a Button in time the Combo and this Pattern continues until the end of the Combo. If i fail to push a Button in time, the Character returns to it's idle state. I had the idea of using a Tree to represent all Combos of a Character as a Datastructure. The buliding blocks are the following... 1. Input(Type: enum): For example the square on a PS4 Controller. 2. Action(Type: enum): A command that is send to the Character when an Input is given. 3. Timing(Type: float or int): A time window for a specific Input of a ComboNode. 4. ComboNode(Type: user defined): Several Inputs where each Input maps to a Triple. 5. Triple (Type: user defined): An Action, a Timing and a set of ComboNodes(ChildComboNodes). How the Tree would update itself: 1. Check for inputs in current ComboNode while at least one timing is still valid. 2. Pressed Input. 3. Send corresponding Action to Character. 4. Set current to ChildComboNode. 5. Repeat until Combo ends or no timings are valid. In those 2 cases, return to root. I would appreciate advice or comments :)
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!