Devlog 10: Polishing Up


Art

Hey hey guys, Mathis here to kick off our 10th devlog!

As you'll see throughout this post, this week and the next one is all about polish. On the artist's side this just means that we'll give the whole game some more visual love by adding new elements or revisiting old ones that needed a touch-up.

This week I put all of my focus on the podium level.

If you remember, in the earlier weeks it looked something like this:


Now this wasn't the final result that we were looking for. It needed:

  • An actual podium instead of the placeholder
  • A lighting pass
  • More meshes to fill up the space
  • (Some more love for the VFX)

Now the first 3 were actually all able to be achieved. First I tackled the podium meshes:

Going from this: 

To this:


After that I went ahead and made 4 new props to fill up the podium level with:



I then went and populated the level with these. After that I redid the lighting to get to a final result of this:


Compared to the previous level we had, I'm very pleased with where this is right now. Most likely there will be no time left to do anything else regarding the podium level so the RFX will stay the way they are ( who doesn't love static moving flies, am I right? )

This soaked up most of my time, but I also worked on doing a lighting pass on the other levels.

Here's the Card Selection Level's before and after:


( Yes I know this is an old image... )


Altho the changes are very subtle, I tried to pull a bit more focus to the centre by making the top and bottom side darker.


I also did a very small addition to the main level, where I added a bottom light to make the bottom row of cells visible again:

First it looked like this:


And a bit of tweaking later I got this:

If you ignore the sudden ice appearance, you'll see that now the bottom of the map is visible again. Making it feel a bit less like a purple void of smoke without pulling your attention away too much.


Lastly I simply made some art for the UI Indicators:



How I feel after only having 3 things to post about:



Enough of me tho, on to Laurens!


Hey yall! 

This week I mostly worked on finishing up what was already there. I put the ice for frozen floors on all of the maps. Underneath 1 out of 4 examples.


I also created a logo for the game to put on our Itch.page, I have a fully square version as well for a logo on pc desktop. 


Besides this I created a in-between round banner, one for normal rounds and one for king of the crown.



And to end the visual part of, I worked on the last card we still needed. 


Outside of this, I worked on some behind the scenes stuff, a few gun sounds reworked, and taking a look into the materials to potentially optimize it.

Very short and sweet, onto the Tech!

Technical

Dylan

This week’s update is a bit different, more polish, less chaos (sort of). As we close in on our final weeks, we’ve focused on ironing out bugs, adding clarity to the UI, and refining some key gameplay systems. Let’s go over what got done!

Ragdoll Improvements

The ragdoll system was looking a bit… lifeless. It also caused issues where it would still trigger even after a player had been destroyed.

After some deep digging, I discovered the issue came from the timer being stored in the Game Mode instead of the World, meaning it could still fire even after being cleared or destroyed. The fix? Move all ragdoll logic to Blueprints. After some collision channel tweaking, the result is ragdolls that look and behave properly.


They now really sell the impact of getting knocked out or eliminated. Much more satisfying!

Showing Necessary Effects

A lot of effects were already in the game but just weren’t being shown! I added logic to display:

  • Special boots when walking on lava or ice

  • Ice decals on relevant levels

These little touches go a long way in visually communicating what’s happening.


Podium Crown

A new bit of interactivity for the Podium Level, the top-scoring player now gets a visible crown during the podium sequence! Knocking them off the first place will award you the crown in his stead!

This has no mechanical effect for now, but it might evolve into a fun bonus feature later.


Grace Period

We added a short grace period at the start of each round, something we originally planned from the beginning, but cut due to time.

After testing, it was clear this was needed. It gives players a quick breather and understand where they are and what's happening before the choas starts, and lets us:

  • Show the selected card

  • Indicate who received bonuses

  • Display the current round

  • Announce KOTC events

It's only 3 seconds, but a lot happens, so pacing and timing were crucial. I think it flows well now, but feedback is the name of the game!


Improved Grenade Throw

Grenades previously shared the default weapon throw arc, which made aiming a pain. Now, grenade throwing uses a custom arc with a handy trajectory indicator.

We also buffed the explosion radius and upgraded the VFX to make it feel more impactful.


Card Menu Polish

The Card Selection screen needed some love as it wasn’t always clear who was picking or what was happening.

Added polish includes:

  • Backlight and card outlines

  • Player indicators

  • Visual point updates

