Devlog 5: Elijah Jackson: AbiliTrees
"AbiliTrees"
Elijah Jackson
05/13/2025
The Dash:
I began my work for this week with a basic dash ability that lets the player move rapidly in the direction they are looking. Currently, this ability uses the "LaunchCharacter" method from Character to launch the character slightly up (to avoid dragging against the floor) and forward. The ability itself is very simple as it functions as the example ability to begin ability creation.
The Hammer:
I continued my work for this week with the hammer. In prior sprints I had gotten some of the hammer functionality setup, but it was still missing the ability to do damage and its secondary ability. The hammer is the first melee weapon in our game and is designed to be a decent starting weapon with a more powerful secondary ability. I used similar logic to our enemy attack code to create the initial melee attack, and expanded on the weapon framework by adding anim notifies to toggle the melee collider for weapons dealing melee damage. Getting the base swing setup was the simpler part of creating the hammer and currently is a good base before using the ranged weapons.
The most complicated part of creating the hammer was making its secondary ability. First, I had to override the secondary function to create the initial ability which spawns a projectile. The projectile ended up being a copy of the hammer's mesh that would spawn a hammer pickup with the same weapon data as the hammer that was thrown. The largest issue I ran into with the creation of this was removing a player's weapon at runtime. My code was tested for specifically the addition and changing of weapons but didn't have a case for completely removing a weapon without giving the player an alternative. I created the "OnWeaponRemoved" delegate as a way of storing that functionality for later use in other weapons. It links to a function in the player class that removes the weapon from both the player's hand and array of weapons without dropping the weapon.
The next issue that I faced was getting the pickup itself to to spawn. By giving the projectile all of the weapon's needed data I had a method of storing and spawning the correct weapon using an alternate style projectile. Overall, the creation of the hammer went well with some issues slowing progress during the weapon removal stage. The end result looks like this:
The Skill Tree:
This week, I'll be continuing my work with the skill tree and abilities. Currently, I have a tree with branching nodes that are unlocked by interacting with the prior node. For testing purposes, I have created a node that increases the maximum player health and a node that gives the player access to the dash ability.
I plan to continue my work by creating an upgrade station that the player can go to in order to access this menu, ability descriptions, sound effects for interaction, and costs for the nodes themselves. The skill tree is my current focus, because it will unlock more ways for the player to experience the game with different ability unlocks.
Going Forward:
The next large task I'll be taking on after this will be the creation of ability "loadouts" so that the player can switch their equipped abilities at the upgrade stations to build their own combat kit. Thank you for reading!
Get Project Meltdown
Project Meltdown
Status | In development |
Authors | QuantexGames, Paratox, IImezzii, Bananarama8910, XsaborZ, Mrr_Memez |
Genre | Shooter |
More posts
- Devlog 9: Elijah Jackson: Upgrades People, Upgrades!5 days ago
- Devlog 8: Elijah Jackson: What are you aiming at?!10 days ago
- Devlog 7: Elijah Jackson: Keep Up The Fight11 days ago
- Devlog 6: Elijah Jackson: Now You See Me17 days ago
- Object Pool Implementation17 days ago
- Devlog 4: Elijah Jackson: I Want *That* Weapon23 days ago
- Currency Drop System and room restricting31 days ago
- Devlog 3: Elijah Jackson: Moving, Buying, & Changing31 days ago
- Implementing NextRound cheat31 days ago
Leave a comment
Log in with itch.io to leave a comment.