Tumgik
tc54random · 2 years
Text
Evaluation
For this project I have successfully met most of my MoSCoW targets. I have created a game mechanic that allows the player to use an arrow that will jump from target to target killing them almost seamlessly and then returns to the player.
I have also successfully created a new third person camera system that limits how much the player can look up and down making a more cinematic experience and a story focused feeling.
However, I did not successfully create the randomised features that I would have wanted and ended up with a simple randomised arrow selecting system that doesn’t work with the arrow firing mechanic.
I also didn’t get the arrows curving path working so I ended up focusing on the arrow pathing that went in a straight line from target to target. The biggest issue I was having with this code was that it wasn’t working correctly with the player also I think it would have been a lot harder to get to randomly move between each target.
At the start of this project I started to make use of a organisation website that was really useful at the start of the project but half way though I started using it less and this meant that I started developing other mechanics that led to me being behind on my main mechanic and in the end not completing it to the standard I wanted.
In my next project I am going to make sure that I make use of this organisation/planning website. This would mean I will focus on the most important features of the game. I will also spend some extra time thinking about my project idea so that I am less likely to change it halfway through.
I am really happy with how this project turned out even and is really different to anything I have done before. In this project have improved my understanding of key aspects of coding like line traces, arrays, tags, parent/child, AI and splines. 
In this project I have developed my understanding of certain aspects of the code/nodes and maths side of game development. I have improved my knowledge of arrays, splines, line traces, tags, parent/child, AI. I have also learnt how to convert a value range to a new value range using a maths equation. Although the final result of my project may have not ticked off all my MoSCoW and concept targets, the process of trial and error has improved my knowledge of all these things I listed because I am constantly thinking about what's wrong and how I can improve it to get it working. I feel that my result is unique and very different to what I have done in past projects and aim to continue this in future projects.
0 notes
tc54random · 2 years
Text
Arrow Attack Inspiration
Tumblr media
My idea is heavily inspired by the MCUs (Marvel Cinematic Universe) depiction of the character Yondu. In the MCU Yondu is know for using a whistle-controlled arrow (Yaka Arrow). Yondu is shown to be highly skilled in using this arrow by being able to defeat several enemies before they can react. The arrow moves at quick speeds leaving behind a short red trail showing the path that is has traveled. 
Tumblr media
Yondu in the comics was depicted with a large red fin protruding from the back of his head and his back. He was a spiritual warrior who controlled his killing arrows by whistling as well but is seen to use a bow to fire his killing arrows. Unlike the MCUs depiction of him where he doesnt have a bow. This is because he would be too similar to Hawkeyes silhouette.
Tumblr media
I really like the design of the MCUs Yondu compared to the Comics version because it's a very unique design for a character and something I find hasn't been explored in games before and I have been really inspired by the scene were yondu is surrounded by a large group of enemies and he kills them all with just the arrow. I think this mechanic would make for some really interesting and unique combat. https://youtu.be/sSPpMb0RCFw?t=21
Yondu’s arrow could easily be seen as similar to/a form of telekinesis because it appears to not have any physical connection between the yondu and the arrow. However, the arrow is controlled by the sound waves from the whistle traveling through the air.
Tumblr media
Telekinesis is a fictional thing, as there have been no scientific proof of it being real, that allows for a person to control something physical without any physical interaction. It is often explored throughout media and is often seen in the sci-fi and fantasy genres. Most notably in Star-Wars and Stranger Things where characters are able to move things without physical contact. 
Tumblr media Tumblr media
For my game I would like to explore the idea of controlling the arrow through the use of telekinesis as I feel that would allow for some interesting mechanics/character abilities and some cool character designs. 
0 notes
tc54random · 2 years
Text
Arrow Targeting System
Sets ‘Hit Count 2′ to 0 before starting the loops so the arrow is able to attack again. Checks whether the value of Hit Count 2 is less than the length of the targets array. If true it will start the loop if false it will end the loop.
Tumblr media
Rotates the arrow towards the target by using a Set Actor Rotation that uses the node Find Look Rotation which takes the Start value (Self Actor Location) and the Target value (Targets Actor Location). It then moves the arrow towards the target by using the nodes Get Unit Direction (Vector) and Distance (Vector) + 300 and multiplying them together. It then will add the actors location with this value to get the targets relative location. Then the target will be killed using the kill function that causes the target to ragdoll and then get removed after a few seconds.
Next it adds 1 to Hit Count 2 and will loop back round to the branch until Hit Count 2 is no longer less than Targets Length.
Tumblr media
Returning the arrow to the player is done similarly to going between each target. The arrow is rotated towards the player and then moves towards the relative location and rotation of Arrow2 and Mesh. It is then attached to the Arrow Arm component.  This will mean that the arrow will constantly follow Arrow2 until the arrow is fired again and the loops is active.
Tumblr media
0 notes
tc54random · 2 years
Text
Randomizing the Arrow Type
I have made it so the player can randomly switch between each arrow. This will add pressure to the player during the game as they will have to make use of which ever arrow they get.
The issue that I currently have is that these arrows are currently not usable as I need to make it so that the player controls which ever arrow is equipped. So the player still attacks using the basic arrow only. 
Another issue I am having is that the arrow is constantly facing 90 degrees to the left when it should be facing forward. If I had managed my time better I could have fixed these issues.
Tumblr media
0 notes
tc54random · 2 years
Text
Aiming Code (Unused)
Here I have got code that lets the player aim the camera forward making it easier to look at targets from a distance. I copied and pasted the code from a side project I was working on where I explored the camera and movement like crouching, walking, sprinting, crawling.
Tumblr media
0 notes
tc54random · 2 years
Text
Creating Line Traces and Adding to Arrays (Targeting System)
The problem I was having with the original code was that it would add every pawn to the array no matter if it had the tag or not. So I have made a new system.
This systems starts with a Tick event that then goes into a Line Trace For Objects. The start of the line trace is set to the World Location of the players camera and the end location is taking the Forward Vector of the camera and multiplying it by the value of Sight Range, which is 2000.
Tumblr media
Now that I have a line trace that is being constantly produced in from the camera I need to set it to add the hit target to an array if it is an enemy entity.
I did this by connecting the return value condition into a branch where if true it will cast to BP_NPC2_NPCChild. To get the Object for this cast I break the hit result and connect the Hit Actor to the Object pin.
Next I get a Contains node from the cast that checks if an array has the targeted actor in it. Then the contains node connects into a Branch. If this branch returns false (If the target is not already in the array) it will Add to the Targets array. 
Tumblr media
This system works well enough that I can now select the targets that the arrow will attack. However it doesn’t allow me to remove the already selected targets from the array.
If I had more time I could drag of the true result of the second branch and remove the target from the array.
0 notes
tc54random · 2 years
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Here are all the notes that I made in my notebook for this project. I have explored value range conversion, camera angle limitations, AI logic, aiming, combat ideas, the arrows behaviour, charging of the arrow, animation ideas, and tagging system.
0 notes
tc54random · 2 years
Text
Inspiration: A Plague Tale:
Tumblr media
A Plague Tale: Innocence has a really nice fighting mechanic where the player must charge the sling to be more accurate. The game locks your aim onto the targets head. The game allows the player to upgrade the sling making the charge time shorter this makes defeating enemies much easier the further you get into the game. I think system allows for the player to enjoy the story that is being told without being taken away from it by having to think about aiming.
I would really like to implement some sort of charging mechanic to my arrow attacks because I feel it would allow my to create the game focusing more on a story rather than skilled fighting.
0 notes
tc54random · 2 years
Text
Small Changes
I have changed recoloured the enemy entities so that the player can identify which entities are hostile. I chose red because players often identify it with evil and danger. Like how explosive props in games tend to be coloured red to show that they can explode without directly telling the player.
I also added a small sphere to the center of the screen to act as a crosshair I could have created a Hud and added it there but I found it to be quicker to place a small sphere in front of the camera. If this project was longer I would design a proper crosshair but this is for reference.
Tumblr media
0 notes
tc54random · 2 years
Text
All Current Feedback
I have currently got 5 responses to my google form and here each response has been summarize below.
Tumblr media Tumblr media Tumblr media Tumblr media
0 notes
tc54random · 2 years
Text
First Feedback
This is the first response to my feedback form. They like my idea think it would be a fun mechanic. They found my example good but stated that it would be better if the arrow was to curve and move up and down, which I have experimented with but have struggled to get working so I started focus on the pathing from enemy to enemy. They selected 4 ideas that they would like to see implemented and they really want the split shot/shrapnel arrow.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
0 notes
tc54random · 2 years
Text
Getting Feedback
Since my game is not in a playable state and still requires some more work to get it to the stage I have created a form using google forms to get some feedback on my overall idea/concept and other ideas that I would like to implement but will not have the time.
After I have gained a few responses I will use the feedback to plan changes to my idea.
https://forms.gle/a3YM8nzNofU7J7K1A
0 notes
tc54random · 2 years
Text
Tagging the enemies
https://www.youtube.com/watch?v=A_MgmCWNgog
Settings up the line trace so that I can identify what target I have hit.
Tumblr media
Experimenting with making it so that when a target gets hit with a trace it is identified and if it is taggable then it will be tagged and that will then make the actor glow letting the player know they are tagged.
Tumblr media
0 notes
tc54random · 2 years
Text
Blueprint UE
https://blueprintue.com/type/blueprint/
Tumblr media
BlueprintUE is a website that people can copy and paste code that other people has uploaded. This site is really useful for people trying to save time to focus on more important code.
0 notes
tc54random · 2 years
Text
Flying Arrow Design Ideas
I have come up with many ideas for what I can do with my project idea. I aim to implement a few of these ideas into my project but not all due to the time I have for this project. However, I might come back to the project after I have handed it in to try and implement most of these ideas.
I have broken up and ordered each of my ideas into different groups based on how much I want to implement it or not.
Most wanted:
- Charging the arrow up before firing. (There would be 4-5 levels of charge that could be reached, each stage increasing the damage and how fast the arrow will move. It will also change visually to show each level of charge.
The first level will have little to no movement of the arrow and it will start to produce a few sparks coming off it with a barely visible glow on only part of it, but enough to be noticed if paying attention.
The second level of charge will have a bit more movement with the arrow shaking/vibrating but not to violently. It will also have slightly more sparks and also a noticeable glow over half of it.
The third level of charge will continue to shake/vibrate with lots of movement but also not really violently and it will produce a lot of sparks while glowing completely.
The fourth level of charge will become really violent and start to shake/vibrate very aggressively and produce loads of sparks while glowing really intensely.
And finally the fifth level. However, I am not sure about this level yet but this level will be the breaking point where its been charging for too long and it can’t take any more charge causing it to break in half and the energy to disperse or explode away from it.)
- Different type of arrows. (I want to have at least two different types of arrows that the player could switch between depending on the situation. These different arrows would be effected by the charging differently which I will explain for each one.
The first type of arrow is the basic arrow that will have a larger supply compared to the others. The arrow will fly through up to three enemies that the player selects before firing. The damage of this arrow will increased on each level of charge and will do enough damage to instantly kill the enemies when it has reached the the fourth charge.
The second type of arrow is a split-shot that will have a very limited supply. This arrow will break into three parts when ready to fire at the three enemies the player has selected. Each part of the arrow will hit one of the targets dealing some damage and then they will hit the nearest enemy behind the one it just hit. When at the fourth level of charge each part of the arrow will deal damage to another two nearest enemies.
The third type of arrow is an explosive arrow. This will have the lowest supply because it will be very good at defeating a group of enemies. This arrow will unlike the previous arrows the player will only be able to select one player. When the arrow hits the selected enemy it will explode instantly killing in one hit and heavily damaging the ones around it. If at the fourth charge the arrow will eliminate any enemies in close proximity and heavily damage those near those.)
Somewhat wanted:
- Arrow cooldowns. (These would be activated depending on what arrow was fired and what level of charge it was at. The basic arrow will not have a cooldown as it is not a special arrow like the split-shot and the explosive arrow.)
- Traversing with the arrows. (The arrows could be used by the player to traverse the level. There could be a few different ways of using the arrows for traversing. This mechanic would allow for intricate level designs as it would allow for some vertical levels.
The first idea would be to give the player the ability to fly in any direction at any hight or with restrictions to the directions and hight.
The second idea would be to let the player get a speed boost by grabbing onto an arrow that would drag the player forwards but wouldn’t be flying as they wouldn’t be going up or down only forward.
The third idea is to let the player use the arrow to “jump” jump whilst in the air. This would basically be a double/triple jump or infinitely jump.
The player would be able to use the arrow as a form of travel by grabbing a hold of an arrow. The speed at which the player would be able to go with it is undecided but I think a good speed would be a bit faster than running. It could possibly have different speeds at which the player could go.
It could also let the player use it as a double/triple jump.)
Least wanted:
- Storing the arrows on the characters. (This would let the player visually see the number of arrows they have left as well as a number on the hud.)
Unsure:
- Different attack modes. (The player would be able to select which mode they want to fight in. There would be a ranged and melee mode.)
- Max range to the arrows. (This would mean the player would have to move around and get closer to the enemies if they are out of the range.)
----------------------
Note taking:
(Notebook: Page with the arrows)
Different stages
Builds up charge slowly
Faster with more damage when charged?
Max Range/Kills at a time
Trail effect
Different attack modes
Melee attack with it?
Select each enemy by looking at them while charging (randomize the path the arrow takes to kill each enemy.
Cooldown (Drains the energy of the player when used leaving them weak?)
Different type of arrows? (Stored on the back of the player and floats when summoned) (Lets me experiment more with the Niagara effects)
 - Multi shot (2-4 arrows fire at a time)
 - Explosive shot (doesn’t return)
 - Mixed shot (Fires a random selection of 3 at once)
Traversal? (grab the arrow (in left or right hand?) and lets you fly around at a fast speed)
0 notes
tc54random · 2 years
Text
Changing My Idea
I have decided to change what I originally aimed to do for this project because I have found that this new idea is really interesting and very different to what I have done before. I will not need to restart this project as I can just continue with the work I have already done.
My new idea is to create an attack mechanic for the player to use to defeat AI enemies. The idea is that the player will use floating arrows that they control telepathically. The player will select which enemies they want to attack and the arrow will create a random path to each of the enemy and then when the player fires the arrows will follow that path and defeat the enemies. This random path will make the attack feel different every time. 
This new idea will still let me experiment with AI similarly to my previous idea but I will be focusing on making the attacks for the player instead of the enemies. After this project is over I could continue working on it and improving the AI and implement the ability for them to fight.
I have come up with ideas for this combat system that I will discuss on another post.
0 notes
tc54random · 2 years
Text
Visualizing The Cameras Pitch Paths
Here I have some images of the players camera pitch paths from the third person view and the side view. In the side view images the red arrow indicated the location and angle of the camera shown in the third person view. 
To visualize the cameras pitch path I created a basic actor with a small sphere that spawns on tick where the camera is located. I then disabled the cameras Yaw and Roll so I can get an accurate view of the path the camera takes up and down.
In these first two images I have the path of the camera pitch without any of the changes I have made. So its the same pitch as the camera when you create a new project.
Tumblr media Tumblr media
In these two images I have enabled the pitch restrictions but still have the dynamic camera boom length disabled so It still has the same curve as the one above but is unable to go all the way above and below the character.
Tumblr media Tumblr media
In these two images I have all of the changes including the dynamic camera boom length enabled and as you can see it camera is closer to the player when looking down.
Tumblr media Tumblr media
In this final image I am experimenting with adding an aiming in system but at the moment it feels really rough and not smooth at all so I am going to work on it.
Tumblr media
I am not happy with the current zooming in and out as it is very quick and linear.
0 notes