myfirstpersongame
My First Person Game
102 posts
Don't wanna be here? Send us removal request.
myfirstpersongame · 2 years ago
Text
Evaluation
This project I enjoyed learning about 3D and the differences between 3D and 2D games. In 3D games there’s an extra dimension to deal with. This makes the process more complicated but it is still similar to 2D games. In 2D, certain processes are simpler. For example, animation in 2D I really enjoyed but I used no animation of my character in my 3D game. This was simply because the player couldn’t see my character, only the gun. I will try 3D animation in the future but the process of rigging and then animating looks a lot more time consuming than in 2D. 
I also learned about 3D modelling. 3D modelling is difficult. I used Maya to 3D model and it was a programme I had never used before. I did research about Maya and the tools inside of Maya and what can be made in Maya and all of this research really helped me to get used to Maya. All of my models were modelled in Maya and they improved the more I made. I enjoyed the process of 3D modelling as there were always multiple ways to solve a problem. This helped me as I could think outside of the box to fix problems.
The majority of the problems that I encountered were when I was coding. There were bugs and sometimes I would code something and then rotate it and wouldn’t work. This happened to all three of my moving objects. The targets, enemies and the doors. The code for making all of these objects used the same logic. They all used lerps to change their location or rotation. This created a problem because this method used precise coordinates so that when they were rotated it wouldn’t work. To fix this I had to think outside of the box. In the end I realised that I could use exposed variables to set the rotation of everything and fix this problem. 
In order to ensure that I achieved the brief, I had to make sure that my game was 3D and first person. This meant that I needed to research many different 3D first person games to figure out what genre of game I wanted to create. I chose a shooter because it was easy to recognise and gave me a lot of freedom. In the brief it also said that the final product couldn’t be a game with a PEGI rating of over a 12. This meant that my enemies are very cartoon-looking and there is no blood in the game. 
I used Unreal Engine to create this game. There are many techniques used in Unreal to create games. The most important and accessible one is the blueprints for coding. I really like blueprints as they are easier to understand and read than normal typed coding. They are a lot more visual and I prefer this.
 Overall, I do like the game I created. I am most proud of the 3D models as 3D modelling is a completely new skill for me. When I started this project I was very unsure about what I wanted the final result to look like, but I did want it to have certain features and all of these are in my game. I have exceeded my overall expectations as I thought that the coding would be drastically harder because there was an extra dimension but this turned out to be false. I also feared 3D modelling as I had never done it before. However, I love the models I created and I think they go together well.
