Sunday, 17 February 2019

WBL - DAY 25


Work Based Learning - 16/02/2019


References:

https://youtu.be/ge-i-zgAKFo

https://youtu.be/QM0hFTY2SrA

https://youtu.be/E4lZf2Kt3Gg

https://youtu.be/Vs8NdyJUv1

https://youtu.be/LYlAy8qBmu4

https://youtu.be/hmcYNiV4Io0

https://youtu.be/gNaeO_qp4bw

https://youtu.be/8Iev0m2loJM

https://youtu.be/8Z_VcKIr-1k

https://youtu.be/hmcYNiV4Io0

Weekend hours: 2

Game Jam hours: 22

Total hours worked: 179







WBL - DAY 24


Work Based Learning - 15/02/2019 (7 hours)

Today I started looking into reasearch of ice shards and I found a couple of reference pictures it kings looks like a crystal shard but that still works with the theme.

Here is my model of the ice shard, I placed a cube in the scene and moved around the vertix’s until i was happy with the shard. I think this is a good aspect to have in the game because the different projectiles to match with the theme sounds cool like it’s a new skin and I think in this industry many  people are all for the merchandise for the game.


For the ice shard texture I added a marble material and changed the red to baby blue show the player or the people who see the game know the difference between projectiles. I chose blue because the theme for the level was snowy or winter which is mostly white/blue colours. 



This is the settings for the marble marterial I played around with the different sliders until I was happy with the outcome.



Today I was focused on finding the sounds for the projectile so you know which ones are different. I wanted to do the different sounds for the projectiles because I think it does effect the game a massive amount if their are sounds and different sounds for the specific things.

This is the ice shard impact sound, I found an ice crack sound effect with different cracking sounds and picked two of the ones I thought sounded the best for the ice shard.






This is the snowball impact sound, I found two different snowball impact sounds on YouTube and added them into unreal and created it as a cue. This is for the snowball projectile tower.



This is the Snowball Throw Sound, you’ll hear this when the projectiles are in the air before they hit the AI. I created this as a cue also and found a whoosh air throwing sound effect from YouTube.



This is the snowman death sound effect, for when the snowman dies it will play a splat snow sound effect so you know the AI has been killed.


WBL - DAY 23


Work Based Learning - 14/02/2019 (7 hours)

For the lava level we decided to add a crystal that the AI runner would would attack and destroy and then go to the end location, so I tried to add it myself onto the blueprint so that the AI would destroy the crystal static mesh and then move to the end location.

For the first attempt I did, I tried to add a move to node and then apply damage node after the cast to AI runner node on the behaviour tree but that didn't effect anything.



So I tried to add it onto the spawn AI blueprint on the construction script. I added a set relative location node and a destroy actor node then had to create a variable for the crystal static mesh for it to know what to attack but that didn't work either.



After trying a few things I decided to do some research and found out that you can make a static object destructible and change or add fracture setting. I couldn't use this because I didn't know how to make AI attack a static mesh but I definitely learned something new.


Here is Felix's losing screen I added onto the user interface widget. I think this is a great aspect to have on the game because If you lose and there is no losing screen you won't know what's going on and be confused as to why the game has just stopped. I also think it adds character to the protagonist.



I also went back onto the snowy level and changed the tower meshes to the snowy tower textures and changed the projectile to the ones that fit in with that level.


I found some sounds on you tube of a snowball to add effect to the projectile (Snowball). I imported the sounds and created a sound cue for the audio.



For the snowy level we decided to change the enemy to a snowman because we thought it would be fun and different. I imported the snowman into the content folder and changed the enemy on the AI runner data table to the snowman. The animations weren't working so I had a look at the AI runner blueprint and changed the mesh to the snowman, found the animation and changed it to the snowman rigged anim on the anim to play column and then it worked fine.



Here is a play test with the snowmen on the scene moving towards the end location.


I wanted to have background music on the game and Ashley found this one a while ago I just didn't set it up yet, so I decided to do that and I followed this tutorial. It was really easy to do, all I did was import the music wav, created it as a cue and then dragged it into the scene and put it anywhere.

Background Music Tutorial: https://www.youtube.com/watch?v=BpDI3P3qNtM&feature=youtu.be


WBL - DAY 22


Work Based Learning - 13/02/2019 ( 4 hours)

Bugs

- If a players life goes down less than 5 it will not spawn the next wave button.
- The level aren't connected through a user interface widget.
- Next level button stays on the throughout the game.

I've researched to find a way to fix these but I couldn't find anything with the spawn next wave button because I followed a tutorial on how to do that and I't's difficult to edit the blueprints I already have and I couldn't see an issue in the blueprints I have.

