Tuesday, 22 January 2019

WBL - DAY 6


Work Based Learning - 22/01/2019 (7 hours)

Starting off the day I didn't know whether to continue adding blueprints or fix the projectile first,  I decided to re-watch the video to try and figure out what went wrong and I noticed that the out row pin from the GetDataTable Row node wasn't plugged into the Set Tower Data node from the TowerSelectionWidget blueprint.


I needed to add box collision to the bush so that the colour of the ghost mesh would turn red to tell the player that they can't place it over a tower that's already placed.


This is the blueprint that snaps the mouse to the grid when placing a tower. 


This is the blueprint which checks to see if you can place a tower.
















Here is my blueprint which allows you to place a tower if the ghost mesh is green and if you can't place one it turns red.


This is my runner structure for me to be able to set up wave spawning for the player I had to create different rows so that they would add to the data table. I added 5 rows which was wave, health, run speed, enemy count and mesh.





















Here is my runner data table where I add rows that will set the wave settings and how many waves you can have. This lets you change which wave you are on, how much health the AI has, the walk/run speed of the AI and how many AI will spawn.


Here is my wave spawning blueprint which operates the wave spawning, it gets the data from the data table and spawns the enemy with the health and walk speed attached and also added a delay so they don't spawn every second.




Monday, 21 January 2019

WBL - DAY 5


Work Based Learning - 21/01/2019 (7 hours)

I continued with my unreal project, I added tower building, materials for when you can and can't place towers, when bringing up the widget buttons with Q then clicking on one of the buttons lets you place towers and locks onto the mouse when you press the button and can place them. They turn green with the green material I created and are quite translucent to differ from the normal towers. I also made a red material for when you cannot place the tower but haven't set that bit up yet.

The tower projectile wasn't working correctly and it was rapidly shooting I didn't figure this part out and decided to go over the video again.

I set up this blueprint to be able to spawn a tower in game, when the button is pressed it gets the data from the data table and spawns a tower based on which button is pressed but doesn't place it until you click an area on the map.


This is the blueprint I created for the tower to stick to the mouse until it is placed in game.



Here is my blueprint for placing a tower in the world whilst playing. 














Here is my blueprint for the tower selection, it takes the data from the data table and the ghost mesh (spawned tower) so it shows the green tower mesh as translucent before you place it. 



This is my input action to be able to place a tower after clicking on the button and using the left moose button to place it. 


 This is my green material for when you can place towers in the world, I made it translucent and then added a Constant to the opacity and a Constant3Vector to the base colour pin to create this material.


For the red material I just duplicated it and changed the base colour to red and this is for when you can't place a tower in the world. 


This the the static mesh for the builder tower and just wanted to show what it would look like I the game. This is a bush because I don't have the tower model yet.




Friday, 18 January 2019

WBL - DAY 4


Work Based Learning - 18/01/2019  (7 hours)

Today I continued with the unreal project and in this lesson I was setting up panning around the screen with the mouse and setting up some UI customisation. It took me a while to set up the panning because it didn't work the first time I did it and it was moving with the mouse but not in the right direction and it wouldn't stop if my mouse was in the middle. So I looked over the video and couldn't find anything different or maybe missed something.

I decided to redo it and then It wouldn't move the screen at all. I looked over the blueprint and noticed that the Set Pan Left nodes weren't connected to the branch node and I needed to swap the Get Pan Left and Get Pan Up in the int *float node. After I changed this It moved with the screen but there was still an issue with the direction. When moving the mouse up it would go left, moving it down would go right etc. I figured if I swapped the Set Pan Up -1 and 1 it would work and it did. The panning is set up on the PlayerCameraPawn blueprint.


This is my PlayerCameraPawn blueprint. I created this for the camera angle I wanted and will be using this one instead of the TopDownCharacter blueprint. This is the code for panning the camera, which allows you to move the screen in which way your moving the mouse.



This is the my widget tower selection design which will allow the player to select which tower they want to use.


After creating the widget blueprint I added some code in the player camera pawn for it to show in game and it is set up by pushing Q on the keyboard for them to appear. This is also created in the PlayerCameraPawn.




Thursday, 17 January 2019

WBL - DAY 3


Work Based Learning - 17/01/2019  (7 hours)

Today I've continued with the unreal project but encountered a problem as soon as I opened it. The projectile's I created from the tower were very slow and weren't following the player. I spent quite a while re-watching the tutorials to see if I did something different or wrong and couldn't find a issue  so I asked my team if they could see wrong with the coding but they couldn't so I had another look over it and realised that the Tower Target wasn't connected to SpawnActor Tower Projectile. To fix the speed of the projectile I had make the Projectile Speed higher.


Today I have working on the unreal blueprints, such as the projectile, damage, the range of the projectile and updated the tower projectile.

The projectiles that were shooting from the towers were firing and some were disappearing but the ones that didn't hit the target stayed in the world and the guy from the tutorial realised in the next video that he had done it wrong so I needed to change the return value from the GetActorLocation which wasn't linked into anything and I changed it to link into Set LastKnownLocation and I needed to change the return value From VInterp to Constant and plug that into the News Location pin on the SetActor Location.


