What it is
A short Christmas horror game! The main mechanic of the game is that, since Krampus has taken over Krismas, the weapons have gone crazy and don't always do what you expect them to.
Each stage has a new weapon, and the idea is that the player has to figure out what each weapon does. For example, there is a vampiric sword that has a small chance of 'draining' the player, or reducing the players health in order to increase the damage done. There is a staff of undead, which has the chance to raise extra enemies, and a 'one-hit sword' which kills enemies instantly.
What I did
I was responsible for programming the combat system. I implemented the player and enemy health systems and health bars. Since the core of the game is switching between weapons with various effects, I also had to create different kind of weapons, let the player switch weapons, and implement the 'random effects' of each weapon.
Most of my time was spent on getting the combat system up and running, and then implementing the different rules for each weapon (since that was the core mechanic of the game). If I had more time, I would have liked to add better pathfinding to the enemies to make the combat more interesting; due to the short time period and the importance of a good combat system, I chose to prioritize the weapons and attack mechanic.
The scope of the project was a big for a short game jam; our team only had a few days to work on it. In the future, we would like to make the changes in weapon more relevant. Right now, since all levels and enemies are similar, you can grab any weapon and spam attack in order to kill enemies. There isn't as much of an emphasis on solving the 'mystery' of what each weapon does, so in a fuller version of the game, I'd like to change the level design to make the weapon choice more relevant. The door may also get stuck after the second level, so the boss I created isn't visible.
What I did
- Designing weapons: Since there are so many weapons with different stats (like health added, health drained, etc.), we initially used scriptable objects to represent each weapon. To implement the totally random effects, like spawning enemies, I had to work around it a bit. I ended up using a dictionary + a strategy pattern to implement the unique random effects, which made it really simple to add new weapons.
- Enemies: I created different kinds of enemies (such as regular enemies or the boss enemy, which you can't see in the final itch.io submission), a centralized system for spawning new enemies, and gave them knockback. I also worked on the pathfinding, which was used a simplified follow-the-player-using-vectors method due to time constraints.
- Player health and attack: I created the health bars and health system for the player and enemies, and also used vectors to create the 60-degree 'cone' on either side defining the player's attack range.
Overall, it's a really standard attack system, but I learned a lot from implementing it, and it was a lot of work for just a couple days' time!
Log in or sign up for Devpost to join the conversation.