I’m currently studying game design at college, and i’m really enjoying it. I’m currently on summer break and I want to create some simple projects to get a better understanding of blueprints for when i return. I haven’t touched much of Index’s, Arrays, and Construction events etc and want to get a better understanding of them as I don’t really get what they are or how to use them. I’m not really sure what to make at the moment so if anyone could suggest some simple project or blueprints to try and create i’d appreciate it since I can’t think of much to make, coming up with ideas is something i’m pretty bad at. Thanks again.
Make one of those bad boys:
- create the tiles in
Construction Script
- ID tile colours with
Indexes
- add them to
Arrays
You will also need to learn about:
- player input
- BP communication
- collision
- user interface
- projectile movement component
Where would I even begin to start on this? Is there a guide online that properly explains how to make each part instead of simply giving you the code? If i tried making this Id end up getting stuck pretty quickly. Also thanks for the suggestion.
I am not aware of tutorials covering entire games. But, as always, break it up into smaller steps and work on that:
- set up the gameplay framework - game mode, player controller, pawn
- set up Enhanced Input
- implement movement functionality into a controllable
Pawn
paddle (look intoFloating Movement Component
) - set up a projectile (look into
Projectile Movement Component
) - learn how to fire projectiles using velocity
- learn how collision works and how to filter it
- design a brick actor
- spawn a brick
- spawn a line of bricks
- spawn a grid of bricks
- add 2 more brick types
- spawn a grid of bricks made out of 3 types of brick
- cue in 14 other steps
- realise that you want to have 10k bricks on the screen and 10k actors is just not feasible ==> find a way to make a highly performant brick wall
That’s the tip of iceberg, ofc. What I am saying is that cramming it all into a single tut would be quite overwhelming and would only allow to brush over things. Imho, it’s better to get a general understanding of:
- how input works
- how collision works
- how to operate on arrays
You will find a plethora of learning materials if you narrow it down to specific features.
If you have specific questions, hit the Forums / Reddit / Discord and fire away:
I am making an Arkanoid / Breakout type of game as a learning experience. How do I spawn a bunch of actors aligned in rows, and detect when they get hit?
Hopefully, you’d get something along the lines of:
- consider
Instanced Static Meshes
instead of actors (but actor could be fine if you do not need thousands of blocks or need them to be fancy) - create a spawner manager actor and have it control the spawning; avoid using level blueprint
This should remove the hit brick.
And then tackle the next issue. Ideally in a separate thread.
Well you say you’re really enjoying it, isn’t that the most important part then? To hold onto that enjoyment? This is actually true in any creative profession, art block? writer’s block? The cause is usually the same, the artists in question just aren’t enjoying what they’re doing anymore and so their passion dwindles.
So how do you hold onto that enjoyment and passion? You work on something you’re really passionate about.
Now don’t mistake me, a lot of people make the mistake of deciding to start their game development career or learning experience by making their huge dream project. This is generally considered wrong and advised strongly against, for fairly good reasons. But the advice isn’t entirely correct.
If you have such a big dream project, some game you really really want to make, making it the first thing you try to make is a mistake, but working towards it is not a mistake.
So lets say for instance your dream project is this huge mirror’s edge like parkour sim but with more combat and fps mechanics. You could for instance start with a first person template or third person template if you prefer, and see if you can’t implement wallrunning. Get stuck? Look for tutorials, see how others did it. Don’t copy them 1:1, try to find better ways to do what they did.
Now as for construction event, arrays and indexes, that ■■■■ you’ll learn when you try to optimize your code, and also contrary to common programming advice, optimization is not the root of all evil. They say ‘premature’ optimization, but they don’t really know what premature means so it has become ‘just optimization’. Basically it’s old and gold programming advice taken so far out of context it’s lost it’s meaning (it was about microoptimizations, the modern equivalent going compiler or even beyond to machine language deep to tweak stuff lol)
So don’t listen to that nonsense, always be on the lookout for ways to optimize, especially while you’re learning.
But there are two types of optimization, performance optimization and human readability optimization, if you don’t maintain human readability optimization, (in unreal this would mostly mean good blueprint structure and good commenting where appropriate, bluerpints handles A LOT of this just automatically for you by being easy to read in general), your code’s gonna suck for you to work with, and if you ever come back to it later or want to reuse it, that’ll suck even worse. One major part blueprints doesn’t handle for you is making the code shorter. And arrays can be quite a powerful tool to make the code shorter. shorter code is more readable code so that’s a win.
And if you don’t maintain performance optimization your game gets laggy as balls.
So, especially now, what you want to do is get in on the optimiztaon game early and figure out what leads to performance issues and what leads to performance improvements (one big thing for instance would be event tick, event tick is a while loop that runs every frame, which means whatever you put in there is run every single frame, which drains your cpu by that much every single frame, so you want to minimize the stuff you put under event tick if you want to optimize performance, that’s usually the best place to start, and there are also ways to optimize event tick, you can actually switch ticking on/off based on conditions, so you can make sure ticking is only on when it’s actually needed, smoothing out the rest of the game when it is not).
The truth is, arrays indexes and construction events are super basic, it doesn’t really matter what you try to make you’re gonna come across a tutorial that uses them soon enough and begin to figure out what they’re for.
So don’t focus on what you’re trying to learn, focus on what you want to make, and take small baby steps towards it, one feature at a time, you know odn’t start trying to make your dream fps, start by figuring out to put a gun in the players hands, and then how to make it fire projectiles, and so on, one baby step at a time. You’ll learn all you need along the way.
Construction Events are just like Begin Play Events btw. except they are run before the begin play events are.
Yeah I understand what your trying to say and i feel like I encountered that a lot during my last project in college. It was basically a basic shooter against simple enemies with a simple boss at the end, and since it was my first time ever tackling enemies. I had to take small baby steps and learn what was going on because when I first tried to start on day one, I was instantly overwhelmed and confused. Although one of my favourite things when working in Unreal is when something doesn’t work, and I have an idea in theory, and after putting it into a blueprint it ends up working! It’s small things like that which makes me glad, since at the start of the year I couldn’t even make a blueprint work, and at the end I had a basic game. (Obviously the whole year wasn’t spent on unreal otherwise i’d be a lot better at it, I choose to do blueprints for this project so the last few months was my first main introduction to blueprints) Seeing improvements from not knowing how blueprints work to being able to come up with solutions for my problems (not all of them, but some) just makes me feel glad because I can see how i’m improving at something I enjoy doing.
Thanks for the advice, and yeah thinking back having a tutorial for a whole game seems pretty stupid lol. Id like to do as much as I can alone but I get to points often where I genuinely can’t do any more without assistance because of my inexperience, so you kinda explaining what I need to do helps since I would get stuck pretty fast.
I’m planning on starting this project in a few days, maybe this weekend or next week, when I finish it i’ll or make some progress i’m happy with i’ll be sure to update you!