The goal is to make the card as readable as the matches themselves. Wasting time understanding what is happening would go against our Vision!


Bug Fixes & Wrap-Up

This sprint also included a bunch of smaller fixes,  these are detailed in the technical deep dive below!

Next week is our final week. We'll be showing off the completed game... or will we?  Who knows what the future holds!

Either way, we're in the final stretch, and I’m really happy with how far we've come. Thanks for following along!

That wraps up this week’s devlog!

See you next week? 🎮












Technical Deep Dive

Dylan

Hello and welcome back to the technical deep dive!

Ragdoll Improvements

Moving the ragdoll logic from C++ to Blueprint made a big difference.

  • Why move it?
    It allowed me to apply knockback force directly to the mesh on player death by keeping track of the last impact direction more easily.
    Plus, it helps prevent ragdoll logic from triggering after the level is destroyed, a bug caused by timers stored in GameMode rather than in the World.

  • Collisions Understood!
    I misunderstood how Unreal’s collision system worked.
    When a character's collision is set to Ragdoll, it no longer behaves as a "Pawn" but as a "PhysicsBody" so other players were just walking through ragdolls because of the collision settings. A small mistake on my part!

    The fix:

    • Set the ragdoll to block all + physics only

I also managed to disabled the player capsule’s collision without causing it to fall through the floor or having to teleport it, fixing other issues that would cause the mesh to bug.

This finally gave us the intended ragdoll behaviour.

Showing Necessary Effects

Some visual effects were already implemented but never triggered. To fix this, I used events routed through the player.

Ideally, each card effect would work through a manager system with proper event broadcasting, instead I used the player as the middleman as I don't have time to refactor my colleague's code.

Now, effects like ice decals and lava boots show up when they should!

Podium Crown

This feature is all about giving players a short period to get their bearings togheter.

  • crown actor and an overlap box  work together:
    • The box detects overlap
    • The crown follows the player on top of the podium
    • If another player overtakes them, the crown moves accordingly

They're tightly coupled by design, splitting them would only add unnecessary complexity. As they work in tandem.

Grace Period

The grace period happens at the start of each round and handles:

  • Showing the round UI

  • Spawning the chosen card

  • Displaying player indicators

  • Cleaning everything up after

It’s all done in Blueprints using timers to sequence events.
In the future, turning literal floats delays into exposed variables would make tweaking easier.

Improved Grenade Throw

Throwing a grenade was easy.
Displaying the throw path? Not so much.

Using Unreal's PredictProjectilePath, I:

  • Created a spline

  • Placed cylinders along it to visualize the arc

The only issue is that the prediction uses the grenade’s current position, not the throw origin, so the path is slightly off.
With more time, I’d adjust the math to compensate, but it’s accurate enough for gameplay.

Bug Fixes & Wrap-Up

Here’s a breakdown of the main bugs and improvements handled this week:

Podium Spawn Bug

Players weren’t always spawning correctly, especially during tied scores.
After a failed fix, I rewrote the logic from scratch, and that finally resolved it.

Melee Cooldown Overhaul

Feedback highlighted how unresponsive melee felt. I removed the hidden cooldown, but that broke things, players could spam melee and cancel animations for instant kills

Solution:

  • Add a cooldown equal to 40% of the kick animation time only when cancelled

  • Also cut one of the kick animations for consistency

Now kicks are snappy but balanced.

Mesh & Ragdoll Glitches

From disappearing meshes to ragdolls flying off into the void fixed by moving logic to Blueprint and tweaking collision settings.

Emote Movement Lock

Removed movement input while emoting.

Refactored Functions

Tidied up several systems to make them easier to extend or reuse.

Controller Feedback

Fixed controller vibration not triggering when players died in the dead zone.

Bullet Collisions

Fixed bullets clipping through the environment.

Minigun Tweaks

Now behaves like the Uzi, with accuracy loss over time.

Dead Zone Fix

Players only die below the map, Now players can fly as high as they want!

That’s a Wrap!

That is about all the bugs I remember, but im sure many more where fixed so that’s it for this week’s technical deep dive! 

That wraps up this week, I hope you enjoyed this devlog. 

Thanks for reading see you in the finale! 🎮

Files

Brawlstorm-v1.5.rar 352 MB
3 days ago

Get [Group26]Brawlstorm

Leave a comment

Log in with itch.io to leave a comment.