Journal Entry #1


Date: 28.04.2024

Activity:
- Setup a new project for project C
- Created a tilemap
- Setup the core player character behavior (movement, attacks, taking damage)
- Setup health bar and health regain mechanic.

Notes:
My idea for project C is to create a demo of a 2D platformer(?)/fighting game/possibly metroidvania (I will refine the concept in the following week) where you play as a swordfighter who does magic by using the souls of the dead, "creatively" named Soulblade. I have some ideas for mechanics, like there being some souls that can heal you, and others that can be used as "currency" to purchase abilities in different skill trees, but I will expand on that as I go along.

First, I set up the background of the scene. For now it is static and just moving as one, but I may set up some parallax behavior later on. I also setup the tilemap, and I struggled a bit figuring out how to properly set up the rule tiles, since the tilemap I chose had a lot of edge cases. I didn't end up creating rules for all the edge cases, just for the ones that I figured I would use the most.

Then I started work on the player character. My goal for the week was to finish the basic controls of the character (movement, attack, taking damage), so from next week I can focus my full attention on building levels and challenges. I didn't find creating the movement and attacks too difficult, I had a little bit of a struggle with making the jumps feel good but I think that simply adding some extra gravity while falling did a good enough job. Since there were two attack animations included in the artpack I used, I decided to include two sword attacks: a high attack that can hit enemies above the player, and a low attack that can hit enemies below the player (both can hit enemies at the same height as well). I will refine the hurtboxes of the attacks as I create the levels and the enemies. It was a bit more difficult to get the behavior of the player taking damage right, specifically the knockback from getting hit. I experimented with setting up a coroutine to handle it, until I remembered that I can simply get a boolean in the animator from a State Machine Behavior when the player enters and exits the TakeHit state, and get this boolean from the code to handle the movement. The only thing that now remains from the core player character behavior is handling slopes, since I'm thinking of allowing the player to slide down them, but I am still considering whether to include that or not. While building the player character, I paid attention to create the components in such a way so I can reuse them for some of the enemies.

Lastly, I created the Healing Soul, which functions as a healing kit that the enemies will be dropping once killed, and I set up the health bar. The way the healing system in this game will work is that the player has a number (5) of Souls (HP) and each hit takes away one (or two from bigger enemies) Soul. Picking up a Healing Soul restores health, but if the player's health is full, the player picks up the Healing Soul as a healing item they can use later (they have 3 slots for these). This way if the player kills and enemy without taking damage, or if they find some Healing Souls they don't need at the moment, they won't go to waste.

Duration: 5 hours

Get Project C

Leave a comment

Log in with itch.io to leave a comment.