[Tutorial] CoD: Zombies Blueprint Tutorial Series

It may be a bug with BSP brushes, as apparently they are only meant for temporary use. I am not sure how to fix your crash, I suggest that you post it on the UE4 AnswerHub.

So BSPs are meant for temporary use, I should design my walls and all using meshes?

Pretty much.

Aight appreciate it, guess that means now I need to learn another program. Time to go hunting for said program.

i’m at 1:50:00 on episode #5, and when i make a new variable, i am unable to find “main character” under variable type. please help.

The variable type just needs to be your character blueprint, in my case it is ‘Main Character’.

Have you tried converting your BSPs into Static Meshes? It can be done within the editor by clicking on the BSP object and clicking the button in the details panel. Not sure if it’ll solve your problem, but might help out.

Just finished watching part 13. Nice little HUD problem you got there at the end. :smiley:

Here’s a few things I’ve noticed. Some of this stuff is from your other videos, but your HUD issue has just brought all this to my attention. Take or discard what you will from this.

  1. You are creating the HUD from within the character. This should really by done from within the player controller, since the player controller is persistent for a player throughout a match, while a character can die, so a new one is spawned for the player controller. I would suggest creating the HUD on the player controller’s begin play using a Is Local Player Controller branch, to ensure it is only created for the local player.

  2. This one I’m not sure about, but it doesn’t seem like a good idea to be creating and adding/removing the HUD from the viewport when toggling it. I think it would be better to create it once, then just toggle its visibility.

  3. You are using Get Player Controller when creating your HUD. Any of the “Get XXXX from specified index nodes” are for local multiplayer only, like when playing split screen on a console. When building a real multiplayer game these aren’t good to use. Instead you should use Get Controller and cast it to your player controller.

  4. You are storing your array of Players In Game in the Game Instance instead of the Game Mode. The Game Instance is persistent across the life of the executable, where as the Game Mode is only persistent across the life of the match and you probably only care about players that are in your current match. Unless you have plans to later use this array outside of the match for some reason?

  5. You are populating your Players In Game from within the character’s begin play event?!?! That means every time a player’s character dies and respawns for example, they will get added again to the array. There are many other issues with doing this. Instead you should look at using the OnPostLogin event in your custom Game Mode. This is called once per player on the server. You can then add the player to your array there and mark the array as replicated so the other players know about it.

Note that OnPostLogin is for the player controller. At that point the player controller has not possessed a pawn yet, so you will need to check for this later on or find a way to catch when the player possesses a pawn so you can notify your HUD of the player’s character (this is a problem I’m dealing with at the moment in another project, so if you find a good solution let me know). For this reason, it is probably a good idea to override the creation and possession of pawns. In your Game Mode, set the Default Pawn Class to None and handle it yourself manually when a player logins in for example. This will give you a lot more flexibility later on with spawning different characters depending on the class the player has picked, or allowing players to enter the game as a spectator until they click Ready or whatever.

  1. I wouldn’t bother with all the premature optimizations you are doing with updating the HUD. It just makes the blueprints too complicated. The binding system is fine. It doesn’t matter if they are all ticking once per frame as that is only happening for each local client and that will be the least of your performance concerns latter on. If for some reason it becomes a bottleneck because you have an insane HUD, you can worry about it then… or just move the bindings to C++ if needed.

Oh wow… I didn’t realise I had written so much so I’ll stop now. Hopefully some of those ramblings are helpful.

I will likely not be handling death in the way that most would, so this is not an issue.

Good point, I’ll assess this in the next video.

Player controller 0 is always the local player controller when accessed locally, so this is exactly what we want.

We’d want to have this be persistent if we had a lobby of players before the match starts.

The game instance is accessible by all players, and does not need to be replicated. The death will be handled differently, so this isn’t really an issue.

Yeah your probably right, I still have the mindset of “Every little thing matters, because performance in UE4 is terrible” from when I was working on my Terraria clone 5 months ago lol…

This looks very interesting. For someone who is into 2d stuff and wants to develop 2d games, are there any benefits into following this tutorial?

Some help ? eheh

I had some problems with the Running code. I just did exactly how u teach, all the nodes and variables and configs, but at the running game the action just doesnt works. I’ve tried to change the variables names and a lot of things but it keeps wrong. Some help ? Thanks since now xD



What exactly is it that isn’t working?

I just press left shift and nothing happens. But when i crouch and press left shift, the character stands up. He just doesn’t run. I’ve change the runmovementspeed but doesn’t work.

Character Health Part 2 is up, enjoy!

Keep up the tutorials mate , I’m loving them ! I found a little bug with the movement one like sprinting doesnt work for me and crouching while the 2nd player cant crouch ( it would just automatically stand up again … ) any help with that would be awesome :slight_smile: other than that please keep up the good work ! your awesome

Awesome tutorials! Any plans on continuing them?

I really would love to, but I am way too busy to be focusing on tutorials at the moment :frowning: When I started this, I had all the time in the world, that is no longer the case :confused:

That’s fine! I’m still learning UE4, so these tutorials really help. Thanks for them! :slight_smile:

Oh :frowning: Well I hope you have some time someday since your tutorials are actually one of the best ones I’ve seen no joke. I’ve learned a lot by doing CoD: Zombies remake with UE4 so big thanks for that! Keep up the awesome work man! The most tricky stuff like guns and zombies are the ones troubling me so I hope you could get to them someday hehe Anyways I wish the best for you. Take care.

First, thank you very very very much for posting your tutorials!

I have a networking problem on opening the mystery boxes clientside. Please visit my link. I dont want to do mutliple threads.
answers.unrealengine.com/questions/408999/casting-fails-from-client.html