I connected the levels together but not through a widget button but the button stays on the screen throughout the game and I wanted it to appear when all the waves are over. I couldn't find anything to help me with this because I already have a wave spawning blueprint and by editing it I might have broke it and I didn't want to do that this close to the deadline.

I did find a way to be able too set up a trigger box that if you walk into it, it would take you to the next level but with a tower defence game there was no player in game to possess and walk to the trigger box.


Here's the tutorial for the box trigger to activate the next level:

https://answers.unrealengine.com/questions/370902/load-new-level-from-box-trigger.html

I did some research into tower defence games and looked at plants vs zombies, I also played it so I could understand the mechanics they used and the plants and what damage, range differences they had.

I took some screenshots when I was playing it to show the things I found interesting or that benefit the game. I like the fact that the turrets with the projectiles are plants and the way you pay for the plants, I like that they used suns because plants grow in the sun and it’s realistic.


I also like that the sunflowers produce suns to add towards the money you use to buy plants and they have a cool down time.


I screenshoted this one because I like the way they added crinkled paper and added a note from the zombies, just thought this was quite cleaver and funny.


https://en.wikipedia.org/wiki/Plants_vs._Zombies

Tuesday, 12 February 2019

WBL - DAY 21


Work Based Learning - 12/02/2019 (7 hours)

Today I have modelled a snowball for one of the projectiles for the snowy level. I added a sphere onto the scene and add a Lambert material. After adding a material I changed the polyShere1 settings of the axis and height to make the poly count smaller because we are going for a low poly game. This is the finished snowball.



From the bump mapping tab I clicked the arrow to bring up the selection of textures and found the noise texture. I changed the Translucence settings to get the sphere looking more like a snowball and then I continued onto the other settings.


I played around with these settings on the noise texture until I was happy with the end result. 



We also have a few bugs in the game that I've been trying to fix by researching or asking for help by the author of the tutorials and googling how it could work but with specific blueprints but it's hard for me to add onto the current ones just in case I break them. Also I don't know how to have a game with multiple levels and have a button spawn after the waves are over so I will be doing more research into that and asking if anyone knows a way to help me. 



WBL - DAY 20


Work Based Learning - 11/02/2019 (7 hours)

Today I continued with the tutorial I'm following and created different projectiles types we could use in the game which gives us variety in what projectiles we could use. The projectiles we thought of for the snowy level was a snowball to replace the fireball and a ice shard to replace the arrow.  I wanted to add this to the game because otherwise the projectiles on the first level would be the same as the ones on the snowy level and I didn't want them to be the same because a fireball doesn't really fit the theme of a snowy level. Also I wanted to add a bit of a difference and thought it would be fun to have a snowball shooting tower.

For this I made a new structure and named it the projectile struct. I added three variables for the projectile, one for the static mesh, one for the particle and one for the audio.


After creating this structure I added it to the tower structure and that created a column for the tower data table.

This is the column on the data table and depending on which projectile you use, you write what the projectile is called.


This will then show up on the data table and shows which projectile the tower will be firing.


Here are some of the blueprints I made in order for the projectile to work, this allows the projectile to take the data from the data table and change to the mesh of the projectile it will be firing. 


This is the other part of the blueprint for the projectile, I added a data table row node and selected the projectile structure and plugged that into the sphere radius on the ??? blueprint and then pulled from the row name pin and plugged that into the projectile pin on the break tower struct node. I then pulled off the data table and promoted it to a variable and called it the projectile data and set that.


Here is an update of our levels.


This is the snowy level.


WBL - DAY 19


Work Based Learning - 08/02/2019 (7 hours)

Today I've been working on adding different modes and a splash effect for the tower projectiles.

Different Attack Types






For this I needed to create an enumeration blueprint and added 2 columns for the different attack types which were homing projectile and non-homing projectile. This means that one attack type will follow the AI until it hits and the other will shoot in the direction of the AI but doesn't follow it. I wanted to added this because I thought it would make the game more challenging for the player which will make them want to play it more.


After doing this I created a new variable on the tower structure and searched for my enumeration and selected that.


Creating this variable allows it to show on the data table and I changed to homing projectile and non projectile on the ones I wanted. The first two columns are for tower 1 which is the arrow tower and the other two are for tower 2 which is the fireball tower. 



By making this enumeration it created something called a switch on attack types node which allows the tower to have different projectiles and matches the input its given from the data table. Then connected that onto the shooting mechanic on the tower blueprint, I plugged them both into the spawn tower projectile node and plugged the selection and projectile type pin onto the attack type pin from the break tower struct node.



I changed the arrow tower to homing so it follows the AI and the fireball tower to non-homing so that they had a different effect. I did this because I feel like the player will get bored if they did the same thing and it's good to have variety. Also because fire spreads more than arrows do in different directions.


