-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspec.txt
64 lines (55 loc) · 2.7 KB
/
spec.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
"""
HUNTER X HUNTER FIGHTING GAME
OVERALL ARCHITECTURE:
1) Controller sets up match engine
2) Match engine takes character engines and stage engine as inputs
3) The stage engine takes the physics engine as input
4) Controller instantiates a new button engine
5) Controller tells match engine to begin the match and waits
6) match engine returns details regarding match and takes in
the outputs from the button engine and physics engine as inputs
5) The physics engine takes the outputs of the match engine as inputs and returns updated character coordinates as
outputs
NOTE: Stage and character engines are both unique profiles/classes that inherits from an overall "master" profile
TODO:
Button Engine:
-determines which buttons are entered \ DONE!
-determines how long inbetween presses \ DONE!
-determines using timestamp whether or not keystrokes were simultaneous or separate \ DONE! Implemented using a frame by frame input model
NOTE: simultaneous button presses have a segmented duration of less tan 0.01
-using above info, determines which action to pursue
-constantly polls keyboard using msvcrt (because windows)
-constantly streams info back to main controller
-use a FSM as a possible encoding for attacks. might migrate this to character engine; we’ll see
What the button engine basically does is poll input for the specified number of seconds and then relays button presses back to the controller
TODO:
Physics Engine:
-determines location of all characters on screen
-determines if in or out of bounds
-determines movement of characters
-determines if attack is within hitbox parameters
-determins any acceleration/velocity changes in movement due to attacks/actions (like jumps or throws)
TODO:
Character Engine:
-determines attack points of characters
-determines health of characters
-changes health depending on attacks
-unique profiles for all characters
-keeps track of character specific “stances” in order to keep track of special stance moves
-characters also potentially have their own specific engines to work off of
TODO:
Stage Engine:
-similar to the character engine but for stage flags and triggers
-for example, walls, wall breaks, and so on
-affects the physics engine and the character engine in terms of potential movement area as well as health modifiers
TODO:
Match Engine:
-keeps track of current runtime of match
-keeps track which characters are on field
-keeps track of which characters play in which round and adjusts character profiles for each round
-keeps track of game state (win/lose/in progress/etc)
TODO:
Controller Engine:
-recieves all the outputs of the above engines as input
-outputs engine flags and above engines use these flags as input to update their respective and internal game state
"""