
| Name | Matrikelnummer | Role |
|---|---|---|
| Mica | 2685250 | Design & Animation |
| Leon | 2676874 | Programming & Sound |
| Aiym | 2634500 | Programming |
| Shadha | 2685263 | Programming & Assets |
Itch.io: https://midriasis.itch.io/haunted-heart
Name: Haunted Heart
Genre: 2D Top Down shooter
Gamemode: Singleplayer
Haunted Heart is a 2D Top Down shooter game. The player choose two characters:
- Player: the one who is playing.
- Partner: the one who has to be rescued.
The goal of the game is to defeat the enemies to rescue your partner using magic attacks.
A couple is moving in together, but as they arrive to their new home they find the house haunted by ghosts and a Wizard Rat (Boss). These enemies kidnap one of them. The player must defeat the ghosts and the Wizard Rat to rescue their partner and reclaim their home.
We believe that games could be also a place, where one can laugh, have fun, and feel included as part of the LGBTQ+ community (and they are also necessary). That's why we created a game with a lighthearted and simple story.
Movement: WASD / Arrow Buttons, Dash: Space Button
Pause Menu: Backspace Button / Enter Button / P Button
Attacks: J-K-L Buttons

Miro Board: https://miro.com/app/board/uXjVHcckqXA=/?share_link_id=774278975748
The "look and feel" of Haunted Heart is inspired by a retro 2D pixel art style with a charming "spooky-cute" aesthetic. The game combines a dark, haunted world with cute, expressive characters, creating a fun contrast between creepy and adorable. Inspired by classic 16-bit games, it also uses bright, warm colors for the characters and user interface, making the fast-paced gameplay easy to see and follow.
For the game, we decided to create four playable characters so that the player can select a couple with the characters they want. The characters don't have officially a gender, but the design was inspired by two male and two female figures to create characters with different appearances.
Two of the characters were inspired by the brother and husband of one of the group members.
For the other two characters, we drew inspiration from Marceline and Princess Bubblegum from “Adventure Time”. We chose them because, according to canon, Marceline was probably a black person before she became a vampire and Princess Bubblegum white. So, to ensure a more diverse representation of couples, we didn’t want to limit ourselves to using only white characters.
To achieve a “cuter” pixel art aesthetic, we looked for games with characters that had the style we wanted. "Pocket Love" is a game that also features gender-neutral characters, and we used their proportions as a reference.

For the enemies, we used ghosts. Initially, we were going to use animals considered pests, but we felt that would make the game less “cute” than we had planned, since the attack animations also gave off a more aggressive vibe, and we didn’t want to create that impression. Also the ghosts provided better contrast with the background and made the game easier to play.
The boss (the Wirazd Rat) was planned from the very beginning. For us, it’s the rat that summons the ghosts. At first, the rat was a different color, but to ensure there was still contrast with the background, we chose an albino rat wearing a wizard/magician’s robe.
For the animation we didn't use the standard 24 fps. The character and enemies walk and idle animations were done at 4 fps and in Godot it was adapted to 5 fps. 10 fps was used for the ghosts' attack to ensure smoother movement.
These animations were created using Procreate and exported frame by frame to create animation sprites in Godot.
.gif)
For the intro and ending videos, the scenes were animated separately in Procreate. Most of the scenes where the characters were walking were animated at 4 fps, while other scenes at 8 fps and 12 fps to make them smoother.
The final video was edited in CapCut. There, we added audio with a cute and fun style to match the game’s aesthetic. We also adjusted the speed of some scenes for a better storytelling. Finally we converted the videos to OGV format, because it's the video format that works in Godot.
12 versions of the intro and ending (24 videos in total) had to be created so that the story would be personalized depending on which characters were chosen.



Setting: A haunted house/mansion. Furniture, boxes, and plants are arranged to make the house look like the couple has recently moved in and is still unpacking.
Color Palette: The environment uses a dark color palette with deep purples, muted magentas, and browns. This creates a spooky atmosphere while making UI elements and enemies stand out clearly.
Lighting: A dynamic 2D lighting system creates contrast between dark areas and warm lights from lamps. The light sources create safe-looking areas, improve visibility, and add depth to the pixel art style.
Layout & Prop Placement: Furniture, boxes, and plants are placed to shape the player’s movement and create interesting combat space while keeping enough open areas for dodging and escaping enemies. All props use collision to block movement, affecting how the player navigate through the room. While ghosts can move through these obstacles, (the Wirazd Rat) must navigate around them to reach the player, creating different enemy behaviors and adding variety to combat encounters.
Game Engine: Godot 4.6
Art & Animation: Procreate, CapCut, Clideo
Music and SFX: Royalty-Free Audio, Reaper
- Main Menu Layout & Scene Transitions
- Level Design & Asset Setup
- Sprite Design (Player & Ghost Enemies)
- Intro Animations
- Combat System: Basic Attacks
- Character & Partner Selection Logic
- Endgame Animations
- Boss Design & Boss Abilities
- Enemy Spawning (Scaling & Waves)
- UI: Healthbar
- Controls & Input Mapping
- UI: Visual Cooldown Indicators
- Credits
| Aiym | Leon | Mica | Shadha | ||||
| Tasks | Hours | Tasks | Hours | Tasks | Hours | Tasks | Hours |
| Programming | 30 | Programming | 50 | Character Design (including enemies) | 6 | Programming (Boss AI navigation, Video player, Pause Menu, Player passive Health regen.) | 19 |
| Meeting / Planung | 6 | Sound Design | 8 | Character Animation | 17 | Level design (Assets search & adjust, Collision setup, Lighting) | 27 |
| Documentation | 4 | Abillity Design | 10 | Enemies Animation | 4 | Meeting / Planning | 6 |
| Meeting / Planung | 5 | Animated Videos (Intro and Ending) | 27 | Documentation | 5 | ||
| Menu Design | 1 | ||||||
| Documentation | 5 | ||||||
The enemies were rats and insects, and the house would be infested by them. It would be a cooperative game for 2 players. And the players get to choose their characters: There should be at least 4 options (A, B, C, D)
Also the attacks were weapons, not magic.
There were different rooms (4 levels) where the players had to face villains throughout the house.
We decided to make a single-player game. And the player gets to choose their character and partner: 4 options (A, B, C, D). So The protagonist have to save their partner.
We came up with the idea that as the game starts the couple have a key of the house with a heart jewel in it, as the partner gets kidnapped the jewel breaks. When the character finishes a level they get a piece of the jewel and the house gets brighter/ better looking. Also With each room cleared, picture becomes more saturated. In the end they connect the jewel with the key that thier partner have.
We changed our attacks because the weapons were too aggressive. We decided to use “magic attacks” inspired by Vampire Survivors. That's why we changed the characters. Now they were ghosts and a Wizard Rat who summons them.
We planned that when a player finishes a level, their life recharges by a certain percentage, but with each subsequent level, this percentage decreases. And the player would gain a new power each level.
The entire game takes place in a single room. There are 4 waves of ghosts, and in each wave there will be progressively more enemies. The player’s health regenerates over time when not attacked, but also increases by collecting hearts as they defeat enemies. The boss also regenerates health if the player doesn’t attack for a certain amount of time. Additionally, the player dosen't get a new attack with each level, instead they have the 3 attacks from the beginning and each one has a different cooldown time.
Assets:
https://sparksandpixels.itch.io/indoor-library-assetpack
https://graduation-cat.itch.io/house-interior-tileset-32x32
Sound:
https://pixabay.com/sound-effects/
https://freesound.org/
Music:
https://itch.io/game-assets/tag-music