#I mean here's the problem I'm seeing
1 messages · Page 1 of 1 (latest)
I wanted to respond to this line of conversation but someone is actively working through an issue in the channel so I’m making a thread for it
I mean here's the problem I'm seeing nobody in this discord wants to help truly ignorant people
As someone who helped @gloomy gazelle step in the debugger and knew that the “crash” was probably them hitting a breakpoint… a good deal of the exasperation “the veterans” were having in that exchange lies with our perception that there was no attempt to experiment with the concepts discussed directly in the resources we specifically linked. Only after quite some time back and forth in the server did sammy hit a breakpoint. Up to that time as far as we could see, sammy opens the page, doesn’t immediately understand what a “break point” is, and says “I’m not a computer person, my code works but there’s a problem”.
It’s different if sammy comes back and says “there’s a lot of words on this page, but I’m not sure how I can get started using this on my project” or even “Hey this page says to use F9 but F9 doesn’t work for my setup” or “when I right click there’s nothing about breakpoints”. No, we send a link, sammy says “that doesn’t help”, and it’s up to the community to ask the right questions.
So it kind of comes off like sammy hits a new concept that they’re not immediately comfortable with, and wants to throw in the towel and expects an answer while also providing the least amount of context possible. It takes several exchanges before we get any of the other context.
I get that they were following a 17 minute tutorial and even linked the tutorial, but I can understand 5 screenshots worth of BP in less than 2 minutes. It’s way inefficient to have me watch 17 minutes when sammy may not have done everything that the tutorial does, or may have done something that tutorial didnt. It seems pretty easy to me to miss a small detail while following 17 minutes on how to set up a camera zoom. It’s also common to want to extend what you end up with after a tutorial. Either way, it’s a lot easier to help if we’re given a set of screenshots.
Everyone in this community who points out that “you need to learn how to learn” or even “if you think grasping this concept is hard, just wait” genuinely has a point because gamedev is hard and right now sammy is still getting stuck on “programming jargon” that isn’t even “gamedev” or “unreal jargon”, It isn’t helpful when people only show up to make that point, however it is also clear that sammy could get better help from this community with some minor adjustments to their approach.
None of that is intended to dissuade sammy, I’m trying to help frame this for the both of you: the community will generally help those who make it easy to help them, regardless of how quickly they understand things. The community generally tends to not help those who make it difficult to interact with them, even if they always immediately understand.
I once watched a person build a game in BP for like 8 months getting help here the entire time. At no point did “object orientation” click. Every time they wanted to have a door in a level, that was a different door blueprint (from scratch), and they rewrote the door every time. I tried to make their life easier and offered tutoring, but I eventually decided to stop wasting their time. That person wouldn’t have been able to make their game without the help of this community. My point is that it’s entirely possible to have this community help you the entire time you’re making a game.
Like do y’all really think people aren’t doing this?
You seem to be the only one bringing AI up, but I don’t see how it has any relevance to your point because 1) we are all already aware it exists and that newcomers often use it; and 2) the entire internet community could commit fully to “spoonfeeding” and glazing everyone, but AI is still gonna continue being shoehorned into everything regardless which means that it isn’t a true “stick” in the carrot and stick sense - we can all tell that the “punishment” will happen either way. And anyway, AI already stole all the intellectual property, and we already would be attempting to speedrun a climate crisis even if AI wasn’t inefficiently burning resources: I genuinely think if people can learn from AI and it improves their lives, then great. I like helping people, but it’s a lot easier if they have a basic understanding. It’s difficult to know how basic any arbitrary person’s understanding is: should every response begin with “alright now on that glowing rectangle in front of you, you’re going to notice that there’s smaller rectangles which may or may not have contrast, now that’s what we call application windows which you can interact with if you reach out and grab a weird thing on your desk that looks kinda like a plastic lump and has one wire coming out of it, a mouse.” No! We can generally assume that people in an Unreal server understand how to interact with a basic computer arrangement. Anyway, I personally take no issue with folks using AI to bridge the gap, even if I know they’ll eventually need to unlearn bad practices.
As someone who helped...
I get it, I get it I get...but to that guy your suggestion also sits on the same level of, "no understanding", you could literally see him thinking that stepping through the code was going to fix the problem. He didn't understand no, this is to investigate. You can probably lay the solution bare and he won't understand it, yet.
It's different...
You're right, it would be different but he even said none of what's on that page makes sense to him. What Sammy needed was an analogue, or metaphor, likely both with some examples. Something to map the concept to. (This is why I keep going on about LLM's and explaining concepts.)
So it kind of...
Oh, 100%! I know exactly what that's like...I was not kidding when I said I hated unreal engine and Epic vehemently for months. Lol. I did--and even still have a sharp tongue for Epic. And yes, it took several exchanges to even start getting somewhere. What I'm saying is he needs something like almost any one of Freya Holmers videos. https://www.youtube.com/watch?v=MOYiVLEnhrw&t=2s I would not be here arguing if it wasn't for her.
Because even if I was not remotely anywhere near where I needed to be starting. Just being able to grab some part of Unreal Engine in ANY capacity gave me enough interest to kick my self to the next resource, and the next, and the next. I started new projects over so many times until I finally found the correct place to start. C++, Git, (And probably C# for automation purposes) You can't control for that. But for me just being able to say, "I understand this little itsy bitsy part of the code", lets me start infering about other parts of the editor, the engine, etc.
I get that they were...
100% I get it but he probably doesn't understand why that is. He probably thinks this is THE way to do this and not A way to do this. which likelt why he thinks people should just, "get it."
Welcome to my four part lecture on essential math for game developers 💖 I hope you'll find this useful in your game dev journey!
This course will have assignments throughout, if you want to maximize your learning, I recommend doing them!
If you are enjoying this series, please consider supporting me on Patreon!
🧡 https://www.patreon.com/...
Everyone points out
I agree but, that is not what lead me to call out homie being jackass from the very beginning. Lol.
Just because you are good at x doesn't make you by default good at y. Knowing how to code, how BP's work etc. Doesn't mean you're great at explaining to others. We assume that but, turns out every day especially here the value of an actual teacher. This is what irks me because there's 100's if not 1000's of videos created under the same guise. "Well I know A-Z about unreal engine I can tell people what to do, and how to do it", yes you can but very likely not in a way that invokes understanding and cognition. This is not a diss.
And yes, still you are 100% right he absolutely not could have done better but, needs to do better.
None of that is intended
I understand and I do see people occasionally helping others but even from 8 months ago...this place is slowly becoming lurker Ville.
Most times I wont even ask for help I'll just search the discord because it's very likely someone else had the same problem.
I asked a question a few days ago. No one said anything. Ended up finding out that subsystems start before modules funilly enough.
Every variety of subsystem strarts just before a module. I thought it would have been the other way around. Made registering call backs easier too. But the point is...yes people can be helpful. I used to genuinely come in more often when...Foxy? Or something like what be just in there vibing chatting working it felt nice. But I guess he's been nose down. I'm digressing.
I once watched...
I can't say that I've seen that. I wont negate your experience. I wont say it doesn't happen often. I just couldn't imagine it cause I'm not usually actively on here.
You seem to be...
Yes, but the way bro was suggesting everyone is using it is laughable.
I don't know how may times I repeated in essence. Do not ask AI for the solution do not ask it to generate code.
Which I let people slide a bit to suggest that's what I do. (I don't) I spend my time learning.
It will not work. You cannot expect AI to stitch together it's own disjointed thoughts from the start of a project to the end.
No one has their hands on models like that.
And what Bad practices are those? I called out several people for this Claim because of not being able to provide examples.
I also at the time stated that's a 0 sum game.
If you are new: Your Bad practice will manifest of your own doing.
If you rely on AI to make decisions: Your bad practice will manifest some time later after you hit a hallucination.
It literally does not matter. Throwing your question into the discord void makes 0 difference.
This is why AI should be asked to explain things and I keep repeating this.
For me explicitly! I didn't know that--and I'm arguing this from experience, that how you organize your project is always more important than writing any single line of code. I don't care what anyone says. This is not something that AI told me. This came from past gotchas that arose thinking it's a good idea to rush to the fun creative parts. Every time I think ok, I'm ready to start working in the editor for a bit.
Nope! I find that there is more groundwork that needs to be laid. Getting a solid base/framework has been a lot of fun really.
You really are making systems and not, "things", I'm still not great at writing the driest code but I am much better at keeping things generic.
And I guess I shouldn't call it groundwork but I realize now that they way said feature should be implemented should be as a scalable solution and not an endpoint to a specific need.
But what are bad practices that AI sets people on?
What common thread exists between those users?
you could literally see him thinking that stepping through the code was going to fix the problem. He didn't understand no, this is to investigate. You can probably lay the solution bare and he won't understand it, yet.
Yeah, that makes a lot of sense. There's definitely more that could be done in terms of meeting in the middle, when we're not considering that it might not be obvious that there's an investigation step.
I asked a question a few days ago. No one said anything. Ended up finding out that subsystems start before modules funnily enough.
Every variety of subsystem strarts just before a module.
Yeah that's true - it's really easy to miss questions in general, but when you start getting into niche things like this then the only people who know offhand may not ever know you asked. I would have needed to set a bunch of breakpoints or perhaps even refreshed my memory of the code. So, you're saying that a World subsystem will initialize before the FModule representing its lib is actually "started up"? I would potentially expect that when there already is a world, but not necessarily from a fresh initial load of the engine.
This is what irks me because there's 100's if not 1000's of videos created under the same guise. "Well I know A-Z about unreal engine I can tell people what to do, and how to do it", yes you can but very likely not in a way that invokes understanding and cognition. This is not a diss.
Oh man, confidently wrong or incomplete tutorials are frustrating, but also I saw you make a point about "17 minutes of how with absolutely no why" and even if that person is an expert and is 100% correct that's still a mark against the content. If there's no explanation of the why, that leaves it open for speculation by the audience (which isn't great in tutorialization).
But what are bad practices that AI sets people on?
What common thread exists between those users?
I don't have a specific example to reference back to, but I'll grant you that when I've seen outcomes like this, that the user is perhaps yielding way too much to the AI and would get better results if they knew the limitations of LLMs as you say. Tell you what, next time I see something like that I'll point it out if you like.
I don't even know how to continue learning at this point
I know what I wanna do
But like I did a tutorial when I first started learning and they're like you're all done
Oh heya
The way I approach learning new things is very focused
I'll share it with you, but I'm not sure if you'll be able to apply it as effectively as I do, at least right away.
Well I know what I want to do I want to get a basic camera system going in the way that that is described
So that that's the struggle and it seems like it should be a fairly simple system I've gotten other ways to work but they're not the way I want them to be so I don't know what I'm doing wrong I don't know what I'm not understanding or any of that
Would it help if I were to frame how I approach this in terms of your specific use-case?
Probably cuz you know I have specific goals I would like to understand what each thing does
Like I know what a variable is
I generally know how the the conditions and stuff work
Alright. Let me think for a moment on this
I won’t be giving you a solution necessarily but I hope to show you how I think about learning new things.
It would help if I knew an overview of what you already know and what you want the camera system to do, beyond zooming
So basically it's really just supposed to zoom in and out and then when it gets to a certain point of zooming in or out it switches the first or third person kind of like the fog games on PC or Skyrim or whatever
And right now you know that cameras are components, right?
Yes
I wanna be able to do this myself but no one will help me get there besides yourself and a few others
Alright, I'm gonna start typing stuff up now.
Ok
If you think of the working game feature as a destination, then I learn how to make new features by trying to find the shortest path to something that works. From where I start, I might not have any idea how to get to the feature, so I try looking for a foothold, trailhead, breadcrumb, or something like that. I normally don't even start with a tutorial, because I find that they're usually way longer than I need to find the next teeny bit of knowledge that I actually need. I generally use a tool like API references or google search way more. I DO watch videos sometimes. Here's the Blueprint API https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI -- if it seems really frustrating and not user friendly, that's because it is. It used to be somewhat better.
I guess I can outline the process in general as a series of steps, but I don't always use all the steps, or use them in the same order. Sometimes I can just directly go near the end. I suggest you read along before doing things, but if it helps you to mirror me, I'll try to call out when I do things like click links or what not.
Should I be thinking of this API like a code like for example the national electric code
And I look up references that way
Sorta. I'm still writing up my novel showing the how & why I mentioned that. I would have sent it as a big message but discord is limiting the size.
Got it
Step 0 (Learning to ask/search about the thing): You don't know any of the vocabulary or jargon. This is an information gathering step.
Before you can do anything else, you need to know the types of things to search for. I'm gonna pretend that I only know that cameras exist. So I go to the API reference and search "Camera" (Control + F). This is going to give me a lot of things that might not be useful, so along the way I need to filter things out. Let's see.... we have "Camera" and "Camera Animation", so far so good, both of those might be related to what I need to do. There's "Camera Collision" and "Camera Lens Effect" too, these don't seem like they're related to what I want to learn how to do, which is switching cameras or zooming with a camera.
I'm also not going to cover all of the search results (in part because I already know that some of these aren't helpful, so I'm "cheating").
So, first I open the "Camera" link in a new tab (by the way these are all links, you wouldn't tell without interacting with them). I see a lot of things that seem complicated ("Visual Camera Rig"? "Deproject Camera to World"?) and some of this doesn't seem to obviously help. "Activate Camera System for Player" seems interesting, so I'll also open that in a new tab.
On this new "Activate Camera System for Player" tab, there's the line: Target is Gameplay Camera System Component - I'm gonna directly help you here because these API pages are awful. In this context, when it says "Target is", that's telling you that the function operates on a "Gameplay Camera System Component". You'll see a table called "Inputs" where it also lists a "Target" pin -- that's the same "Target", but the Inputs table tells us that it is an object - technically true, but really "Gameplay Camera System Component" is the important thing.
Fun fact, I've never heard of "Gameplay Camera System Component", so I really will be learning about it today.
Well, there are no clickable links on this page that seem useful. So, let's keep that component in mind (more accurately, we can note it for later).
Back to the "Camera" page. There's a few more "Activate Camera System" links here, which you can open if you like, but they're all talking about the component we know about (I opened them but am not going to make a huge point about that).
There's a "Activate Persistent Base Camera Rig" page right after that talks about a "Gameplay Cameras Player Camera Manager" - another term I haven't come across yet.
If I scan the Camera page on the API ref, there's not a lot more that seems like it would help me zoom or change cameras. So I go back to the main page and see "Camera Director" which might help with that. If I open the "Camera Director" page, I see "Activation" and "Evaluation". If I open the "Activation" category, I see "Activate Camera Director", and that page mentions "Blueprint Camera Director Evaluator".
Back on the top API page, I see "Camera Modifier". If I open that up, I see that I can "Enable" and "Disable" a modifier.
Well, where does it leave you/I? We haven't found anything useful, and we're no closer to zooming a camera right? Sorta.
But we now can ask/search about:
"Camera System Component"
"Player Camera Manager" (from "Gameplay Cameras Player Camera Manager")
"Camera Rig"
"Camera Modifier"
And we can use that moving forward to try to get your mechanic functioning.
Step 1 (Evaluating how others do it): The concepts are still abstract. This is an information gathering step.
Now that I know some terms that are connected to my goal, I can start finding resources for the goal. I first went to the learning hub and searched for Gameplay Cameras. Here's a URL that'll take you right to the search results. https://dev.epicgames.com/community/unreal-engine/learning?query=Gameplay Camera
Why start with "Gameplay Cameras"? Because in my experience, when Unreal Engine has some kind of "framework" for accomplishing a feature, they're solving a lot of the issues I might otherwise have to solve. Gameplay Cameras might support zooming and swapping between cameras. This decision comes from intuition, and you'll have to make this decision yourself in the future - it's okay to start with "Camera Rig" instead, because the worst case is that you try learning about it and Camera Rig doesn't help you at all.
Again, there's extra filtering you should do - one of these has a thumbnail saying "PART 1: Installation Rider" which is just a big side quest since it has nothing to do with cameras at all!
So I'm going to pick "Quick Intro to the Gameplay Cameras" (https://www.youtube.com/watch?v=lOtOGSI8MiMc) and I'm gonna skim over it. I'll watch the first 30s to 1m, and then decide from there how much I need to skip past. Right off the bat, it's obvious that he is just going over the documentation. For me!!! For me! I would stop watching this immediately and just read the doc he's reading. Regardless, I don't feel like watching the full 16 minutes to learn whether the gameplay cameras system does what I want (zooming and swapping), so I'm gonna skip ahead to where he shows Blueprint code by hovering over the youtube play bar and using the preview.
I skip to around 5 minutes in, and it's VERY obvious that this system is more in depth than I thought it would be, with a higher skill floor. There's more to learn here if we choose to use this system. That's something that you might want to do, but I'm going to make the call that it's too much learning overhead for our current case. It's okay to discover one approach to your problem, but choose to not explore it right away. Just for fun, though, I want to see if it even works for him, so I'm skipping past all his setup work, to around 15 minutes. It DOES look like the system will do exactly what you're asking about. It will, however, require learning a lot of new concepts.
Alright, so "Gameplay Cameras" are frustratingly complicated... so what else can we try?
Well, we can look at using a "Camera Modifier", that might do what we need. Last time I used the learning hub, this time I'll use youtube itself. I searched "Unreal Engine Blueprint Camera Modifier Zoom In" and picked this video right off the start: https://www.youtube.com/watch?v=9wDz4vPXocw. Again, I'm gonna start with the first 30s and maybe skip around. I like that the video shows that it works. A quick note: I'm NOT looking for advice on how to set up input, and it's also clear that his tutorial is only going to work if I started with the same template that he did. However, I don't really know anything about Cameras (for this example), so I pick up extra vocabulary here: Camera Boom / Arm Length. I decide to just skip a few seconds ahead each time, and I can see that the tutorial covers really basic stuff like clamping, and it also is just moving the camera relative to the pawn, it's not changing the field of view. The tutorial also does not use "Camera Modifier" at all!
So I scroll down until I find a video that specifically mentions "Camera Modifier" - in this case, it's https://www.youtube.com/watch?v=BOtItHPL39k. I watch the first 30s or so, and the video is at least about modifiers AND he talks about changing the FOV, but skipping ahead it doesn't look like he goes too deep into how you would use the modifier to do anything. *And we're still not actually swapping the camera yet. *
Back to Youtube Search, where this time I ask "Unreal Engine Blueprint change camera" and the first result is another MatthewW video. https://www.youtube.com/watch?v=uW86ZGxesmc now. So I do the same thing, skimming the first bit of the video and seeing if I want to skip or skim the video. Right away, it's clear he's going to be talking about a new concept "View Target". I can see that it's going to require that each camera is an ACTOR, which I may not want to do.
Ok, so I've seen examples of making the camera get closer/farther, change in the FOV, and now I technically can change the camera. However, I still have leads to chase down. For example, I haven't see much of anything using "Player Camera Manager". Back to youtube search for "Unreal Engine Blueprint Player Manager Component". That'll show me this video: https://www.youtube.com/watch?v=4D1i6igqR_g. While deciding if I want to skip, I notice that this video is using the Chapters, so I get nice labels describing what each section of the video does. As I skip through the Camera Location and Camera Rotation sections of the Player Camera Manager, I notice that this tutorial happened to cover using specific Camera Components from one actor, which is a piece that I was missing.
Oh I got it this is just more complicated and I can shoot that's why I'm having a hard time with it maybe I should start with just interaction instead
And I need to be like googling specific terms and that kind of thing and I need to be more specific like if I need to know how to use a mouse wheel I need to be googling that in the documentation
Step 2 (Following a specific tutorial): The concepts are still fuzzy, and an example would help. This is a hands on step.
Step 2.1: Choosing the tutorial
Well, now you have a lot of the pieces that you might want to use, but so far all the resources are split up. The key insights have been from 30s in one video, 90s in another... and they're not connecting in your mind. Here, it can be useful to try to find a single tutorial that does all the things you want.
Back to Youtube, to search: "Unreal Engine Blueprint camera zoom in out swap camera". There's a lot of really lower quality videos, and there's even big playlists of videos. Sometimes you find gems if you scroll down. I chose to open this video here https://www.youtube.com/watch?v=hzzt-cOklw8. As I skip around, I notice that the video changes which camera is Active in the actor, much like your initial approach. Because I am first skimming the tutorial, I can decide that maybe we don't want to follow this specific tutorial, because we already "know" that changing the active camera component doesn't work.
I'm just going to skip mentioning all the videos I'm coming across that use this specific approach, which really sucks because I'm not finding a video that specifically shows a technique that I might personally use as somebody who knows a lot more about cameras in UE.
Step 2.2: Following the tutorial
Create a new project that's using the same template that they're using, and follow the tutorial along. Hopefully you get something that works. Generally you want a fresh slate to reduce the amount of noise in your flow - if you're following a tutorial but something is broken in your project, it may make the tutorial not work.
Try pausing every so often and think about what your next step would be if you weren't following the tutorial - you can note your ideas, but still follow the tutorial so that you have no differences. Sometimes a tutorial will make a mistake and only come back later to correct it. Sometimes you need to check the description or the comments if it isn't working.
Smooth First to Third Person Camera Transitions in Unreal Engine 5
Did you know that smooth camera transitions can drastically enhance player immersion in your game? Let's explore how to achieve that in this Unreal Engine 5 tutorial!
In this video, you'll learn how to create seamless transitions from first to third person, and back, in Unreal ...
got it this is workable I can do this
thank you so much
hiow would I know somethig is broken in my project
As part of Step 2? Don't try to decide that, just always use a new fresh project.
In general? I'll come back to this in a sec
got you, thank you so much NOW I understand
Remember how I said you can do these steps out of order, or even skip them? There's a step where you don't make a fresh project
oh? and I meant like if something is broken in a new project or the engine in general
Oh, I see. Sorry.
Well, that's a challenge, if you're new it's easier to just hope it isn't broken. But the way you'd handle it is that you run into a specific issue and if you're stuck you can ask a specific question in the chat on this server. Like
"Hey I'm trying to change cameras by making this one not active, and that one active. But my camera doesn't change. Can someone help?"
gotcha
Step 3 (Trying the first thing to come to mind): Although you think you understand how the thing works, testing your understanding through implementation can help you build better insights. This is a hands on step.
Start a completely fresh project using a template (so that you can build your idea in relative isolation, but not have to make literally everything from scratch). Advanced user note: ||You can create your own plugins and templates, even make a template of a long running project that you know works out of the box||
Step 3.1: Make an idea of how youd do the goal
Come up with a simple hypothesis that you can implement in an afternoon. Here, I'll have to "cheat" again, because this is more of a guide than a dialogue.
Here's a hypothesis I might use here. "I don't need multiple actors, and if I use a custom player manager, I can still swap cameras without deactivating them. This approach might even allow me to have a smoother blend between them."
Step 3.2: Implement your idea of how to do the goal
I'm going to very loosely describe what I might do to accomplish this setup. What I say here may not work, and it could be confusing. It's more the "idea" of "just trying to make something work with what you have" that is important.
So, then I'd have to set up a Player Manager [this might be something you need to learn how to do... in which case, you can apply the earlier steps I laid out in order to learn how to make a player manager]. Once I have a Player Manager all hooked up, I need to make it able to work with multiple cameras, maybe having a "Desired Camera" variable that's just a Camera Component Reference. I need to set up the game logic to update the Player Manager to use the correct Desired Camera. For now, the Player Manager just uses the Desired Camera in order to determine where the camera is.
I can provide a function on the new Player Manager called "Set Desired Camera". Once I'm satisfied that the Player Manager does what I need it to when it's just swapping cameras instantly, I can move to managing multiple cameras. I would rename "Desired Camera" to "Destination Camera" and add a new variable called "Last Camera".
"Set Desired Camera" would first set "Last Camera" to the current value of "Destination Camera", then it would update the variable "Destination Camera" to the new desired camera. Lastly, if "Last Camera" is null, you can set it to the new value of "Destination Camera.
I could have a "Time Since Swap" float variable (which Player Manager needs to update on Tick with Delta Seconds). This would also be set to 0 whenever Set Desired Camera is called.
In the Player Manager "Update Camera" function (or whatever it is called), I now can use two Camera Components. In general, you'd want to use "Lerp" nodes or "Interp" nodes so that you can blend the FOV, the Location, and the Rotation of the two cameras. I want to figure out how much time has passed since the last camera swap, relative to some "Camera Transition Time" - that should also be a variable, it can also be a function parameter on Set Desired Camera.
Step 3.3: Test if you completed the goal (you can do this as part of working towards 3.2 too, like when I first provided "Set Desired Camera" I would then test that in PIE.
Once the feature is more complete, though, you need to test even more than that. The first idea you come up with may have some type of issue - for mine, what happens if I swap the camera too quickly? I bet the transition logic I described would have jarring cuts. However, these steps are meant to be about learning, not debugging. Debugging can be an important part of learning, but I won't cover it much more as part of these steps.
Ok, I've been typing for a long while, so I'm going to abbreviate some other steps, so you can get an outline of what I'm talking about.
**Step 4: Implement some version of the feature into your project. **
Often, you'll find that something about how you made your project means that you cannot easily handle the feature the way you planned in the previous steps. You'll have to adapt the approach you came up with. For example, maybe it's too complicated to use a custom player manager component, and camera active states don't help. Well, you'd have to use actors and Set View Target with Blends. So your Adaptation is that you attach camera ACTORS where you would have had camera COMPONENTS.
Step 5: Identify where you could improve the feature, and then implement the improvement
As you work on the project, you might find that you wished it worked differently. You can use the techniques I mentioned before to improve some aspect of the way you set up the system.
Make a copy of your project, or recreate your system in a template (and keep a copy of THAT). Try out your adjustment there.
Really, as you get past Step 4 and especially as you enter Step 5, this is self directed.
https://youtu.be/vFjXKOXdgGo I can recommend this video if you enjoyed what I've been describing
🧲 Get Mind Over Magnet on Steam! - https://store.steampowered.com/app/2685900/Mind_Over_Magnet/ 🧲
Developing is an on-going YouTube series, where I share the step-by-step process of making my first video game: Mind Over Magnet!
I’m starting from the very first step: choosing a game engine and learning how to use it!
=== Chapters ===...
got it, makwes swnaw
I also want to specific say something just in case it didn't translate.
If you're making your own project and not following a tutorial series, then YOU are the one who determines if something isnt working right. Obvious things like "I want to spawn a Character but I'm instead spawning a Boat" are pretty objective, but something more subtle like "The camera feels weird" is also something that might be "broken".
So you generally find out something isn't working when your expectations aren't met. Like the tree should blow in the wind, and it doesn't. You should drop the item on the ground, but it stays in your inventory
Tying this back into debugging for a second here, learning something and debugging are both processes that investigate - you can use the thought process I described to debug, and debugging something will usually help you learn it.
If you treat the game project you're working on like that Blueprint API page, or web searches, you either see things related to the tree or wind, or you "know where to find code that relates to wind". And debugging (via breakpoints or print strings) is a way to observe what's happening, kind of like skimming through a video to determine whether it will be useful. You can step through code to see if it's going to be useful to solve the problem
@gloomy gazelle hey thanks for bearing with me as I just loaded you up with a big wall of text. I hope it's helpful
gotcha yeah i try to be more concrete
Very, this is EXACTYLY what I wanted
Now I understand
Great!
I just realized, I never showed you how I skim the videos @gloomy gazelle - it looks like this
Ohhhhhh got it thz
Im gla to say this is finally making some sense for me and Im able to startlearning some basic stuff by myself a small nudge was very helpful without assuming programming knopwledge I dont have
Ah! Thanks for letting me know about your progress ☺️
If I need another GOOD tutorial like this can I ask for your help again
i especially love thst it explains WHY
I probably won’t be able to write up that kind of tutorial for everything but yeah you can ask me for help with things. If I can’t help I might be able to point you at another resource (but I won’t promise that it’ll be as helpful).
So Im in the tutorial you sent buty action mappings are gone it seems
Is triggers the new thing I want for input action
and would the zoom be considered a press?
Ahh the new stuff is “Enhanced Input” but take a look in your project settings and see if you can turn “Legacy Input” back on
oh ok Ill do thaty
it says its enabled
You say action mappings are gone, could you clarify a bit more what you mean?
I gigured it out
BUT
it appears the code has misunderstood me
it thinks I want the zoom out for third person but when IM in first person it thinks it should do nothing
and no longer zooms out
ok I found some differences
lemme trouble shoot
ok trouble shooting isnt doing much
I dont know why it wont zoom out
Zooming out DOES work but only for thir person
once in first person it dont work
So if you look at your code for zooming out, does it look like anything would change going between first and third?
it looks good to me but Ill post
what is it
You're activating and deactivating the same camera
hhhh so I wantr to deactivate the FIRST person camera
yep
that fixed it
it works now
FINALLY
now if I wanna make it start in first person I just switch the auto activate?
I don’t have the full context but that seems like it could work!
it did
and with thst the first system in my game is finished
to interaction
Do you know another god tutorial for setting up basic first and third person interaction or one that will work for both anything I found isnt great like the last one and the one I wasnt using doesnt work
and it shoul
also I know I wanna make it so the widget changes with the context like books people items containers ect
or some where theres a text interface when you got options
Nah, I don’t know of a good existing tutorial for any of that, and definitely not that also has all of that for sure.
Describe how you want the player to interact, in detail. Like, should she use the mouse cursor? Or does she scroll a list on screen? Does she aim at things using FPS controls?
Once the player interacts, what happens? Are there specific rules you have in mind for what he can interact with? Should the character he is controlling animate in a specific way? Do interactions need to pause and wait for anything? Will he be removing things from the world?
I find that getting specific with what I want helps me generate a list of things for Step 0 if I’m stuck
you would have either a line or capsule trace since I want this to work with console
they would approach look at it and the option do do the avtion comes up
the current tutorial Im using same problem agaoin capsule trace aint working despite the code being correcrt
@ember kraken Can I ask you for a hand with why my capsule trace isnt working?
Well what seems to be the issue (with as much context as you can provide)?
the code looks fine agaion but the capsule trace just is doing nothing it should be visible so I can see it but its totally unresponsibe
Hmmm, can you show your code?
I remember you said screenshots could be difficult in the past - Would you mind explaining why screenshots are challenging for you?
Maybe I can help you find a better way
yes one second
I didnt know how to do it
I figured it out
hold on seems it got deleted
Ill need to redo it
Yeah, being able to see what you’re working with directly is super helpful when trying to assist
awesome Ill rebuild and send when its ready
👍
Ok, so it’s not showing any debug visual at all… you could set a breakpoint yo see if it is hit, but what actor is this inside of? Have you enabled input for this actor?
That first branch doesn’t seem like it is helping you at all, but it looks like the condition is false so it shouldn’t be causing an issue
this is the third person BP
you’re scaling the forward vector by 0 and this will result in a trace that goes nowhere
ohhhhhhhh
what number do I need
within arms reach
Ah maybe 80 then
Are you absolutely sure that the capsule trace executes? If you use a breakpoint or print string, it definitely hits?
You might also change the Draw Debug Type from For Duration to Infinite/Forever/Persistent - and then you can move around after you interact and you might see it
not at all
it should execute but it isnt
makes me suspect it isnt going off
making it persistent didnt work
it is confirmed NOT executing
print string doesnt do anything
Well i have no idea what’s gone wrong then
Maybe the while setup is wrong?
Event is definitely NOT firing
So what steps have you done to investigate this?
pring string I did and its bunk and not rsponding to breakpoints either
@ember kraken hey I have some questions so Im planning a feature where the UI changed based on the object so from what I gathered I need a parent bluepring and a child blueprint is that right
there's tons and tons of ways to do it.
I think the most important thing is whether it makes sense to you - does it make sense to you to have parent and child objects?
I dont know which one Id wanna do I DO know my overall goals tho
which is this will not effect performance or file size more than it has to
and its modular and can be easily changed depending on different variables
like you know
opening a door
picking up an item
reading a note
ect
or do I have to make each of those features seperatelty
the bit that's like "open door" or "read note" can be the same (and probably SHOULD be the same)
but like, reading a book? That's a different widget than opening a container.
yeah im aware for now I just want like you did the thing even if you didnt you know?
now what would I need to change the actual widget text a variable? Parent a child blueprint?
I would use an interface for this. when you're looking at an actor, see if it implements the interface. if it does, it should be able to give you its player-facing name.
So you'd implement this on your door actor, and it'd return "door" - your note actor would return "note", etc.
Then you can do stuff like print "interact door" or "interact note"
if you have a lot of things that are really similar, then they can have a base class that implements the interface, and that base class can have a variable that the child classes give different values.
say you had a base door class, but then there was a "great door" child, and a "security door" child, etc. Only one door actor implements the interface, but the door children set "interact name" to be "security door" or whatever.
but I have no idea what you should change to make this work haha
you share a really small amount of context, I really have no idea what would work best
got it yeah that was my original plan
Now can print be a widget?
like I want it to look a certain wayt can it do that
Instead of printing a string you can use a widget
Is there some reason you thought otherwise?
I just didnt kow
BUT
I just thought of something
Can I for picking stuff up simply use whats already there for the FPS mode?
and can I migrate them to other projects
it looks like I could get very foundation combat up and running fast with it
Hmm, what do you mean?
like it already by default has picking up weapons, some basic AI, that kinda stuff can I bring that right over to save wel frankly mountains of time
like Im seeing here new stuff like state trees, animation
Important stuff to learn no doubt but can it just be brought over and then modified
Or envquery
or do I still need to make the interaction for everything else only the pickup it seems could be ported
Ah sure but you can see what the pickup does and build from there
Make it more general
As long as you test constantly and make sure you don’t break it
Would I add a widget to the pickup?
Right now it puts a gun in your hand
Mmmm
and if you already have a gun it replaces it
how would I let someone choose to pick it up then or would I need my own thing
it automatically does itr
sorry everything crashed for a second
Seems a lot of the basic stuff can be directly ported over from these other modes