Devlog // Gouken
A Street Fighter style fighting game developed for iOS using Swift. SceneKit is an Apple provided API that handled some heavy lifting for animation, physics simulations and physics based rendering, but as a team, we were still responsible for designing the underlying game architecture. Key Fighting Game features we set out to implement:
- Attacking/Blocking/Movement
- Arcade Mode (CPU)
- PvP
- Combos/Attack Chaining
- Special Inputs/Moves
Dynamic Hitboxes & Hurtboxes
Hitboxes and Hurtboxes were implemented to determine when attacks hit and miss. We considered 2 appoaches for hitboxes:
1. Manually creating hitboxes relative to a characters' root position (picture spawning floating hitboxes in front of the character)
2. Mounting boxes on the character model
Since authoring with the first approach would have been a very manual process when authoring moves (nightmare), we decided to go with the second approach because even though attacks would soley be based on the animation. The authoring process for moves would only entail dynamically activating and deactivating certain hitboxes/hurtboxes attached to the character at certain points during the animation.

Classically in fighting games, attacks are comprised of 3 phases:
- Startup Frames - number of frames from the input of the move to the point it becomes active
- Active Frames - number of frames during which the move can hit the opponent
- Recovery Frames - number of frames during which a character cannot perform any actions and is vulnerable