A combat game in homage to the legendary Street Fighter II, made with C++ and Raylib!
GitLab repository: https://gitlab.com/jongompal/pac2-pg-streetfighterlike
Important features of the game
- Home Screen :
- Smooth transition to the game with a timed introduction screen that automatically advances after 3 seconds or when you press a button, improving the user experience and the pace of the game.
- Menu Logic :
- I reused the menu logic of the previous project.
- Character Design :
- Ken is based on a modular character base class for scalability, although most of the logic is finally implemented in Ken’s script.
- I implemented a Finite State Machine (FSM) to manage character states, ensuring smooth transitions of behavior and simplified game logic.
- Some animations of the character Ken sometimes disappear. This is probably due to an invalid sprite index, but I couldn’t find the error (especially in the crouching state).
- Added collision flags to hits to prevent multiple damage records.
- Collisions :
- The car acts as an interactive element, allowing players to jump on it or hit it to add variety to the game.
- Robust collision detection prevents players from crossing or moving around the car, adapting to scenarios such as walking, jumping and falling.
- I implemented screen limits to keep the characters within the visible area of the game, ensuring logical movements.
- Sound Design :
- I created a custom sound manager to handle sound effects (SFX) and background music.
- Added hit sounds, UI interactions, and win/loss events.
Resources
- raylib-cheatsheet . (n.d.). Raylib. Raylib Cheatsheet .
- Street Fighter Alpha 3 (XL) . (2024, June 9). Source in FontStruct .
- 101soundboards.com . (2024, October 24). Sounds of Street Fighter II .
- Myinstants . (n.d.). Street Fighter sounds .
- imitated (2018, October 1). Car bonus theme in Street Fighter II .
- OpenAI . (2024). ChatGPT (November 20 version). Language model .
- Conversation with ChatGPT to solve compilation errors, provide ideas and clean code: Link to the conversation .