I got feedback from playtesting about a variety of things. I have since added a crosshair into my game because of the feedback from playtesting. Also I have named my game after a suggestion from my playtesting feedback. Someone suggested Target Practice as the name of my game and I decided to use this suggestion. I think that it is very fitting for my game and it is helpful. 
Next time I will make sure that I make a character for my game. In this game I didn’t have a character because it wasn’t essential. In my next game I will add a character so that it is clearer for the player. I have learned about the many differences between 2D and 3D but simultaneously, that there are less differences than I thought there would be.
0 notes
myfirstpersongame · 2 years ago
Text
Naming my game
I finally decided on a name for my game. I named my game Target Practice. I chose this name as I think that it is quite fitting for the game that is centred around shooting targets. This name was suggested to me in playtesting feedback and I think that it works incredibly well.
0 notes
myfirstpersongame · 2 years ago
Text
Respawning
Now after death you respawn in my game. Before, the game just ended. This is fine in the editor of Unreal but when the game is built out there will need to be a respawn. This is surprisingly easy to set up. As you can see blow the images of the code. The code is identical but there's two of them because of the two lose states.
Tumblr media Tumblr media
Despite this solution being so simple the outcome is very effective. This code is in the widgets for the two death screens. It means when the widgets are created (after a delay of two seconds) the level will open again starting the game from the beginning.
As you can see above, the final outcome works very well. I think the delay is just right. Enough time for the text to be read but not too long so that it would get annoying for someone playing for a longer period of time.
0 notes
myfirstpersongame · 2 years ago
Text
Crosshair
I added a crosshair into my HUD. I did this because my playtesting feedback. In my Google Forms I asked about a crosshair. I did this to increase the accuracy of the gun. I wanted the game to be less frustrating and for the player to feel in control. In order to do this, I added a crosshair to make aiming easier. It took a bit of trial and error to get the position of it correct but the end result is below:
Overall, I prefer my game with a crosshair as the player has much more control over where the bullets go. I think this is effective and will help the player out in the game.
0 notes
myfirstpersongame · 2 years ago
Text
Feedback from playtesting
Tumblr media
My first question was about the name of my game because I haven't decided what to call my game. As you can see in the image above, all of the suggestions included the word Target. So I will use this in the name of my game.
I will also add a cross-hair into my game because 80% of the people who played my game agreed. I think this will help with the accuracy of the gun.
Tumblr media
In the image above you can see I asked about the jump mechanic. It was close. Despite the fact that more people voted for there to be a jump mechanic in the game, I will not add one as it was so close and the level has been designed with no jumping in mind. Jumping would serve no purpose in the overall game.
The majority of the people voted that the hedge didn't look out of place. This is because of this I will not change them. Despite this fact, it was close. I think this is because the hedges are a lot more realistic than the other assets in my game. But I do agree that it is not to the extent that makes it look out of place.
Tumblr media
I asked what peoples favourite part of the game is because I was curious as to what people preferred. As you can see above, I got a variety of answers but I am happy about this because it shows that multiple parts of my game are enjoyable to play.
I asked about getting to the finish line of the game so that I could assess the overall difficulty of the game. I am happy with one person getting to the finish because it shows that it is possible but not easy. We only had 2 minutes to playtest so I am glad that it takes most people more than 2 minutes to complete my game.
Tumblr media
I asked specifically about the difficulty so that everyone could specify what needs to change. This can be a lot more helpful to me. As you can see in the image, everyone said that the game wasn't too difficult but gave different reasons. I take this as a positive because it means that my game isn't too frustrating to play.
I asked about the delay for the bullets because I tried many different intervals between the bullets and I wanted to get an outside opinion about the delay. As you can see, the people who played my game agree with me that it is fine as it is. I am happy about this and it is helpful to know.
Tumblr media
I asked about general bugs in case there was a bug that I wasn't aware of. As seen above, there wasn't any. I am glad that there wasn't any unexpected bugs because they would have been annoying and time-consuming to fix.
Lastly, I asked about the colour of the enemies bullets. I asked about this because I was considering changing the colour of the bullets from red to something else. As you an see everyone agreed that it should not change. So they will stay the same to match this.
0 notes
myfirstpersongame · 2 years ago
Text
Arcade Machines
Tumblr media
The image above is an arcade machine. It is very detailed and has many features but it is not that dissimilar from my arcade machines. It has detail on the side and front. The placement is the same apart from I have detail on the from of the machine at the bottom and the image shows detail by the screen. I chose this because it would be easier to UV Map on a flat surface.
This arcade machine is incredibly detailed much more than mine are. I chose an incredibly simple design for my arcade machines so that I could make many arcade machines fast and with ease. There was no way of money being put into my machines. I did this because the machines weren't functional and this was easier.
Tumblr media
The above image is of a graphic that could go onto an arcade machine. I do not think that it would fit with the overall style of my game because of the detail. I chose a very simplistic art style for my game. This would have to be reflected in the graphics on the arcade machines too. Despite this, it is very bright and colourful and the assets in my game are really bright and colourful.
Tumblr media
The image above is a graphic for an arcade machine. I think this graphic would fit with the overall art style of the game. It is simple and bright. This reflects the art style in my game. It would work well in my game and wouldn't look out of place.
0 notes
myfirstpersongame · 2 years ago
Text
Sir Carma
Sir Carma is the art director of Brace Yourself Games. He is a french artist who makes 3D digital art.
Tumblr media Tumblr media Tumblr media
The images above show some of his work. As you can see above, his work can be pixel-art or realistic. I think its incredibly detailed and would have taken a long while to complete. It is very impressive to see how detailed voxel-based art can be. I have done 3D modelling in Maya so I can appreciate how difficult 3D modelling can be.
0 notes
myfirstpersongame · 2 years ago
Text
Building For Bumper cars
I made a model in Maya for the building for my bumper cars to go inside. The image below is my first attempt.
Tumblr media Tumblr media
As you can see above, it is miles too large and the scale is very wrong. The ceiling is too far away from the floor and in the next version I want to correct this.
Tumblr media Tumblr media
The images above are of attempt 2. I squashed the model from the first attempt to try and correct the scale issue. Instead I made the ceiling and the floor too thick. This also made the sides too thin. I decided that I would have to completely remodel it in Maya to fix these errors.
Tumblr media Tumblr media
The third and final attempt is above. As you can see, I corrected the scale and now everything is the correct height. This took trial and error to get right. I also added a second doorway because I realise that there was no way for the player to move into the next room.
Overall, this building turned out well. It is functional and fits with the look of the rest of the game.
0 notes
myfirstpersongame · 2 years ago
Text
Monkey Arcade Machine - Inspiration
Tumblr media
I used the google image above as my inspiration for my monkey for the arcade machines.
0 notes
myfirstpersongame · 2 years ago
Text
Teacups - Inspiration
Tumblr media
The Google image above is my inspiration for the teacup ride model I made in Maya. I clearly didn't use the same colour scheme but I used a similar structure to the model. For comparison, the image below is my model. As you can see I changed all of the colours and made the model a black instead of white. I did this to make the model stand out more. I made the cups a lot straighter because this was easier in Maya to model. I made the roof larger than the base so that it would be more functional as it would help protect the cups from rain. I moved the lights from the base to the roof so that I could add extra detail to the roof and have the lights closer to eye level. Also the image used bunting and this would be very difficult to model in Maya.
Tumblr media
0 notes
myfirstpersongame · 2 years ago
Text
Target Spinning
I wanted the target to spin on top of the teacups because it looked out of place like the target was floating randomly. The code to do this is below. It is identical for the code to make the teacups spin so that they spin at the same speed.
Tumblr media
In the target blueprint, if the actor is tagged with "Spinning", a timeline is added and a rotator lerp sets the actors rotation. This is identical to the tea cups.
Below is the timeline for the target it is identical also to the teacups so that it spins at the same speed as the teacups. The timeline lasts 8 seconds to marry up with the teacup ride.
Tumblr media
The video below shows the end product:
I prefer this outcome to how it worked before because it makes the game a lot more realistic. It makes the target look like it is not floating. I think this is very effective and I will use this if I add anything else spinning in my game in the future. I chose to use tags so that I could re-use this later if I wanted to.
0 notes
myfirstpersongame · 2 years ago
Text
New Win State
I added a new win state into my game. Now, if you shoot all of the targets the door will open and if you walk through it the game will end. This is instead of a widget appearing without the players input. I prefer this as the new win state is interactable for the player. This makes the game more immersive and engaging for the player.
I added an invisible collision box in front of the door and coded that to create the widget. The code for this is shown below:
Tumblr media
As you can see, when the collision box is overlapped, there is a check using 2 variables that done. This is to make sure that the player has shot all of the targets. If the number of targets is greater or equal to the number of targets shot by the player, the widget will be created and added to viewport for the game to end.
The video below is the final product. As you can see it uses the same widget as before.
I like this effect as it is a lot more immersive and engaging for the player because it is interactable. The widget cuts off at the edge of the page because of the ratio of the screen. My windows bar and Unreal menu at the top and bottom of the screen (that are cropped out in this video) reduce the ratio and make the widget cut off. If this game was played at full screen then the widget would be fine.
Overall, I prefer the new win state compared to the old one as it gives the player more control over the game.
0 notes
myfirstpersongame · 2 years ago
Text
Turret
I added a blue version of my enemy to act as a turret. It will track the players location and then shoot in their direction. To make it a fair fight, the turret cannot move so is stationary. I did this so that there is more variety in enemies for the player to battle.
Tumblr media
As you can see above, there is a lot of code to make this work. The top bundle of code aims at shoots at the player. The bottom part decreases the health of the player and kills them too.
At the top of the screen, on tick (every frame) the actors (turrets) rotation is set to the characters location. Then, there is a line trace. This is the massive node that has many different pins. A line trace is a line that can get a lot of information out of anything it touches. This information is all of the pins coming out of the big node. For my turret, the only information I need is Out Hit Hit Actor. This means the actor that the line hits. There is then a cast to the character and it checks if the trace has just hit the player, if it has there is a one second delay and the bullet is spawned.
The bottom code means when the actor overlaps the character (or the character walks into the turret) the players health is halved and then if the players health is less than or equal to zero, the dead widget is created and added to the viewport - killing the player.
The end result is shown in the video above. This was incredibly difficult and complicated to set up but the logic behind it is simple. However, I really like this turret. It was simple to make as I duplicated the enemy and changed the material for the body of it from red to blue. This was helpful. I also think that it adds difficulty to the game and it gives me more options when it comes to level design.
0 notes
myfirstpersongame · 2 years ago
Text
Neon Sign
I made a new neon sign. It says "Level Complete". This appears in front of the door when the last target is shot. I chose to add this sign because it makes it very clear to the player that they have completed level and it looks better than a widget appearing randomly.
The code for this is shown below:
Tumblr media
As you can see above, on tick (every frame), 2 variables are used from 2 different blueprints. Targets shot counts the number of targets that have been shot by the player so far. The other variable, Number of Targets counts the total number of targets in the game. If these 2 integers are equal, then the signs visibility is set to true.
When the sign spawns at the beginning of the level it is set to invisible in the details panel so that the visibility only has to be set once. This is shown in the image below.
Tumblr media
The video below shows the final outcome:
I really like this effect because it is clear to the player and improves the look of the game simultaneously. It is bright pink so will stand out on any background like the other neon sign.
0 notes
myfirstpersongame · 2 years ago
Text
Teacups in Unreal
I made a new blueprint for a teacup ride in Unreal and imported the model as a static mesh. I added the code for the ride to spin. I did this to make it more fun and realistic. The image below shows the code:
Tumblr media
As you can see above, when play begins the timeline Spin is added and then a lerp that rotates 360 degrees and then the actors location is set and updated every frame when the timeline is running. This will be forever as the timeline is looped. This can be shown by the arrow symbol on the right hand side of the timeline.
Tumblr media
The image above shows the timeline Spin. It has 2 keyframes. One at 0 seconds with a value of 0 and one at 8 seconds with a value of 1. I chose 8 seconds after lots of testing. The larger the timeline, the slower the teacups will spin and vice versa. This timeline is looped as shown by the arrow signal lit up in blue at the top. This means that the teacups will spin forever.
The final result is shown above. I really like this effect as it will be very engaging for the player to watch in the game. It also makes it incredibly obvious what the ride is. This makes the teacups recognisable as a teacup ride.
0 notes
myfirstpersongame · 2 years ago
Text
Teacups
I made a teacup ride model in Maya. I did this to replace the Magica Voxel model of a Ferris wheel I made. The other model didn't fit with the overall art style of the game. Because of this, I wanted to replace it with a model made in Maya to match the others.
I chose a teacup ride as I thought that it would be simple because I could make one cup then duplicate it. Despite this, it ended up being very difficult as a cup is a complicated shape. I got to a result I am happy with but this model took a long time to get right.
Tumblr media Tumblr media
The images above show the end result for this ride. As you can see, I decided to make the ride itself black and the cups bright colours. I did this to make the cups stand out.
I used a UV Map to add the blue star detail on the top of the roof. I used a UV because it allows me to add the complex star to the round and curved roof easily. The image below shows the UV Map.
Tumblr media
You cannot see the edges of the UV because the black fill has also been applied to the edges so that they are black too.
Overall, I like this model and I think that it fits well with the theme park theme. The bright colours make it stand out and this is very effective.
0 notes
myfirstpersongame · 2 years ago
Text
Bullets Bouncing Problem
When the bullets hit an object that hasn't been specified in the bullets collision, some of the them bounce instead of being destroyed.
In order to fix this, I added one line of code in the bullets blueprint. This code is shown in the image below:
Tumblr media
As you can see, when the bullet hits something if it has the tag "Block" then the actor (bullet) gets destroyed. This means that I can simply tag any object with "Block" if this problem arises and it will fix it.
The end result is shown above. As you can see above, now all the bullets get destroyed. This looks a lot cleaner and improves my games overall look.
0 notes