This is the blueprint for the non-homing projectile, this means that it doesn't follow the AI it just shoots in the direction of the AI and then continues to fire even it misses. 


I also created a splash effect for one of the projectiles because the fireball tower doesn't do as much damage and doesn't follow the AI so I thought having the splash effect within the splash radius dealing damage will still make it fair for the player to get some kills. I've also added it onto the fireball tower because fire spreads and arrows do not.

This is the splash damage blueprint which allows the projectile (fireball) to deal damage within a certain range after hitting the target or near the target.


After creating the custom event for the splash effect I needed to add it onto the impact sound blueprint, I did this because otherwise the splash would activate before the impact sound.


For the splash effect to work I needed to plug in the splash, splash radius and splash damage pin into the spawn tower projectile node on the tower blueprint.


Monday, 11 February 2019

WBL - Day 18


Work Based Learning - 07/02/2019 (7 hours)


Today I found a sound for the upgrade button, I decided to find one that sounds like money as you'll be using money to upgrade. 

I also looked into other unreal projects for particle and sound effects. I found a fireball particle on one of the free unreal maps, I think we could use this one because it looks more like a fireball than the others I found, the rest looked more like a flame. 

This is the fireball particle. 



I also found this snow particle because we're doing a snowy level so I thought adding a snow particle would make it more appealing to the player.

Friday, 8 February 2019

WBL - Day 17


Work Based Learning - 06/02/2019 (7 hours)

Continuing with the tower defence tutorials I finished the tower upgrade blueprint and starting working on auras, I wasn't sure if we were gonna use this but I decided to continue and create them anyway to see what it would do and to see if the group want to use them. Basically it is an effect that can slow, damage etc. overtime whilst the AI runner is in the range of the tower. We will adjust the projectiles, sound effects and the particle effects to suit which level we're on.

I asked Casey another question to explain in more detail and I asked him if there was a way to create three spawn locations with one spawner. Here's what he replied:


He has explained that there is a way, but I couldn't really understand how to set up a handler for a spawner, so I did some research on websites and you tube and I couldn't find a specific one to use for the purpose I needed, the reason we needed three spawn locations is because on the level design map Sam has drawn there are three separate lanes leading into two and then eventually into one reaching to the castle.

After researching and not finding much on what I needed I asked Sasha if she knew a way to set it up, we had a couple attempts before we got it working.

This is the different spawn locations code that is set up in the construction script of the spawner blueprint, this allows there to be three spawn locations by having the spawner attached with three cubes and that is where the enemy will spawn from.

I didn't know what an add unique node was so I searched it up so I could understand the blueprint more. I got an explanation from the unreal engine website. An add unique is an array finding node and if it doesn't find copies of the value it will add it to the end of the array.


The first attempt that went wrong was that it was spawning in three different locations but it wasn't taking the data from the data table it was just spawning 2 each lane when it should have been 5. I asked Sasha if she knew how to fix this because she helped me edit the preview code and got that working. Here is what she said would work, we added a for each loop node, a get spawn points and changed it to an array and got the actor location. This means that its finding the spawn points and looping the AI runner to spawn at the location we placed the cubes.

























The next I did was added a slow effect to the tower radius so that the AI runner will get slower as they walk through the range of the tower. For this we made a run speed, slow radius and slow effect variable onto the tower data table. I added a set run speed node onto the wave spawning blueprint.


This is the slow effect blueprint, which allows the player to slow down whilst inside the towers range. I think this is a practical mechanic to include because then it would be easier for the player to kill all the skeletons to then get to the next wave and also because I think it's better than just having the skeletons slow all the way through because the player might get bored if the game is super slow.






Thursday, 7 February 2019

WBL - DAY 16


Work Based Learning - 05/02/2019 (7 hours)

I've continued on with the tutorials I'm following and today he started with tower upgrades.

So I added some variable onto the tower structure which were Can Upgrade and Upgrade To Tower, the can upgrade is staying as a boolean and the upgrade to tower is a name variable.


By adding them to the tower structure that adds some columns to my data table where I can set up the data for it to upgrade and if it can upgrade and what it will upgrade to.


Here is the blueprint for the tower upgrade, by having this feature I think the player will be more interested in levelling up the tower to be able to see the upgraded tower and if there is any difference in the damage or range. 


I had to research into being able to set up another level so that we can have another level after you complete the first one, the second level will be set in the snow and have a wintry theme. So I googled into some options I could do and I found an unreal engine forum with an answer I could kind of understand it.


I looked on youtube as well and I found the same solution, where you add a box trigger and when the player walks into it it will go to the next level. This will only work if you open the level blueprint and add the box trigger begin event and then plug that into an open level node.