Don't wanna be here? Send us removal request.
Text
The evaluation
I decided to use unreal engine 5, and I learnt quite a lot of new ways to do things as well as local multiplayer. I also used illustrator and was able to use its toolset well and to a beginner standard. Illustrator is pretty easy to learn with simple shapes being able to easily make cool shapes and more complex things like Huds. I hope to develop my skills more in illustrator since it seems like a very powerful tool, I will also want to further learn unreal as well as c++ since I was limited by blueprints when making the multiplayer part of my game.
I was heavily influenced by rainbow six siege in how it's so unique in how it's made and is played, I didn't worry too much about the art style since I was more focused on the coding and functions side of things but the abilities and player character was influenced from siege as well as leaning.
In my initial planning right from the start, I wanted a clean menu that flowed and the player if afk would sit at rather than just closing the game, I also wanted leaning right from the start too, this means I wanted to work in unreal at the start too.
I think I have been successful in making a menu system and the start of the in-game part, this is because I was able to use local multiplayer and it works with my menus feeling smooth and consistent when moving from menu to menu.
I think I have been successful in making a menu system and the start of the in-game part, this is because I was able to use local multiplayer and it works with my menus feeling smooth and consistent when moving from menu to menu.
I was heavily influenced by rainbow six siege in how it's so unique in how it's made and is played, I didn't worry too much about the art style since I was more focused on the coding and functions side of things but the abilities and player character was influenced from siege as well as leaning.
In my initial planning right from the start, I wanted a clean menu that flowed and the player if afk would sit at rather than just closing the game, I also wanted leaning right from the start too, this means I wanted to work in unreal at the start too.
I got stuck a lot and I nearly all the time managed to find a solution. At the start there were many bugs with aiming and learning and I managed to fix them with a simple change to the timelines, my menus had many animation bugs, but after quite a lot of messing around with the animation itself and the buttons. My entire menu system had to be moved too since I wanted to go from single-player to multiplayer and this needed my menu “manager” to be moved from the main menu itself to the game instance this allowed for the easy calling of the menu when a player left or disconnected. My vaulting had some bugs too since it was dynamic and did the vault in realtime it meant there were a few bugs, The timings seemed to be out and it kept pushing the player into the ground, I managed to solve this with the timelines again as well as moving a few nodes around in a different order, another pretty big thing is the weapon sway, this is normally done in animations with rotation variables but I was just adding a curtain amount to the rotation of the gun, this affected the leaning since the gun would sway and change the rotation of the gun completely, this eventually had to be disabled but can be turned back on by plugging the tick into weapon sway node. My main problem was steam, whenever it's enabled in the game, it just doesn't want to load into a match, or says failed to create sessions, I've looked on countless youtube videos or documents about steam subsystem and still cannot find a fix for this.
I didn't make too many game-changing decisions and kept pretty close to my project brief and rationale. After researching different things it did change a little since something I just didn't understand or just broke everything else.
In the end, my outcome was still what I set out to do in the first place, I'm very pleased with how it came out and it's pretty much what I imagined
My final product is good, but I could probably do better if I did it again, this is because I have gained a lot of knowledge and new ways to make things as well as learning unreal things in general. I did meet my expectations since I knew that I didn't want to do any modelling stuff since that would need animations which would take up time for what I set out to do in the first place, and that was to have an online multiplayer with learning and shooting. I managed to do that, with a little glitch but that's steam, not me. The brief is something linked to elements, and I think my game links to that and it would link to it better if it was more done like maps would be a big one, I went with the element of surprise since I wanted to create a tactical shooter that means you have has to be sneaky and plan well before entering.
In conclusion, I think I could have improved my project by spending less time on things that don't 100% need to and coming back to things is okay if I need to move on to something more important. I also need to remember that getting everything perfect the first time is not something that needs to happen and if it happens then great but if it's super glitchy then get it to a stable-ish point and move on since knowing how much time you have left and what things you have left to do. But I could probably carry this project on and just keep improving, like AAA titles most of them have been running from 5 to 10 years old and just improve with new versions.
I have learnt a lot from this project alone, and I will be able to apply that to all my next projects, and it may not be a button in unreal it's more about how to do something now that I know I can do it that way I can apply it to other projects making it more polished.
0 notes
Text
Where my game could go
My game would most definitely go on itch since its a good place for people needing a platform to get there games or assets out into the world. I would be able to interact with a community I could create and do fun things with my game and the community.
Steam on the other hand is good for bigger games and I would already need a audience to get my game out there and known. Also steams way of putting games on the front means that only the quite big games get on there or smaller games release, get put on the front page then disappear so the person has to search. It also costs money to create a steam id for my game around £100 this is quite a lot of money for a game that won’t make any back.
So this is why I would put my game on itch.
0 notes
Text
Audio
My game has a bit of audio, like when shooting my weapon and when a player dies, I also have a sound when the player goes on there cameras.
Audio is a very important thing, something like footsteps would be extremely necessary since you need to know where other players are and sound can be taken as intel. Say I was playing on the floor below the site and an enemy walked in the room since he saw no one was there I could use the sound of his footsteps on the floor to pinpoint his location and shoot him through the floor. Being able to hear things is a sense and it's quite an important one for gaming so having no sound is almost playing blind.
My sound is 3d audio but I don’t have any sort of attenuation settings set up as well as volume controls.
0 notes
Text
Game developers
The style of game I am making is rather unique and the game I am inspired by rainbow six siege is made by ubisoft.
Ubisoft is a french made company and was founded in 1986, it was founded by 5 brothers.
Ubisoft have made many games and very popular titles including assassins creed, far cry (even though the bought that), tom clancy’s, watch dogs and many more.
0 notes
Text
Mirror's edge
Mirror’s edge is quite a fun game and it doesn't have any sort of markers or mini map pings, it uses in world objects that are a different colour from the rest of the world that is mainly white but the things it wants to draw your attention to is the red things shown here:
This I think is way better than having a bat vision or survival instinct since there’s no need to take up another button and having it in the world means you are going to take more of the world in. This is why in my game a ping is in the world rather than just on a mini map which makes the player look up to the corner.
0 notes
Text
Bat Vision
This is the bat vision. It was the first of a new way of telling the player where to go. But 1. it doesn’t look very good and 2. players just started leaving it on.
Even though it is a 2009 game it still doesn’t look amazing way to show this information with the skeletons and things like that.
Many games decided to adopt this feature in their own way one example is tomb raider. Tomb raider has this press a button to highlight what to do kinda thing and Its not that bad, its balanced well by making everything go black and white then making the thing that is highlighted gold shiny colour this means players don't want to leave it on since its just playing in black and white then, and you cant even leave it on if you want too since there is a timer so it goes off by itself
In tomb raider they do give you options for this ability like this.
0 notes
Text
Mini Maps
mini maps and maps in general are useful for in-game experience, some games really can't do without them like call of duty or fortnite, 2 quite different games need the them for 2 different reasons and them being that in cod its very fast paced and when an an enemy makes a noise it pops up on the mini map then this makes sound more useful to you since you know where the enemy is, but in fortnite your map is used more for navigation being able to know where you are and get to point b from a.
This is the cod black ops cold war mini map
This is fortnites mini map
In my game I won't have a mini map but have a compass. This compass will behave like a normal compass but will eventually have the yellow pings on the compass so the player knows that a ping is behind them.
0 notes
Text
credit
The gun model is from rainbow six siege, the model I got from pack3dmodels
The menu background is an animated picture from google
The player icons was art from another website
The psp model I got from sketch fab i think
The items listed above are not mine and I did not make them
0 notes
Text
research into lobbies
When all the players are in a waiting area before the game this is called a lobby. It has settings for the host to change and set the players character.
A lobby should have a theme, as well as things that keeps the player interested so they don't leave. In my game I have a chat function so players can talk to each other when the host is setting up the match.
Things that keep the player interested are things like a item shop so being able to buy things with in game currency, and other stuff like mini games and could include other players to get people working together on something, or if you aren't having an area to play on then tips for newer players that help them with useful information not just silly do not share your password with others actual gameplay tips to make them better and enjoy the game more.
A few examples of lobbies:
Fortnites lobby
Call of duty black ops 4 lobby
Modern warfare's lobby
Among us’ lobby
They all have something in common, and that is the player is always visible. Now it does vary on if you can control the character like in among us where as in cod you cant. But among us’ lobby does this perfectly where it has a waiting room like area then has a laptop that the host can change the settings but other people can change their skins and things like that.
This isn't just in games though since a lobby is a waiting room you get lobbies at dentists or hotels or hospitals, like this
A nice area with seating and maybe magazines for people to not get bored and leave. This is why my lobby has a chat feature, so people don't get bored.
0 notes
Text
how I made a researched my HUD
my hud is pretty complex. It has a lot of different aspects that all need to function properly so the player gets the right information.
This is my Hud and here's how I made it. So I started off with the inspiration. I started with siege’s Hud, it has had many Huds before so I looked around for quite a while.
This is the old Hud for siege it has its good parts and bad parts, some of the good parts being that is has quite a low impact on visibility and wont cause any claustrophobic feeling when trying to look at the area, it also has a good top bar and shows others player information clearly and compactly. some bad things are that the compass and the location of where the player is, is just too small most players didn't even know this was here and never used the proper names for easier callouts, as well as not much feedback too since when you have your ability on or on cooldown there's just a small timer or flashes red if tried to use. This made Ubisoft to decide to make a new Hud and it was a good decision.
This is the new Hud. Immediately it looks way different with a lot of the information now in the bottom right and health in bottom left. But players where unhappy not with the Hud but with the compass specifically, its just way too big, for how much its used which isn't much its too big so the siege community did what it does best and made fun of it, here's a perfect video of how the communality reacted.
youtube
Here you can see he jokes about Ubisoft putting a compass right Infront of there face, so Ubisoft actually responded and came out with this,
youtube
This is the refined version of the compass and its way better. But now back to the other parts of the new hud.
The top bar has had an upgrade with it now being against the top of the screen and a lot bigger which means we can see health a lot clearer as well as if the player is dead a lot clearer the score is bigger now too. Now moving down to the bottom, there is no longer a bar type layout and now abilities and weapons are bundled into the bottom right corner, it also clearly shows when the cooldown or how long your ability lasts. Health is now a bar with clear number showing what health you are on and your total health.
Now on to my hud.
0 notes
Text
HUD
I haven't spoken much about the Hud and that's because I have been working on more important systems and getting them to work then I can tie them into the Hud with proper feedback to the player and the information that is needed.
This is the barebones of the Hud and everything needed to make a base Hud. There will be slightly different versions of the Hud and will need tweaking. first off at the top is the match information, this has a timer in the middle with what round it is underneath that, then the score is in the 2 black boxes, the 2 see-through parts are for the attacking or defending icon. This will need to be swapped because the player is always on the left and the enemy on the right so the icons will need to change. and talking of the players there are 5 slots on each team for the player icons but it doesn't you the icon from there save file it uses the operator icon that they selected, I haven't made the icons and small heath bars for the top yet but I will eventually, there also needs to be question marks in those slots too since if there is no operator selected or if the team haven't scanned the enemy team they will show up as question marks. Now the black box on the left, it shouldn't really be there I just wanted to make it since I will need to eventually but it is for how many reinforcements the whole team has left, and they start off with 10. So they have 10 reinforces amongst themselves and this is called the reinforcement pool so 1 person could do all 10 then the other team could set up there gadgets and they don't have to bug everyone else about placing there 2 reinforces each.
Now on to the player parts. In the bottom left we have the health and this heath will change depending on if you are a 1 speed 2 speed or 3 speed. If the operator is a 1speed they will get 120 heath since they are slow and bulky if the operator is a 2 speed they get 110 heath and if the operator is 3 speed so very fast they will get 100 heath. I did this so that the player knows how much heath someone could have left if you shoot them loads and they still don't die, rather than having a under the hood armour system leaving the player confused. Moving on to the middle of the player stuff. This is the main part of the information need to be shown to the player, from left to right we have the yellow ping then if you are on attack it will throw a camera if you are on defence it will just take you on you cameras then the blank spot is for the secondary gadget and ill get to that a little later, then the compass which will be fully working in game after the compass is another blank square and this is for the primary gadget But I haven't done the icons for that. After that its the go on cams button on attack on defence it will most likely do the same too since I'm not sure what else to do with it. then on the end is change fire mode. That's all the main buttons for the character now lets go to the left. On the left there are 2 quite big squares and this is for the 2 guns the player has the top one will be the main gun and the bottom one will be the secondary.
This is my new hud which is quite the upgrade from my current one. I hope to have it in my game on the final build even if it doesn't do much.
0 notes
Text
maps
Maps are big and difficult. So that is why I am holding off on starting development on them because there are still quite a lot of bugs in my current game.
Eventually I will add maps but that will probably after the hand in date, but its fine because I really want to do the maps properly and by that I mean with proper destruction, this is why I am going to be doing the maps in houdini. This will allow me to do things like this:
Which is exactly what I wanted and will allow me to make thermites and ashes and sledges ability work so much better rather than doing it in unreal with an unconventional way.
Also I am not using unreals chaos physics engine since It is not how I want my walls and surfaces to react, with unreals they break off in giant chunks like this:
This was from there chaos demo back in 2019. Now houdini can do this too since houdini is the master of simulation, but it can do things that unreal really struggles to make easy for the user like procedural destruction also known as MBD (Material Based Destruction), I'm not 100% sure on how it works but it does use materials and simulates how that material would break in the real world, like the first image how the green wall has broken in to big chunks but the long wood planks break into small little chunks as well as the glass which is seen better here:
The difference between the 2 images is the propagation iterations which isn't explained much on the article but I will link it at the end for you to have a look at.
But for the maps, I hope I can integrate this into the maps I want to make with a mix of these walls and walls that can't be destroyed. As well as having props like chairs tables other things related to each map, and being textured eventually once the building itself is done.
Houdini MBD walkthrough:
https://www.sidefx.com/docs/houdini/destruction/tutorials/intro_to_mbd_2.html
0 notes
Text
Updated Ping system
I have now got a fully working ping system, which is nearly replicated for multiplayer. The main features are being able to ping anywhere to notify your teammates, but also you are now able to ping an object if it is player placed like an ads or a bandit battery and also cameras.
This ping system is using temporary images so this will not look as bad as this when I make them in illustrator but the code behind it works pretty much flawlessly.
Here you can see the normal ping to ping the normal environment:
And you can see here that it perfectly lined up with my crosshair and is on the players screen not in the world which is useful so players can see it through walls. The numbers underneath show how far the player is from the ping and eventually I want to have it so it gathers all the player controllers on one team and assigns each one a number from 1 to 5, then that number will be on their ping, this means they can have better callouts if the player doesn't know what room they are in they can just say for example “on ping 3″ or something like that.
The code behind it gets quite complex so here it is:
when the player presses the button we do a check to see if it already exists (this is so they don't spam it and create loads of pings) then we invalidate the timer which I’ll get to later as well as destroying the actor to remove the ping. A do once is there to stop them spamming the button so its a double protection against spam and over information. The line trace starts at the cameras world location and the forward vector gets timesed by the amount I want the length to be then added to the world location of the camera and that's our end point. I added a check to see if we hit anything since we don’t want to be able to ping the sky or anything like that.
Moving on to the next part of the ping:
We get the impact point of the line trace and that is our location to spawn the actor in but we also get classes that are hit this means we can get the display name of each actor we hit and set it as a variable, I will talk about this later since it’s quite important for the new more intelligent system. The custom event is there to provide some multiplayer support this makes the ping spawn in the right location for everyone. Although the picture of the ping and the distance I will still have to mess around with since they are not working currently.
This is the last part of the ping in the character. At first I didn’t have the sequence in but that is needed because of the infinite looping the timer does, speaking of the timer, I used a timer rather than a tick is purely because I hate putting things on tick and I know it has to sometimes but timers are set times that is not linked to frames so will run the same no matter the pc you play on. But what this timer is doing is setting the distance for the little bit of text under the ping, it does it by getting the world location of the camera and the impact point and I used a node called distance(vector) this finds the distance between 2 vectors and passes out a float that can be turned into a variable for uses in the ping actor itself. I used the set life span which I think is a pretty cool node allows you to set a length of time the actor will be spawned in the world because we will want the ping to disappear eventually so the life span does that perfectly, and finally we have a 2 seconds delay which is in the reset of the do once node and this is the second point of protection so the play can't spam.
Moving over to the ping actor blueprint. This is the way I added the actor to my screen rather than in the world:
I set this to screen rather than doing fancy maths to put it from the world to my screen this does it for me, which is very easy.
This is the special part, this is the unique ping and how it find each actor and chooses what image to show:
Here we set the variable in the blueprint just so we have a reference.
This is the start of the naming system that checks to see what the name is and sets it to a slate brush which I’ll get to in a bit, but to sum it up what is does is checks if the name that has been set as the variable is exactly the same including upper and lower case then if its the same or true, it sets the brush to the set one which is a temporary image for all right now. If it fails then it moves on to the next one and checks that and so on. The good thing about how I’ve set it up is that its extremely expandable, I can do this by just adding modules with the branch the variable the exact name and the set brush. This is an overview of the entire blueprint:
There are only 3 being used but I added more since I know I will be adding more soon like attackers gadgets and drones too. But the end one is slightly different and that's because we have to put the yellow default ping if it doesn't hit anything in the list of names. You add it to the bottom since its the one you are going to be seeing the most and you dont want to ping a wall with it saying its a wall so this is ran at the end and is set to true by default so it will always run that one if all the other ones are false.
This is the new and upgraded ping system Im rather happy I was able to include the special actor pinging too and I will make more blog posts on Illustrator of me making the icons.
A tutorial really helped me understand how to fix the location problem:
youtube
0 notes
Text
Online Multiplayer/steam multiplayer
Lan multiplayer is hard enough, having to people on the same network joining 1 level with 1 person being the server and another being the client. But online multiplayer is very hard since you are dealing with multiple networks. I'm not 100% sure how it works but its just gathering the players IP address and connecting them to a server then the server handles what happens on there screen. Most AAA games will connect you to the server as soon as you log onto a game meaning everything you do can be saved to a file that isn’t on your computer and save it to their severs but things like game settings will most often be saved to your computer. Also big companies like Ubisoft, steam and and epic games have logins so you can access all your information and can save things like player data skins in game currencies, its pretty much an identification since there are so many players moving from place to place it can be hard if you don’t have the correct system in place.
For me though I am just making the player set a gamertag which is saved locally on your computer but this isn’t used to identify the player its mainly the player controller that I use to move people around.
Now my game has a simple join and host system that creates a lobby, The problem is when I add the steam subsystem plugin it just does not want to create a lobby and loads infinitely with the error failed to load lobby please try again
This is the error screen that pops up
But when I do this without steam it works perfectly without an error. I will have to do some research on this to see why its doing this.
0 notes
Text
Grenade problems
As you saw in one of my past blogs I made talking about my grenades I made, well there are quite a few problems.
1.the grenade doesn’t have the proper fuse time when its being thrown compared to how long its been held down for
2. if I threw a grenade then a second grenade would spawn right next to me and blow me up
3. sometimes phasing through objects
These things should be easy to solve but I can’t quite find why they are doing these weird things I will have to dig deeper and find the problem
0 notes
Text
getting on cameras
I wanted a way to make getting on cameras look cool and fun but also wanted it so that people know that person is on cameras. So I did this:
IT’S A PSP, I find it rather funny and here's how it works.
So this is in the player controller and at the start it checks to see if we have possessed a camera if we have then we possess a character by checking if the character is valid then possessing back to the character from the camera we set is possessing camera back to false then we run on possess custom event I’ll get to that in a bit then we cast to the base op and run hide psp custom event and then run a delay.
to posses a camera we cast to base op to show psp custom event then have a delay and see if the player is attacking this is for the future when ill add drones but I may change this because it is outdated way that I was doing it before so that may need to be changed, then I check to see if the cameras are valid to see if there are any if there are cameras then we get a copy of the array and possess the first one in the index this is helpful so I can line the cameras up on the screen when scrolling through them, after that we set the is possessing cameras to true and run on possess custom event for the camera.
On possess just sets the view yaw max and min. I can set it individually per camera since its an exposed variable
This is the code for hiding and showing the psp. for show psp it sets the gun to hidden and the psp to visible and then starts a timeline which sets the transform for the psp and then has a short delay after that it plays a sound since I am trying to add many sounds to my game because they are so important, then I set the fov to 10 but lerps from 100 to 10. For hiding the psp it does exactly the same just in reverse.
0 notes