This is my updated damage code. In the previous one I had the TowerStruct and the Break Tower Struct plugged into delay so I moved it to plug into the damage pin on the SpawnActor Tower Projectile because the guy from the tutorial moved his so I wanted to make sure we have the same otherwise I'd probably encounter some problems if they were different.


From the tutorial video he mentioned that the projectile still continues to shoot after the AI has left the sphere collision area so he created this blueprint code to stop the projectile from shooting at the AI when they leave the sphere collision area.


Our group also discussed some concepts that Felix had done and decided on a few tower designs, we also decided to have different projectiles speed and damage because we wanted a range of different attacks to make it more interesting.

WBL - DAY 2


Work Based Learning - 16/01/2019  (7 hours)

Today our team discussed what we would do for the day and continued communicating throughout the day to show our work or ask for feedback.

I continued with my unreal project and started the tower defence system. For the tower defence I also learnt a new way to shoot missiles or bullets which was using a structure and a data table. It wasn't hard to understand him from the tutorial and he explained everything he was doing. I also learnt that you can create an excel with the variables you want and then add it to a data table on unreal to make it quicker and easier with this he uses less variables because they're already made in the structure..

Firstly I created a tower blueprint and created a damage to AI and spawning projectiles. I used these because without damage from the tower to AI the enemy will win.

I came across another problem I had with the projectiles, they wouldn't shoot so I had to go back through the video and see what I did wrong. I noticed that I had my sphere from the tower blueprint set as BlockAllDynamic when it was supposed to be set to OverlapAllDynamic. I also had to set up the data table code in the tower blueprint in order for it to work with the projectiles.


I created a new blueprint for the projectiles and in this screenshot it shows the projectile set to follow the AI and deal damage.


First I had to create a structure in order to create a data table. I added all the variables I needed.


Here is my data table. I changed some of the values such as damage, range and fire rate.


This is the layout of our game and the current progress of the unreal project. Sam designed this level layout and I added the map into my unreal project because I had already started coding.


Tuesday, 15 January 2019

WBL - DAY 1


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

We were given our brief today and were told to create a game. Our team started to brain storm ideas and we came up with a brute princess that is the saviour for her knight and needs to collect all the pieces of the sword that's scattered around the courtyard and the castle in order to defeat the dragon, we decided to have it this way because we thought it would be more interesting and different than the knight saving the princess like in many others games like Mario the main goal is to rescue peach. We came up with the idea of it being a 3D plat former game and it be cartoon style. We wanted to have enemies and hazards such as goblins, skeletons and wolves.

After talking to Craig about our idea he suggested we make it more simple rather than a complex game because of the time we have to do it and he suggested a tower defence game which we all agreed to do. We looked into tower defence games and I looked into finding a decent tutorial because I'm the level programmer for this project, so that I could follow because I've never created a tower defence game before so I needed someone to help me through it.For our new game idea we decided to take Craig's advice and changed our idea into a tower defence, we decided to keep the princess and the knight but change the enemy to skeletons that will attack the castle.

Image result for siegecraft

First I started with creating AI with an end location and this means that the enemy will walk along the path until he reaches the end location. I used a blackboard and a behaviour tree to create the AI which was interesting as I've never used it before and I learned some new things in unreal that I can use.

Here is the spawn AI blueprint this allows the AI to spawn whenever the actor is placed in the world. This is an important aspect to the game because without a spawner the AI would just be thee in the level and we needed them to spawn so that in the future I can setup waves.


Setting an end location inside the behaviour tree. I set up this for the AI to follow the path set up with the nav mesh and go to the end location as a finish line otherwise they would just stand still. 


I ran into an issue with the AI, the enemy wouldn't move from the spawn point to the end location so I went back over the bit in the tutorial that I just did and I couldn't see any difference so I asked my team if they knew if anything was wrong with it and Ashley pointed out that the nav mesh didn't look like it was on the map so I moved it down slightly and that fixed the issue. Next time I will make sure that the nav mesh is touching the map.


Diary Entry 4,

This was the finalising day, where we finished all the paintings and had the sound ready to go into the animatic maker. Kim merged it all together and it was complete.

11/01/2019

Total hours- 3 hrs
Diary Entry 3,

Continuing with the paintings we had a few complete at this stage but still had a couple that needed doing. The other people in my group decided to continue with the digital paintings as I was finding sounds like a snow storm for one scene, ducks quacking, birds chirping etc.

10/01/2019

Total hours - 3hrs
Diary Entry 2,

Today we continued with the line art, I coloured one scene from the ugly duckling and started to find music for the background and also sound effects. Some of the links I found wouldn't convert into audio so I told Kim and he suggested a different website which had smaller clips.

09/01/2019

Total hours -6

Tuesday, 8 January 2019


Diary Entry 1,



Today we started our game jam. I joined my group late so I was given a brief on what we're doing and they decided to create an animatic of the ugly duckling. The storyboard was already drawn so we all started to outline them and some of the other group member started to colour some of them whilst I found music and sound effects. I really like this idea because it's cute and I think it being a animatic will. make it more dramatic with the right music.

08/01/2019

Total hours - 6