Devlog 3: Nearing Production!


Programming

More prototyping! 

This week we tried expanding on our prototypes from last week and get those main mechanics working. 

Attacking 

Last week we had some basic attack functionality but it still needed some improvements. One problem was that the attacks do not hit the player. This was just a problem with collision presets, the hit trace from the attack wasn’t checking for the player. After adding this the player now gets hit! This is where we encountered another problem. The physical animation didn’t work when we tested this in multiplayer. The attacks generated hits but they should have reacted to the impulse we give the hit object. The problem here was that the spawning of the characters didn’t set the correct settings for the physical animation components. After adding this the player now reacts to getting hit! 


 Knock down

The next thing to add was a simple health system so the player can get knocked down. This was simple, just adding some variables and changing them when the player get hit. To get the player knocked down we need to change the physical animation settings. We want the character to be fully ragdoll when knocked down. This was just changing the settings to simulate all parts of the physics asset and setting all physical animation drive strengths to 0. Combining this with the attack gives the following result: 

Our next idea is to play around with increasing the friction of the player so that he doesn't roll down into the ocean when knocked out, otherwise our knock down mechanic will be wasted half the time.

Multiplayer

I know we said that we had multiplayer working last week. And we did, or so we thought. Turns out there existed some very weird bugs, some of them where machine specific and can't be replicated on other computers so they're still a work in progress. We can blame Windows for now, it's never the programmer's fault.

Anyway here is a short demo of our current state of the project with multiplayer up and running:

Cannons

One of the most important features for the gamers of 2024 are explosions. So where are the cannons?!

Well I started working on them this week. Firstly I had to get the aiming working. The orange point is your aiming location and as you can see the cannon on the left is following it. This was simply done by getting the look at direction and changing the rotation on the Z axis.


But this looks a bit weird. Especially up close, because it's not pointing up and down. To fix that I turned to the built-in functions of Unreal Engine as I didn't want to calculate the launch angles manually. Using some of their functions that give you the launch speed for the projectile I got this result:

Better, but also a little off. No matter how much I played around with the parameters I couldn't get the exact feel I wanted for the cannons. The closer you get, the higher up the cannon is going to aim, which should be the opposite. If someone was standing 5m in-front of you, you wouldn't aim your gun straight up and wait for the bullet to come down and hit him, you would point it towards him.

To achieve this I have to manually calculate the launch velocity and have that be based on the direction that the cannon is looking.


My current approach is to get the cannon to look in the direction I want it first, and then figure out the trajectory of the cannon from there. But I have a pretty good idea of how to do it. Famous last words. 


Artists

Howdy partners! Wait wrong era... Anyways, this week us artists were hard at work finishing the art-bible and it's safe to say that we're very happy with the result. Here are some of the pages we are most proud of, we hope you like them too:




Aaaanyways, that's not what you're here for right? You wanna see some awesome progress! Well let us tell you all about what went down this week. 

Into The Storm

This week, Joshua took a look at the post processing effects for the storm. In our game a storm can be randomly triggered, this will have effects on the environment and the player, such as the water level beginning to rise faster due to heavy rain. To get a feel of what the storm could look like, Joshua put together a few things in engine and this is the result:


As you can see, it dramatically changes the mood of the game. You can really tell something big is about to happen. While the rain effect is really cool, it's not the only part of the storm event. Eventually we're going to be implementing lightning strikes that can hit players and knock them out. But before we do all that we needed a good base to work off of and we believe that we really found what we were after!

The weather effects was achieved through a combination of things. A particle system was used for the rain and for the clouds and the thunder a light funcation material was used. Light function materials are a powerful tool in Unreal, allowing the use of the material graph to do all kinds of crazy stuff with lighting. Essentially, the thunder is a pulsating sine-wave and the clouds are just a scrolling texture that has been blurred. Now all that's left to do is implement this on the game-play side of this (and of course, refine the look of the effects)

But that's for another time, we'll make sure to show you the effect again once it's fully implemented.

Animation Time!

And now, for the moment you've all been waiting for... Animations! Sort of.

Let me explain, we don't have an animator, so making fully fleshde out custom animations is way beyond our scope. But that doesn't mean our game won't feature animations. Luckily for us there are tons of resources out there for animations. For our project we chose to use Mixamo, probably if not the most comprehensive animation tool/library out there. This is what Jay has been looking at this week. 

A simple base character was created and exported into Mixamo to create a rig, which is essentially a skeleton to be used for animations. This rigged character was then exported out of mixamo with its rig attached. 


Look at him in all his t-posing glory!

In order to save time, we're going to be re-using the animations we already had in our project, but that meant that we had to transfer the animations from our previous character to the new one somehow. Luckily for us (once again) Unreal comes with tools for this, and because our previous character was also made with Mixamo, this meant that they used a similar rig, so retargeting the animations would prove rather simple.

Before we could do that however, we had to fix one issue: skin weights. This essentially tells how much influence a certain bone should have over a certain part of the character. The skinning that Mixamo did was not really that great, so that meant we had to import it into Maya, redo the skinning and weight painting and re-export it (there was actually way more work than this but its far too technical and boring to get into) See the default Mixamo skin weights vs the adjustes ones:

Mixamo skinning

Adjusted skinning (see armpits)

Now, we finally have a (somewhat) properly skinned character. Time to import it into unreal and retarget those animations!

Left: Old Character, Right: New Character

Perfect! We officially have a new character, that was easy! (It really wasn't). But now that we know the workflow and its contraints we can take that into account in the future and better work around them. 

We hope you enjoyed this weeks artist portion of the devlog. Next week we'll be back and we're going to be officially entering the production phase! It's gonna be an exciting time for us because we're going to be able to flex our (tech)art muscles and show what we can really do. As such, next week we'll be giving you updates on actual production art. So see you then hopefully!

Files

Devlog3Build.zip 875 MB
Mar 21, 2024

Get Tidal Treasure Clash

Leave a comment

Log in with itch.io to leave a comment.