HollowFaith

Chek our website page: https://juanha2.github.io/HollowFaith/

View the Project on GitHub juanha2/HollowFaith

Hollow Faith: 2D Plataform Game

Welcome to the webpage of Hollow Faith by Aarón Guerrero & Juan Hernández

Hollow Faith is a 2d arcade platformer game developed by 2 students in CITM during the "development of videogames" subject. The first level gives you time to adapt to the mechanics, in the second level those skills will be put to test.


GAME LICENSE

MIT License

Copyright (c) [2019] [Aarón Guerrero Cruz / Juan Hernández Almagro]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:


The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



Hollow Faith: Trailer

This video is not recorded at the most advanced stage of development.

You can also enjoy the trailer by clicking here.



Download our game Build



Main Core Subsystems

This game is made with the libraries from SDL 2.0 and PuguiXML. We have a Entities System with the same structure as GUI System. Both have a Manager who execute the different stages of all their elements and keep a list for the control of all. In addition, they have their "Entity" or "GUI Element" from which all enemies or other entities inherit, or in the case of the GUI, the different types of buttons, scrollbar, inputbox.

If you want to see the structure of these systems more detailed in UML, click here.

Extra Features: Innovation - Animation loading from XML
- Particle effects system
- Procedural collision system
- New mechanics: Climb and hover!
- Parallax made from Tiled
- Music path from Tiled Map editor
- Only blit current Camera Tiles
- Enemies spawns loading from TMX
- Extra feature: Throw a rock with parabolic path
- Skills with cooldown (Rock)
- Checkpoints autosave
- Spatial Audio
- Land Enemies know when they need jump with Pathfinding
- High Score & Best Time



Team Members

Member Role Portrait
Aarón Guerrero Code Aaron
Juan Hernández Code Juan


Aarón Guerrero - Individual Work - Creation of player time/movement logic system
- Implemented collision logic system
- Implemented animation logic system
- Implemented particles logic system
- Implemented camara movement logic system
- Added XML Animation method
- Added particles effects in-game
- Added debug functions
- Hover mechanic
- Pathfinding Logic and Sub-systems
- Delta Time (Cap frames and balancing it)
- Enemies behavior
- Brofiler Implementation at the Code
- GUI Manager
- GUI Elements system
- UI Button & Scrollbar
- Gameplay Trailer
- Web Page
- UML GUI


Juan Hernández - Individual Work - Creation of the maps
- Implemented colliders from Tiled
- Implemented animations
- Implemented transitions between maps
- Win/Lose Condition
- Added music and sfx
- Camera limits
- Blit only current map tiles
- Climb mechanic
- Creation of entity system
- Checkpoints logic
- UML Entities
- Implementation of Score & Life systems
- Implementation base of main menu & game menu
- UI Image, Inputbox & Label
- Console




How to Play it?


Game Inputs

Input Action
ESC Open Menu at Game Scene or Close game at Main Menu
WASD Classical Movement
Space Jump
HOLD Space Hover
K Throw a Rock
º Open/Close Console



Console Commands

Command Action
list Display the list of commands
god_mode Toggles god mode on/off
quit Exits the game
FPS<number> Change FPS cap with some safe limits (30-120)
map<map_namer> Load another map



Debug Functionality

Key Functionality
F1 - F2 Start from level 1 - 2
F3 Start from current level
F5 Save the current state
F6 Load the previous state
F8 Debug UI
F9 Debug pathfinding and colliders
F10 God Mode
F11 Cap/Uncap Frames