Skip to content

Instantly share code, notes, and snippets.

@nucleartide
Created May 12, 2019 23:16
Show Gist options
  • Save nucleartide/8f5ff047c4dc05695cdca982ceb0371e to your computer and use it in GitHub Desktop.
Save nucleartide/8f5ff047c4dc05695cdca982ceb0371e to your computer and use it in GitHub Desktop.
const verbs = [
'move horizontally',
'raise sword',
'lower sword',
'thrust sword',
]
const objects = [
'fencer with sword',
'piste',
// 'score',
]
// more ideas:
// object idea: time as an object
// effect idea: arcade-style random event: fleche?
// effect idea: reset positions for each bout - will do this
const nodes = verbs.concat(objects)
for (let i = 0; i < nodes.length; i++) {
for (let j = i+1; j < nodes.length; j++) {
console.log(`${nodes[i]} | ${nodes[j]}`)
}
}
/*
# move horizontally | raise sword
Parry
* player with right-of-way will parry (that is, stun) opponent
* thrusts are move-cancelled
* if both have right of way, players return to previous stances
# move horizontally | lower sword
Parry
* player with right-of-way will parry (that is, stun) opponent
* thrusts are move-cancelled
* if both have right of way, players return to previous stances
# move horizontally | thrust sword
Stab
* when in stabbing range, thrusting sword penetrates opponent
# move horizontally | fencer with sword
Stab
* when in stabbing range, moving into opponent will penetrate opponent
Tip Collision
* when both fencers' swords' tips have nearly the same y-coord, moving into opponent
will push back both players
# move horizontally | piste
Fall
* when outside of the piste, player falls and opponent receives point
* during a bout, piste gets smaller over time
# raise sword | lower sword
N/A
* no relationship here. these verbs are mutually exclusive
# raise sword | thrust sword
Upper Thrust
* thrust with raised sword
* lane-change
# raise sword | fencer with sword
N/A
* see "move horizontally | raise sword"
# raise sword | piste
Widen
* when swords clash, widen the piste by x
* else, narrow the piste over time
# lower sword | thrust sword
Lower Thrust
* thrust with lowered sword
* lane-change
# lower sword | fencer with sword
N/A
* see "move horizontally | lower sword"
# lower sword | piste
Widen
* when swords clash, widen the piste by x
* else, narrow the piste over time
# thrust sword | fencer with sword
N/A
* see "move horizontally | thrust sword"
# thrust sword | piste
Narrow
* missed thrusts will narrow the piste.
* forces players to conserve thrusts for a killing blow
* encourages aggression
# fencer with sword | piste
Gravity
* fencer must remain on piste, to avoid plummeting into an abyss
* if fencer falls off piste, bout ends and players spawn in spawn
positions after x amount of time
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment