Monday, 21 May 2018

HND Project Week 33

HND Project Week 33

This week is the final week and is dedicated to finding bugs that could ruin game play. Last week i briefly mentioned some of the bugs that were fixed, however I will be going over the bugs that i cant fix either due to time constraints or not knowing how to fix them. Some are also mentioned in the play through which is available below.
Bugs
Since this is my first time making a large game such as this, bugs are to be expected. For example the largest bug that i show off in the video is that the player character twitches when the character is walking in a straight line. This twitching, i believe, is caused by this piece of code. This makes it so that the actor rotates and follows the camera. If i had more skill within the engine and much more time, i may have been able to fix this. This piece of code however is much more useful than the old camera that would orbit the payer. This meant that the player would be able to shoot themselves because the bullet follows where the camera is looking
Another bug in the video is the player model Flipping when looking straight down. This again is caused by the code above because it rotates the player model on all axes and makes it completely flip. I believe that this could be fixed by making an animation of looking down when the camera hits a certain degree.
One of the more game breaking bugs is that the bullets have no collision with the environment. This means that when shooting, the player can shoot through solid objects and deal damage enemies or more importantly activating trigger boxes on the other side. In earlier versions of the game the player could shoot through mountains to activate trigger volumes on the other side. This was fixed by casting the trigger volumes to the player. However the bullets still do not have collision. When trying to add collision to the bullets by using collision capsules, the projectile disappears and no bullets are fired. This could be fixed by creating the bullet blueprint from scratch however this is not viable as it doesn't affect game play too much anymore and that time is almost up for working on the project.

A more annoying bug that i have encountered and have not fixed is the random damage that the player takes occasionally. This is showcased in my video. I believe that this is due to the enemies not being able to path to me and they somehow do damage. I have absolutely no idea what could be done to fix this and i have no idea where i would start.


Monday, 14 May 2018

HND Project Week 32

HND Project Week 32

Now that i am coming towards the end of the project, i have been making sure that the game is playable and adding any finishing touches. For example while playing, one of the large boss models was too large for the hit box. This meant that many bullets would go through the boss and they could go through gaps smaller. This was then changed so that the hit box matched the model size. Another finishing touch that was added was the addition of a chest plate for the player character. While this was not necessary it made the character look more complete.
While it may not look the best i quite like the angular design of this. However i should have added a subdivision filter to smooth it out to match the rest of the armour.

A problem that had arisen when creating the teleport triggers was that any actor would trigger them. For example shooting the trigger volume with a bullet would teleport me to a new level. This meant that it was a possibility to skip large portions of the level because of this. To fix this, i had to cast the volume to the thirdperson character. This meant that only the third person character could trigger them and not the bullets.


Monday, 7 May 2018

HND Project Week 31

HND Project Week 31

After creating all of the buildings and structures for the city level, i began placing them down in the level. The way i have placed them is to make it feel both open and linear at the same time. This was done by creating multiple places to explore such as the shrine areas which will reward the player with full health.
Below is an image of the full completed map structure.
Now that this level is complete, the last few weeks will be dedicated to testing, adding finishing touches and documenting any bugs that occur when playing the game.

Monday, 30 April 2018

HND Project Week 30

HND Project Week 30
I have started working on the final level for the game which is a Gothic style city called Ichorsford. One of the first things that i started working on was the cathedral which is the final boss arena. Much like many other structures in my game, it was built by grouping up geometric object such as cubes and cones.
 Inside the cathedral, there are 3 large enemies that are the bosses of the level. Also in the cathedral are several rows of seats that can be used block the bosses from reaching the player.
 The seats inside the cathedral are made from small boxes inside unreal engine. I originally created a model for the seats that is shown below. However when i imported the model into the game, and applied a texture, it would be a solid colour. This made it difficult to differentiate the angles of the model. I believe  this is because the i didn't use the UV mapping. However i believe that the one made inside UE4 are much more appealing because they are more simple and effective
Model created in blender
Seats in unreal

 To bind the player to the level, there several house that make up the boundaries. Some are inaccessible and are boarded up so that the player cant access them. One has multiple floors and enemies and some have nothing in.


 To restore the player's health, i have used the same type of trigger box that is used in the other levels. However to get to it on this level, the player must fight multiple enemies at once.

 I have also created a clock tower to break up the level a bit rather than it just being brick houses.

Monday, 23 April 2018

HND Project Week 29

HND Project Week 29

Since i have changed my idea to a 3rd person shooter, i needed to create a weapon system that allows me to shoot projectiles to damage enemies and to switch between several weapons.
This set of code makes it so that the weapon variables such as ammo count and fire rate are stored when changing between them. It also spawns a particle effect to signify a change in weapon. To make the weapon fire it spawns a projectile at a velocity that will propel it forward and will do a certain amount of damage on impact. The left mouse button is to make the gun shoot.
 A piece of code called get aim transform makes it so that the projectile spawned in the same direction that the camera is pointing. This created a problem where you could shoot your self because the player model didn't face the same direction as the camera.
This blueprint makes it so that the actor follows wherever the camera points. This is a bad fix as it makes the character follow the camera wherever it is pointed. Foe example if the player looks at the ground, the actor is rotated so that the whole
body faces the floor.

To restore a players health i have created a trigger volume that sets the current player health to 100 which is the maximum.




Monday, 16 April 2018

HND Project Week 28

HND Project Week 28

Several weeks i mentioned that i had changed parts of the forest to make it less dense, this week the forest has now been completed and, in my opinion, looks alright. The main feature of this is the little village with houses, enemies and a large tree ion the middle.
 The houses for the village were made from simple geometry pieces in unreal that have been grouped together to form a single house. I could have made these in blender however, a problem that would occur would be that the scale may be off. For example if the doorways are too small, i would have to keep  importing the same model after it had been changed. This also means that i don't have to worry about making a house model that is not optimised and causing performance dip in game.

In the centre of the forest map, there is a large tree that enemies patrol around. After progressing through the level, there is a large hole in the ground which leads to the boss arena. 

 The boss arena is located in an underground cave and after killing the boss, the player is teleported to the beginning of the forest level so that they can return to the hub and travel to the other level.
Boss in boss arena
Player start in boss arena

Also, since the game design was changed to be a third person shooter, i would need to create a projectile for my gun to fire. The projectile was created in blender and, in my opinion, is one the nicer looking models that i have created. To make aiming easier when playing the game, i have added a pseudo first person camera that can be switched to using right mouse button. This was done by adding a another camera and disabling the current camera when the button is pressed







Monday, 9 April 2018

HND Project Week 27

HND Project Week 27

Recently i have been rethinking my plans for this game. Originally it was meant to be a third person melee fighting game much like dark souls. However i have decided to change to a third person shooter instead. There are several reasons for this one being that i do not have the skill or knowledge to animate weapon animations. Another reason for this change is that it is much simpler. This however will not affect the game play much as the enemies can be given higher run speed or more damage to compensate. Therefore from this point on, the project will be a third person shooter.

My plan going forward is to have two weapon slots, one will be a small, high powered slug shotgun and the other will be a lower powered full auto Assault Rifle. I have already made the shotgun model and is currently the main weapon for the player.


The plan for the forest area was to have a section of it be dark because of the tree cover. However this didn't work properly. There were too many trees which cast too many shadows. This resulted in the lighting not being built when building the lightning. Therefore i have redone the forest to have fewer trees and be less dense. This will also improve performance for lower end computers.


Monday, 2 April 2018

HND Project Week 26

HND Project Week 26
This week i have been working on creating more armour for the main character. I have created the model for the greaves, boots and arm plates. These were made in Blender by manipulating a base torus shape. These Again will be attached to the player character by using sockets. For example the greaves will be attached to the leg bones of the default character.




Also i have made some tweaks to the main Hub. Before, the hub was a floating island with a castle that teleported the player to the other levels. The castle has stayed however i have changed it so that there is no longer a floating island. This is because the way i made the floating island looked strange because it was two landscapes on top of each other. This meant that there were parts where the landscapes clipped through each other and it didn't look too great.

Therefore i have made several changes to the Hub. First i have removed the floating islands and have replaced it with a normal landscape. The jumping puzzle is still there however, i have changed it so that instead of falling into the abyss, there is a lava pool that if fallen into, will reset the player to the start of the Hub. I think it looks much better this way as there are no clipping assets.

Old Hub


 New Hub

Monday, 26 March 2018

HND Project Week 25

Last week i couldn't get the character model to work in blender and so the alternative i have decided on is to use some assets from the unreal marketplace which are free to use in any unreal engine project. I would have liked to have made all of the different enemy types unique however i lack both the skill and time to create unique, detailed and fully animated models. These models are from a pack called infinity blade warriors

Normal Enemy

Bigger enemy

Boss enemy








I have decided that rather than using assets for the playable character i have decided to keep the basic Unreal engine mannequin and rather than creating a new character model, i have created armour pieces that are attached to the default model. This is because i have more confidence creating models that are not humanoid such as armour pieces or weapons. As well as this it saves time and would allows me to focus more on the mechanics of the game such as combat and enemy AI.

Helmet

Pauldron


Monday, 19 March 2018

HND Project Week 24

