I made a starter kit in Godot!
2:43
A* Pathfinding in Unity3d
11:51
Жыл бұрын
Generating A Grid In Unity3d
4:47
2 жыл бұрын
Speedmodel Low Poly Rifle | Blender
15:01
Пікірлер
@leahcimnaerc9543
@leahcimnaerc9543 Күн бұрын
Nice! I will learn with you.
@Rawbherb
@Rawbherb 5 күн бұрын
This looks like a very organized way to do it. I just throw all of the states in a switch function in my player’s script, and each state gets its own function, and then each state’s function has logic for the other states it can switch to… I like this idea though!
@ForlornU
@ForlornU 5 күн бұрын
Hey as long as it works that's what matters!
@VhnzSanches
@VhnzSanches 7 күн бұрын
I cannot change the focus time, even if is 20 minutes in the "configurations", the timer itself is for 30 minutes
@ForlornU
@ForlornU 6 күн бұрын
Thank you, good catch! I had accidentally forgot to change a variable name, will upload a quick patch
@SiddhantaGhosh-q1o
@SiddhantaGhosh-q1o 14 күн бұрын
so i am using godot 4.2 can it work platformer
@ForlornU
@ForlornU 14 күн бұрын
Grab the 1.4 release for Godot 4.2. Yes you can make it into a platformer, just add gravity basically :)
@SiddhantaGhosh-q1o
@SiddhantaGhosh-q1o 14 күн бұрын
when i downlorded it i shows godot 4.3
@ForlornU
@ForlornU 13 күн бұрын
This is 4.2 Compatible, but I would also suggest just upgrading :) : github.com/ForlornU/TopdownStarter/tree/1.4
@SiddhantaGhosh-q1o
@SiddhantaGhosh-q1o 14 күн бұрын
which code is connected to which?
@ChustrupFx
@ChustrupFx 16 күн бұрын
wow, for such a small app i think you really nailed the UX and SFX. the SFX mainly was good for people with ADHD to pay attention on it
@ForlornU
@ForlornU 16 күн бұрын
Thank you!
@EnakNitsua
@EnakNitsua 17 күн бұрын
Looks like a good exercise for godot UI
@SousChef_0
@SousChef_0 17 күн бұрын
It would be cooler if you improved the ui
@mariobatguy
@mariobatguy 17 күн бұрын
i actually like the ui
@SousChef_0
@SousChef_0 16 күн бұрын
​@@mariobatguy I mean it works but not really my cup of tea, I would prefer it to be much more minimalistic considering it is a productivity tool
@ForlornU
@ForlornU 16 күн бұрын
That's totally fair! It could be more minimalistic and probably smaller
@alienPear
@alienPear 17 күн бұрын
Not what you would normally expect for someone to make with the Godot engine. But it works just fine. Thanks for sharing!
@ForlornU
@ForlornU 17 күн бұрын
True! It has most of the things you would need for normal non-gamedev applications as well
@CallousCoder
@CallousCoder 17 күн бұрын
You should write something like that in zig/c/c++ with raylib. They binary will be a lot smaller.
@luken7959
@luken7959 17 күн бұрын
That realy cool I gonna download
@matthiasmorsa9623
@matthiasmorsa9623 26 күн бұрын
nice il try and use this as a starting point trying to get back into game dev. Mutch respect
@ForlornU
@ForlornU 17 күн бұрын
Hope it help!
@DariusK-f5e
@DariusK-f5e Ай бұрын
:( State_Machine.gd:16 - Parse Error: Cannot call non-static function "Enter()" on the class "State" directly. Make an instance instead.
@ForlornU
@ForlornU Ай бұрын
It's telling you to call the 'Enter()' function on one of the states, not the 'State' superclass itself. Are you trying to make new states?
@pand2aren
@pand2aren Ай бұрын
@@ForlornU sorry for lack of context in my comment, it throws me error in 2:58 part in statemachine main script in func _ready > initial.state.Enter() i guess i missed something.
@lilrustyyy
@lilrustyyy Ай бұрын
This was really useful, thanks! I just have one question... Where do you use the Exit function? I was looking for an example of it in your GitHub and didn't find.
@8BEATER1
@8BEATER1 Ай бұрын
Good code, but bad video. I managed to understand the algorithm only after opening the source. If only the video has shown more than two lines at a single time, so that I could get the bigger picture.
@ForlornU
@ForlornU 17 күн бұрын
I will keep this in mind for future videos, thank you
@tom9380
@tom9380 Ай бұрын
Very high quality video ! Awesome ! I was wondering how to do a localized "time bubble" where time would slow down for every object that enters. Maybe you would have some ideas?
@ForlornU
@ForlornU 17 күн бұрын
You can't change timescale for that since that would affect everything, this is more complicated and you have to track each objects custom timescale, manually update controller animation speed, variables etc. It requires you build an entire system for it I think
@boxboy9000-f7r
@boxboy9000-f7r 2 ай бұрын
it keeps saying could not find type state in the current scope!
@joshuanyamori
@joshuanyamori 2 ай бұрын
One of those tutorials where the maker is trying to look cool instead of making a tutorial. Don't Bother
@i_dont_know_my_name
@i_dont_know_my_name 2 ай бұрын
goood, what i needed
@fuzzy-02
@fuzzy-02 2 ай бұрын
Any tips on how to combine this with composition (stuff like making components and composing entities from them, like VelocityComponent, HealthComponent, WanderAroundComponent, etc)
@fuzzy-02
@fuzzy-02 2 ай бұрын
Is this the same as Finite State Automata? Where you have a Deterministic Finite Automaton, DFA, a Non Deterministic one, NFA, an Epsion Non Deterministic one, e-NFA, and you work on reducing whatever automata you have into a minimal deterministic one? I took this as part of an introductory course to compilers and it seems awfully similar
@fuzzy-02
@fuzzy-02 2 ай бұрын
That punch animation was personal
@mhf169
@mhf169 2 ай бұрын
It is the worst and most complicated tutorial on earth!!!!!
@nonamejack7087
@nonamejack7087 2 ай бұрын
what if it is a package file like ultimate 2d controller
@castlecodersltd
@castlecodersltd 2 ай бұрын
Interesting, thanks 🙂
@ForlornU
@ForlornU 2 ай бұрын
This video is structured as something in-between a step-by-step, follow along tutorial and a devlog. I apologize for the confusion, i recomend anyone interested in the project to get it straight from the source rather than following along the video, download here: github.com/ForlornU/Fishy-example-game
@casachezdoom2588
@casachezdoom2588 2 ай бұрын
Thank you for your honesty, this takes courage and you definitely get respect points for this. If you have the energy and time, it could be possible to still make the video usable as a tutorial by adding a few overlays to the video to add what is missing or clarify what is vague. I guess at worse it was a learning experience in tutorial video making 😃
@Konslufius
@Konslufius 2 ай бұрын
I'm sry I understand how a statemachine works in theory, but I can not make sense of this line: child.state_transition.connect(change_state)
@cioelle
@cioelle 3 ай бұрын
amazing video, but i feel it's definitely important to show and explain how to use state_transition and explain what it does, and how it connects the scripts. great otherwise though, i needed someone to explain FSM to me like i'm 5 lmao
@ForlornU
@ForlornU 3 ай бұрын
Noted, sorry I didn't explain that more clearly! Glad it was still helpful :)
@fettyblap4436
@fettyblap4436 3 ай бұрын
How would you get AI and objects to be attracted toward the center of the planet rather than just a character controller? Like imagine, pushing a box around the planet and the box doesn't fly off into space or fall off
@ForlornU
@ForlornU 3 ай бұрын
I should have shown this more clearly, one of the controllers in the video is a rigidbody just like a physics object and it works the same way. Create a rigidbody, turn off its gravity and add the same code to have it be attracted towards the planet but without the forced rotation. For AI you would have to write a custom pathfinding script I suppose, but then they should work just the same as the player here
@CodingWithUnity-k3q
@CodingWithUnity-k3q 3 ай бұрын
Hello, how would you be able to add a height variable like the one in your archer video to the prediction curve in this exact setup?
@casachezdoom2588
@casachezdoom2588 3 ай бұрын
I'm only 12 minutes into this video and I find the tutorial extremely frustrating to follow. There's a lot of jumping around and often changes are made to the script, nodes, or options without being said in the narration and if you're not focused like a hawk you might miss it. Feels almost like a devlog instead of a tutorial. This is my 3rd or 4th Godot tutorial, and I don't think I'm going to finish this one, which is unfortunate.
@ThaAftrPartie
@ThaAftrPartie 3 ай бұрын
The kicker is 40:46 the code just simply breaks down and doesn’t work
@casachezdoom2588
@casachezdoom2588 3 ай бұрын
@@ThaAftrPartie Welp… glad I stopped early then 😅
@ForlornU
@ForlornU 2 ай бұрын
I'm sorry for the confusion caused by the video's structure, it doesnt really work as a step-by-step despite being made like one. I'll make sure to clarify this with a stickied comment. Thank you for the feedback
@casachezdoom2588
@casachezdoom2588 3 ай бұрын
7:02 I get an error "Invalid set index 'velocity' (on base: 'Nil') with value of type 'Vector2'." Anyone else?
@casachezdoom2588
@casachezdoom2588 3 ай бұрын
Fixed it. At 6:26, the player is renamed to player_body so we have to re-select the CharacterBody2D in the inspector.
@ThaAftrPartie
@ThaAftrPartie 3 ай бұрын
Unironically i have a personal project like feeding frenzy I’ll be working on(already started and have a fsm for moving animation kinda) after the game jam im in.
@wicgamesdev
@wicgamesdev 3 ай бұрын
Great to see your back with more content! Keep up the great work!
@ForlornU
@ForlornU 3 ай бұрын
Thanks! Will do!
@peppergina
@peppergina 3 ай бұрын
Gosh this was a real lesson for me! The lesson was mostly good but there were some parts that were *so* hard to follow, you tend to click around the screen so quickly it I guess it implies that I'm meant to know where those things are... the screen settings at 21:36 or when you changed the gradient I had to actually slow down the speed of the video to see what you were doing (and you started doing it before you started talking about it) so that was really hard to follow, I haven't been able to finish the whole thing and I think I'm going to have to finish this just by myself and using chat gpt because there are too many things that when I copied your code exactly they just do not work in the same way, I think there are a few instances where things were changed/ renamed outside of the tutorial, overall it is good and when you explain things they are clear, the whole segment with the spawner was great, but I wasn't able to follow beginning to end unfortunately and I tried really hard!! I'm very new to godot this is my second video that I'm following.
@say4814
@say4814 3 ай бұрын
nice video, very well teaching. can i request more beginner project
@ForlornU
@ForlornU 3 ай бұрын
Thank you, of course!
@Ithenos
@Ithenos 3 ай бұрын
Wonderful job with the video. Love your coding style and appreciate you going into the code and explaining why you chose to do what you did. You also go into topics your typical engineer would immediately think of such as not hardcoding everything. Very nice! I wouldn't know for sure but I think the way you explain it may even help those who don't code for a living understand.
@ThaAftrPartie
@ThaAftrPartie 3 ай бұрын
I’m mainly using this as a way to get the basics in my own project set up, and there’s a few things like the enemyfish scripts init_fish is supposed to be just init, and I’m stuck at like 40:46 where the inheritance argument for fish for the init_fish func in the fishspawner makes it an invalid function type as it’s not a node2d and it’s a characterbody2d (Could be likely due to my wanting to do composition instead of strictly inheritance), but still should be possible to fix, albeit me wanting to smash my head into my keyboard
@Oneesan91
@Oneesan91 3 ай бұрын
Seems helpful!
@ForlornU
@ForlornU 3 ай бұрын
If this project is too simple for you, check out my more complex top-down starterkit here: github.com/ForlornU/TopdownStarter
@agriasoaks6721
@agriasoaks6721 3 ай бұрын
Feeding frenzy?
@ForlornU
@ForlornU 3 ай бұрын
Had never heard of that before but yes, same type of game!
@offlinemoe
@offlinemoe 3 ай бұрын
Just found your channel and I fell in love with it
@etistyle96
@etistyle96 3 ай бұрын
thank you dude. I was wondering, what the difference between having an interface like IMakeSound MakeSound() and a TypeOfSound abstract class with an abstract Method MakeASound() that have multiple override MakeASound Child like CatSound : TypeOfSound, GongSound : TypeOfSound that would be referenced in the calss like : public Class Cat : { public TypeOfSound mySound initialization{ mySound = getComponent<CatSound>() }
@Waking_Luna
@Waking_Luna 3 ай бұрын
Hey, I've been messing with the project for a few hours now and I've hit a bug that I have no idea how to fix correctly. At the start of the game or scene change, when I walk into an enemy I get an error because currently attack is null. So I just make a ready function and set current to 0 or 1, works fine except now I deal damage to enemies just by walking into them. So I try and set it to a "new" attack that dose 0 and here is the bigger issue I'm having. The array size is 2 just the 2 normal attacks. Adding another node doesn't change this and when in the debug menu it shows a grayed out option to add a new member, when back tracking that it leads you to a root node with no mention of members. I can't seem to find anything through Google related to this so I was really hoping you'd be able to help. That you
@wicgamesdev
@wicgamesdev 3 ай бұрын
Good videos!
@templeoftaste320
@templeoftaste320 3 ай бұрын
Useless, you left out the most important part about how to actually trigger a state transition from the idle state class
@royalbooty4657
@royalbooty4657 3 ай бұрын
states[child.name.to_lower] = child I understand the logic written inside, but I've never seen code written in square brackets before, what is the purpose/function of that?
@bernardbrookshire7171
@bernardbrookshire7171 4 ай бұрын
not helping
@hensola
@hensola 4 ай бұрын
Lovely intro on how FSM work, as well as separating them all out to a manager function. I believe this is how Godot is meant to be programmed.
@Altaryum
@Altaryum 4 ай бұрын
Thanks for this very comprehensive tutorial about FSM. 🤗
@Lily-kv3rb
@Lily-kv3rb 4 ай бұрын
I've been watching through a couple of different videos after finishing my player movement system in my first game and decided to switch it over to a state machine, since I plan on adding even more movement mechanics later on and I want to make it easier on myself. This is the first video I've found that explains things in such detail, so thank you! However, in every video I've watched and tried to follow along, I keep getting stuck on specific tidbits that I can't seem to find an answer to either in the video, or on specific searches on Reddit/Google/Etc. Where would be the best resource for figuring out solutions to problems like "In my Finite State Machine script, there are 'Could not parse global class "State" from "res"//Scripts/PlayerState.gd" over every mention of the variable 'initial_state'. How do I fix this?". I want to find a community or resource where I can easily look up these errors and find out why its not working. And if the reason I can't figure this out is due to a lack of very basic knowledge of GDScript, where should I start learning that basic knowledge?