Devlog #4


Josh – Weapons🗡️, Waves🔄, & UI📊

This week, Josh concentrated on extending the combat mechanics and connecting gameplay systems to create a more complete player experience. He began by implementing a working weapon pickup system, allowing the player to collect and equip sticks manually placed or automatically spawned throughout the level. Each weapon includes stats like damage, knockback, and durability, and can be equipped to either hand depending on availability. To ensure the weapons appeared correctly in-hand, Josh created a GripPoint object on each weapon and updated the equip logic to align the weapon’s handle with the player’s hand. This fixed a previous issue where sticks were being held from the middle or rotated the wrong way.

Josh also introduced knockback effects to combat, using simple physics to push enemies away when hit. This required temporarily disabling their NavMeshAgent, which would otherwise override the Rigidbody and cause unnatural movement. The agent is re-enabled once the knockback finishes. To improve visual feedback, Josh later updated the weapon logic so that damage and knockback are triggered partway through the swing animation. This made the hit reaction appear better timed with the actual weapon impact.

On the enemy side, Josh resolved a frustrating bug where enemies weren’t taking any damage. The problem was traced to the attack code looking for the Health component on the wrong object. This was fixed by switching to GetComponentInParent<Health>(), which now reliably detects and damages enemies.

For spawning, Josh completed a wave-based enemy spawning system. It supports multiple enemy types per wave and uses spawn points that randomly select positions around the map. It also includes full inspector control for configuring wave count, delay, and enemy composition. In addition, he implemented a weapon spawner that uses the same system to place new weapons in the level at regular intervals. Both systems will likely be expanded or rebalanced in future development.

To support these features, Josh created a central GameManager object with scripts that track wave timing and calculate a score based on how quickly the player clears each wave. This object also holds the aforementioned wave configuration system. The timer is now visible in-game via a new InGameUI system that displays the current wave number and live wave timer using TextMeshPro. This will later be extended to include a score summary between waves and at the end of the level.

Will - Assets 🎋, Particles 🎇 & Textures 🏁

This week Will made even more assets. Adding into the project some models for the various sticks that the player will use to attack.

All of these assets have their own procedural textures that were generated and baked in blender. The idea is that these stick assets will be plug and play with Josh’s melee attack system.

Will also textured the ship level that Eve had made in ProBuilder, unfortunately given time restraints these textures are not original and were found online. Wood Planks 05 Material Wood Planks 01 Material

The results turned out quite nice though, and the found texture assets fit the level theme quite well.

This week also had Will adding in some particles and tweaking the attack system a bit to try make the attacks feel a bit nicer. Varied success in this field, we do not have textures for particle hits and Will was not able to find any nice ones on the internet (yet) so had to compromise by using some default GIMP brushes to make some… Ugly textures. The attack time was tweaked so that the enemy knockback and damage happens halfway through the attack swing animation, making the attack seem a bit more realistic - this simple tweak results in the enemy taking damage and knockback around the same time the stick hits them. This was achieved by placing the hitbox logic in a coroutine with a yield return new WaitForSeconds(swingSpeed / 2); at the start.

This particle effect is very much temporary and will hopefully be revamped soon to look a bit nicer 🥲

There was also a lantern asset that Will made. It uses an emission mask and some silly procedural set ups to make a nice material that was baked and exported into Unity.

This week was rather smooth sailing in the asset department, the only real issue being that the particle system is quite a bit to tackle in the span of a couple of hours, and needs more work. Some nice progress made and hopefully this work will make the game look even nicer (and even a bit polished) for playtesting day!

Eve - Level Designer 🌏

This week, as well as last week. Eve spent time improving the ship and level layout. This includes, but is not limited to fixing overlaps with individual parts, and adding in new prop models/decorations.

Eve started with fixing some of the major part overlap and missed parts from the inside of the ship, which made moving around down there fairly difficult. Afterwards, she moved on to improving the existing rails, using ProBuilder’s cutting tool. After much trial and error, finally resulting in what you see below. She also placed various objects, around, such as the cannons, crates and barrels. After doing that, she added some side bars to the ship to create a level of depth, and then created several windows.

After doing the rest, the front of the ship was starting to look fairly plain. Eve decided to use the meatman mesh made by Will, to create the figurehead of the ship. She then used ProBuilder to create the chains, linking/holding the meatman to the ship.

Eve also added in the Lanterns made by Will, and connected them to chains made by herself to the masts and walls. She also moved the masts around for a more balanced look. In addition to the moving, she also made sails, which use a fabric texture she made in photoshop using a few filter gallery options. Each ship has different coloured sails.

Hakki - More UI Screens, Ragdoll Physics and Other Miscellaneous Work

This week, Hakki made more progress on UI screens for game which include the addition of a game over screen and a victory screen either when the player wins or ‘loses’. Along with that, Hakki included some animations to the UI to make it more dynamic.

For Ragdolls, Hakki used unity’s ragdoll wizard to apply ragdoll physics to the model. The process involves linking body parts of the model to the appropriate places within the wizard as well as assign the mass of the model itself. After linking the body parts, the wizard essentially adds a rigidbody, either a box/capsule collider and a character joint component to each body part linked. With this, the ragdoll was successfully applied to the enemy models. But its intended as the death animation for the enemy so we needed the ragdoll needs to be disabled until death occurs. With a few lines of code and unity tinkering, Hakki was able to accomplish this but with many difficulties along the way.

Errors:

Success:

While Hakki was testing the game, Hakki found some things that could be easily fixed within a few mins. These include:

  • Adding a death plane within the water so the case that a player is intrigued to fall in the water, they would be met with game over

  • instead of the default skybox screen behind the main menu, Hakki added a ‘few’ meatmen and a few crates to liven up the scene

  • added code to stop the three ui screens from overlapping each other

Leave a comment

Log in with itch.io to leave a comment.