Course: Let's Make a Game! - Brick Breakers

Join Epic Games Evangelist Samuel Bass as he walks step-by-step through the creation of Brick Breakers, a classic arcade style game built entirely in Blueprint that doubles as a guide to game development within the Unreal Engine framework.

https://dev.epicgames.com/community/learning/courses/53d/unreal-engine-let-s-make-a-game-brick-breakers

5 Likes

This course is really hard to follow. Not because of the difficulty of the content, but of the mistakes and the different naming convention between what is written and what is shown on the code snippets. The MetaSounds section is a total mess, with the sounds on the videos not matching the ones from the tutorial, or without explaining how to trigger the sounds properly inside the BP.
The creater should at least, follow their own tutorial before publishing it, specially when it is aimed to beginners.

26 Likes
  1. Another mistake, the code from the image on module 2 does not match the code on Rancoud.

2 Likes
  1. Another mistake, on second module the line:
    We can create a Static Mesh Actor as a Variable and name it Target Mesh, then click the Eye icon to make it public - this allows us to set that value per actor instance in the editor, which will come in handy when we’re creating our actual geometry.

Should be instead “Static Mesh Object Reference”, not Static Mesh Actor.

2 Likes

Keeping track of mistakes in the tutorial.

  1. Static mesh for B_Pawn_Bat is Shape_NarrowCapsule, which is found in starter content. The first image on module 2 has Starter Content unchecked, but it should be checked for those following along to have the correct assets.
3 Likes

Thanks for catching those mistakes and the feedback. I’ve updated the tutorial and will take another run at MetaSounds when time permits.

2 Likes

I would like to underline what has already been stated above.
Unfortunatly this course is very difficult to follow because the text descriptions often do not match the screenshots - not even remotely, in some cases.
Naming is extremely inconsistent - so far that sometimes screenshot descriptions differ from the screenshot’s content.
It happens way too easily that you lose track of what’s going on because sometimes class labels, function labels, or what have you, change from paragraph to paragraph.

If, however, you figure out what the author really talks about when swapping e.g. between “PlayerController” and “Player Bat”, or between “Change Bat State” and “Change Player State” - then the whole course carries a lot of worth and there is tons and tons of valuable lessons to be learned.

But as it is right now, I would not label this course as “Beginner”.

Still - thanks a lot for providing learning material like this to us newcomers, who want to dive into Unreal Engine!

Cheers :saluting_face:

9 Likes

Despite there being a few mistakes here and there, as a beginner, I have still managed to learn a great deal from this tutorial. Dare I say that tweaking and looking around for solutions when I got stuck really contributed towards the learning process.

Thank you for this tutorial Sam Vangelist. :clap:t4:

2 Likes

Yeahhhhh… I’m brand spanking new to all of this. I’ve done a little level design here and there for things like TF2 and Elder Scrolls games, and a few years ago I learned enough Python to build a calculator. And never used it again. That’s the extent of my related experience. I’m a real newbie. And… I have had a really difficult time with this tutorial. I did the “Your First Game in Unreal Engine 5.0” tutorial just fine, with only a couple of points where I got hung up before I figured out my mistake. This one, while it seems more simple, confused the heck out of me. I’m now at the point where you move the bat along the spline, and I can’t get it to move at all. Just can’t do it. Everything I have matches the tutorial exactly, so far as I can determine. It mostly makes sense to me. Something just isn’t connecting. I’ve been over and over it, spent a couple of hours on just this one thing, but I’m giving up. Obviously I’m doing something wrong, but I can’t figure out what, and I just don’t know enough about the system to try to troubleshoot it. I’m moving on to another beginner tutorial and hopefully I’ll have better luck figuring stuff out with that one. Disappointing, because I thought it’d be neat to build it and play around with making it more complex, but I just can’t understand what’s wrong and I don’t know enough about how these components communicate to see where the breakdown is. If I ever figure out how splines work, I may come back to this and try to make it work, but right now it’s just too frustrating.

5 Likes