HND Project Week 24

This week i have tried to create a character model for my game. This was done by following a guide on youtube which is about creating  character using blender and using a plugin called rigidify to create the character skeleton.
https://www.youtube.com/playlist?list=PLSfh6YsA0LhuevD_gen5_nBnZDMaoP2Tr

Initially there were no problems creating the character in blender. I started off by starting with a cube and extruding all of the limb from the cube. The limbs and torso was then moved over the skeleton and the hands were created.
When i was happy with the shape of the player character i tried to set up UV mapping. However having little understanding of UV mapping and the program i skipped this and went to the next step which is binding the skeleton to the model. However this is where problems emerged. The plugin which created the skeleton, rigify, would not let me bind them together what ever i tried. I was going to create the enemy characters using the same process, however i am now going to find an alternative.

Although this process did not work, i am happy with how the model looks even though it looks like it is from late 1990's game with how angular an unnatural looking the body is. To make this look more natural, a smoothness modifier could be added so that there are more polygons. This however may have an impact on performance. As well as this, several of the angles messed up and did not look right when smoothed. For example the pointed helmet of the character, looked more like a bum rather than a horn or point.





Monday, 12 March 2018

HND Project Week 23

HND Project Week 23

Several weeks ago uploaded an image of one of the additional maps that is accessed from the hub. It is a gothic city called Ichorsford. The other map is a forest map full of grass, trees and several small forest villages made of wood. I have added i trees so far an created a small covered forest areas where there is very little light apart from torches on some of the trees. This area is a secondary area which is visible from the beginning of the level but can only be accessed when exploring the level.  In the middle of the map i am going to add a large tree surrounded by rocks. From this area it will branch off into one of the wooded villages with houses on stilts. Normal enemies and the larger enemies will be in the covered forest area and both of wood villages.



To keep the game playable with at least 30 frames per second, preferably 60 frames, i will have to ensure that there isn't too much grass to drop the frame rate. The grass, trees and other natural objects such as rocks and scenery is part of a demo pack that is available on the unreal learning section. The models are good as they allow quick placement of details in an environment, however these particular models are very high poly. this means that they are more intensive and require a better computer to process them. As such better placement and less models will increase the performance of the game.

Monday, 5 March 2018

HND Project Week 22

HND Project Week 22

Several weeks ago i posted an image of a rough sketch of a potential weapon it was a crossbow. This week i have created a new weapon for the game which is not a crossbow but a shotgun much like a blunderbuss. This was created in MAYA and i tried my best to make it all from one mesh rather than making the parts of the model separately like i did with the hammer in one of my earlier posts.



This was created from a cylinder in maya and the vertices and edges were manipulated to create the end model. There were some parts which were not part of the initial such as the grip, muzzle and iron sights. I rather like the design of this weapon as it is angular which sort of makes it look sleek. Having no prior skills in 3d modelling and texturing, i plan to use the base unreal textures such as steel or nickel when i import the model into unreal. This is so that the weapon looks metal. This weapon's type is not currently decided as it may shoot mini missiles rather than buckshot like a shotgun usually would.

If i decide to make the weapon be a mini missile launcher, i would have to create a missile in blender. That would be shot out the end of the gun.

Monday, 26 February 2018

HND Project Week 21

HND Project Week 21
This week I have been working on the mechanics of the game. This includes the health bar and damage system as well as the enemy AI.
First of all I have created a health bar so that the enemies are able to deal damage and kill the player. This was done by creating variables such as current health, max health and health regeneration. I have stated in the max health variable that the max health for the player is 100 and the regeneration to be 1 health every 2 seconds. I have made there be very little regeneration because it doesn't feel right to just be able to hide and have health regenerate without the player doing anything.

 The enemy AI have also been created and follow a basic patrol between two points. When the player enters the AI's field of view, the AI will follow the player until they deal damage. There are several different version of the same AI which each do different amount of damage to the player.


 There are 3 sizes of enemy. Similar size to the player, slightly bigger than the player and the boss AI. The standard enemy will do little damage to the player whereas the larger enemy will do much more. However the boss enemy will be doing much more than the other two enemy types. In the variables for damage the smaller enemy will be doing 20 damage, the larger enemy doing 30 damage and the boss enemy doing 40-50 damage. For now the enemies and player will have the default unreal mannequin until I create or find some models that fit the game thematically.

When the player takes damage from the AI a vignette will appear on screen to signify that the player has taken damage. The health bar will also update and remove the health. Upon reaching zero health the player will die and the respawn at the last checkpoint. however currently when the player dies, the game ends.

All of theAI was created using blueprints and the health bar was created using a widget and is cast to the players viewport.