This is a university project made by a CITM (Centre de la Imatge i la Tecnologia Multimedia) student of the TTC (Talent Tech Center) in Barcelona, in which I make my own platformer in C & C++. I also used the Tiled Map Editor software, and the SDL and pugixml libraries.
Get Hooked is a platformer game showcasing two levels, basic UI, fluid character movement and controls, Save & Load at any point mid-game, and my first attempt at a deep heriarchy-based entity class system.
Feel free to visit our Webpage.
No previous installations is required to play the game, just download and execute the .exe file Get Hooked from releases.
Because of some minor errors, the game might not initialize on the first execution.
- ESC: Open settings menu
- P: Pause the game
- Shift + Up/Down: Change master volume
- Shift + Left/Right: Change music volume
- Keyboard:
- Run: A/D
- Jump: W
- Crouch/Slide: S
- Space: Attack
- Arrow Keys: Manual Camera Movement
- F1: Start from the first level
- F2: Start from beginning of current level
- F3: Advance to next level
- F4: Free camera movement
- F5: Save current state (Doesn't work with enemies, coins or the timer)
- F6: Load previously saved state (Doesn't work with enemies, coins or the timer)
- F7: Recieve instant damage (Unless on godmode)
- F8: User Interface Debug view
- F9: Game debug view (Colliders/Logic)
- F10: Godmode (No damage, no collisions, and free movement)
- F11: Activate/Deactivate FPS cap (30)
- 1/2/3/4/5: Change game scale to number chosen
- Living entities accelerate and deaccelerate when moving, on ground they deaccelerate automatically.
- Entities that are outside the player activation radius do not update.
- Player can attack, a collider is created mid-animation when the attack is visually being made, set by a "start" and "finish" frames.
- Player collider changes shape and position depending on his current animation.
- Player can crouch to evade things that could hit his head area.
- Player slides with a different deacceleration when trying to crouch while moving.
- Player can jump in the air once making a somersault.
- Enemies have a detection and attack radius which they use to input movement and other special attacks.
- Enemies are briefly stunned if still alive, backing off from the player. If they die, they dissapear after a set time.
- Button is a template class with a function pointer that allows easy creation of new and different buttons with different functionalities, as you can decide which return and parameters will their allocated function use.
- Some Original Debug Functionalities.
- Fork it!
- Create your feature branch:
git checkout -b my-newfeature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request and I might look into it. :D
-
Carles Homs
- Github: ch0m5
- Carles Homs
- Scene Module and Logic
- Audio Module and Logic
- Music selection and SFX Original Making
- FadeSceneModule and Logic
- Collisions Module and Logic
- Pathfinding Module and Logic
- XML Management (Save/Load/Config)
- Input Interpretation
- All Debug Functionalities
- Framerate Logic and Limitations
- Entitiy System
- All entities and Logic
- User Interface System
- All UI Elements and Logic
- OPP Design and UML Document
- Brofiler Implementation
- Github Webpage and READMEs
I do not own any of the sprites, tilesets or music presented in this game. Authors credited below.
-
Sprites:
- Character Pixel Adventurer made by rvros
-
Tilesets:
- Caves of Gallet tileset by Adam Saltsman
-
Music:
- MainMenu - New World
- Composed by Kevin Penkin
- Level 1 - Mystic Force
- Level 2 - Spellbound
- Composed by Kevin MacLeod
- MainMenu - New World
-
SFX: Orignal mix made from: https://www.bfxr.net/
© ch0m5
Licensed under the MIT License