So the course is incredible and at first glance it is simple enough to follow along as someone with some experience in C# .NET development however as I got further into the tutorial there were inconsistencies with what is written and what is displayed in screenshots.

I also could not for the life of me get the camera and spline to line up as when I pressed play, sometimes the bat would be towards the right or left side of the screen, sometimes it would move along the spline correctly however the bat itself was rotated 90 degrees so it was very narrow.

There’s also no explanation on how to correctly move the actual spline, so that it lines up with the camera where I had to figure that out myself however crudely adjusted the points in the BP_Pawn_Bat viewport (I have no idea if this is the correct way to adjust it).

Despite having problems I wanted to continue the course to learn more but as I went further more and more game breaking problems arose with no understanding of how to troubleshoot them. The MetaSound section in particular was incredibly difficult to follow with even the sounds not matching what the videos displayed.

All in all, I can see that it’s a great course and I must admit it did teach me about the relationship between a pawn and player controller, How these interact with objects in the world however in terms of a finished playable game… I cannot recommend this course to a beginner like myself.

Thank you for your efforts <3 I hope one day to return to this and properly complete the project.

4 Likes

Hi Sam, I just finished the section named Creating a Game Loop and I encountered 2 similar problems that I couldn’t solve… the first showed up when in the subsection On State Machines, in the function named Change Bat State there is a “Call Player State Updated” (Message) which I am not able to find. And the same thing happened in the subsection Back to Lives when there is to pull a “Get Player Controller” from a “Get Pawn”. I hope I can receive some inputs in what may have induced these results and thank you in advance for any answer I may receive


1 Like

I was really enjoying following your course but have arrived at a roadblock.

At the step:
“Now we can have our Player State retrieve those values on Begin Play and update the appropriate UI elements.”
You have posted this network of nodes which I have attempted implementing and even tried attaching to the Player State begin play but to no avail. All of the other pictures line up very well with the above text descriptions but this screenshot is different.

Was anyone able to figure this out to get stored lives and score working between levels?

My apologies, there was an error in the snippets for the Player State Function (some debug scripting from my development build crept it) and the Lives Update (it was confusing worded and used an incorrect node).

I’ve updated the course to address the issues raised and thank you for your feedback. My apologies again!

This is also a weird one. I’ll update that asap.

Ok, figured it out. Snippet had issues - the naming for the interface functions was inconsistent with the rest of the tutorial - and my wording was unclear. Fixed, added a screenshot and additional guidance.

Note - I’ve also done a big overhaul on the MetaSounds section, thanks for the feedback there also!

3 Likes

Thanks for your tutorial but it’s really hard to follow and I’m stuck at moving the Bat along the Spline. By any chance could you provide the project? That would anyhow very helpful!

1 Like

I currently cannot provide the project, sorry :frowning_face:

Let me know where / how you’re stuck and I should hopefully be able to help (and if it’s an issue with the tutorial, I’m happy to update that also).

@Samvangelist hey sam thanks for making this tutorial but I’ve been banging my head against a problem with the projectile movement component in the ball blueprint for the last 4hrs, I can’t for the life of me get the ball moving, I followed the instructions but the ball just spawns and sits there in front of the player bat. I set up all the projectile components properties: Initial velocity, Max velocity, Gravity scale to 0, Allow Bouncing, Bounciness, Friction, Max Sim Iterations, Interp Movement and Rotation, and Velocity
(One thing about velocity, in the tutorial I can see in one of the screenshots, you’re setting the X velocity to 2, when I hover over the Initial Velocity property it says that when this is set to something bigger than 0 the velocity is going to be treated as a Direction if that’s the case am I right in thinking that using 2 or 1 or any other number for the X velocity component would only let UE5 know in which direction the Ball should move?)

Thanks for any help :+1::+1:

Hmm, the first thing I’d check is your plane constraint settings on the projectile movement component and see what the setup there is. The overall idea is that we want the ball to be constrained so it doesn’t move “out” of the playspace, making it essentially 2D in terms of movement.

Good catch on the velocity settings, that feels like a leftover from me building the project and trying some stuff. Setting it to 1 should be fine.

1 Like