Bitlytic
Bitlytic
  • Видео 14
  • Просмотров 1 189 943
Why Animation Trees in Godot 4 are Unbelievably Useful
In this video we go over the basics of Animation Trees in Godot 4. We rebuild a top down animation set with idle, run, and attack animations from simple to complex.
Animation Trees are unbelievably useful, and I use them all the time and would highly recommend using them yourself.
Discord - discord.gg/skPc32bUfA
Resources:
Character Sprite Pack by PixelBoy - pixel-boy.itch.io/ninja-adventure-asset-pack
Tileset by RGS_Dev - rgsdev.itch.io/free-cc0-top-down-tileset-template-pixel-art
Chapters:
00:00 Project Overview
00:14 Adding Animation Tree
00:34 BlendSpace2D
01:29 Controlling it through code
02:19 Switching to Animation State Machine
03:03 Adding Idle State
03:53 State Machine code
04:31 Expressions...
Просмотров: 19 468

Видео

Modular Upgrades Made Easy Using the Strategy Pattern
Просмотров 86 тыс.6 месяцев назад
In this video we'll look at an application of the Strategy Pattern to game dev in Godot 4. The Strategy Pattern is a programming pattern useful for switching how an algorithm works at runtime. We use it a little differently here to apply a variable set of upgrades to a projectile fired by the player. A very closely related term is "polymorphism" if you're familiar with that. Project Link: GDScr...
Finite State Machines in Godot 4 in Under 10 Minutes
Просмотров 323 тыс.Год назад
In this video we'll walk though the setup and creation of a Finite State Machine (FSM) in Godot 4. Finite State Machines are incredibly useful for managing simple states and transitioning between them. For this video we will look at an enemy with the states of wandering, following, and attacking. Then, we'll build the wander and follow states together in Godot. Discord - discord.gg/skPc32bUfA R...
How You Can Easily Make Your Code Simpler in Godot 4
Просмотров 474 тыс.Год назад
In this video we look at Inheritance vs Composition and a scenario where Composition is preferable in Godot 4. Both Inheritance and Composition have their pros and cons, but Inheritance is for more often taught, despite Composition being very important in Game Development. I recently ran into Composition in my own projects and felt that it was vastly underrated and deserved to be taught. Discor...
Maximize Your Game Development Potential with Classes in Godot (class_name is OP)
Просмотров 146 тыс.Год назад
A quick video to show you how Godot's class_name can be used to create a custom class that makes it easier to add and change functionality in a game. I'm technically using Godot 4/GDScript 2.0, but that should be irrelevant for this topic. Discord - discord.gg/skPc32bUfA Sprout Lands by Cup Nooble: cupnooble.itch.io/sprout-lands-asset-pack Music used: ruclips.net/video/44MCworZf78/видео.html It...
Best of Bitlytic 2022
Просмотров 2,5 тыс.Год назад
We had a good run this past year. Hoping for a 50% increase in content in 2023. Goomba Behavior
SM64 Decomp - Fading, Door, and Instant Warps
Просмотров 5 тыс.2 года назад
In this video we set up three different types of warps: Fading, Door, and Instant. This should be as much as you need to use any other type of warp, with the exception of paintings, which I will cover next video. If warp IDs and nodes are confusing, check out part 3: ruclips.net/video/BuCpjradzgc/видео.html Resources: Blender - www.blender.org Fast64 - github.com/Fast-64/fast64 Level Template b...
Game Math is easier than you think.
Просмотров 14 тыс.3 года назад
Linear Algebra is a scary term that is often associated with Game Development, but the reality is that the average game developer will only use simple arithmetic when making their games. My goal in this video is to demystify the math that goes into making a game and show a concrete example of what can be done with extremely simple rules. This was technically for the 3B1B SoME1 (Summer of Math E...
SM64 Decomp Tutorial 4: Basic Object Behaviors
Просмотров 6 тыс.3 года назад
Episode 3: ruclips.net/video/BuCpjradzgc/видео.html Pastebin with code: pastebin.com/0RWzvQvq We create our first behavior which is a 1-Up that gives us an amount of lives we can specify, it also doubles the lives if Mario is ground pounding. This is the first *real* code episode, and will be followed up with another one implementing more advanced behavior. You can follow along if you don't kno...
SM64 Decomp Tutorial 3: Warps
Просмотров 6 тыс.3 года назад
Episode 2: ruclips.net/video/gzaOgvZSzCM/видео.html This episode explains how warps work and how you can add them to a level. I've also created some animations to help in understanding how warps are set up as they can be a bit confusing. Resources: Blender - www.blender.org Fast64 - github.com/Fast-64/fast64 Level Template by someone2639 - cdn.discordapp.com/attachments/701163914775494656/75957...
SM64 Decomp Tutorial 2: Importing Levels and Making Objects With Fast64
Просмотров 23 тыс.3 года назад
Episode 3: ruclips.net/video/BuCpjradzgc/видео.html UPDATE: Fast64 has been moved to github, you can go to the new link and download. To do so: 1. Go to github (github.com/Fast-64/fast64) 2. Click on the green "Code" button 3. Download as zip Afterwards, install as normal This episode goes into creating basic levels in Blender using Fast64 and adding objects and textures to that level. Episode ...
SM64 Decomp Tutorial 1: Setting Up and First Code Changes
Просмотров 19 тыс.3 года назад
This tutorial is aimed to help people get started with Romhacking using SM64 Decomp and Fast64. The first episode goes over basic setup and adds a simple feature to sm64: the ability to ground pound out of a long jump. Next episode will be a beginning to Fast64 use and will release alongside a video explaining how to set up warps. Please leave any feedback that would help make it easier to show...

Комментарии

  • @gabwyn-art
    @gabwyn-art 18 минут назад

    I would be possible to combine this with a NavigationRegion2D?

  • @f7dbe57b
    @f7dbe57b 10 часов назад

    This is O from SOLID

  • @KosoGames
    @KosoGames День назад

    Really good tutorial, finally I learnt what does Capture do lol

  • @laynux4825
    @laynux4825 2 дня назад

    Man you have no idea how much I ́ve been struggling with this. Thank you so much!

  • @Krumelur
    @Krumelur 2 дня назад

    Why does move_and_collide() live in the enemy, but velocity modifications go into the state? What's the decision criteria?

  • @goosetown-47
    @goosetown-47 3 дня назад

    @bitlytic - I know these are probably really time intensive to make but I have to say you do it so well. I hope you can do more. They've really helped me understand a lot of complex issues as a new developer in Godot.

  • @Thiagola92
    @Thiagola92 3 дня назад

    When I saw you at the search result I knew that I would have a great video explaining

  • @superfastscyphozoa
    @superfastscyphozoa 5 дней назад

    This is a great tutorial! I learned how state machines work and was even able to change the code to make it work as a hierarchical state machine! Thanks!

  • @QuasiGame0
    @QuasiGame0 6 дней назад

    Im not smart enough for this yet, but ill keep this bookmarked

  • @uirwi9142
    @uirwi9142 6 дней назад

    nice

  • @ohiasdxfcghbljokasdjhnfvaw4ehr
    @ohiasdxfcghbljokasdjhnfvaw4ehr 6 дней назад

    "first thing you do is add the animation tree" but what about the animation player... i have no idea what to do with it or why it exists instead of just using a animatedsprite2d

  • @R2D_YT
    @R2D_YT 8 дней назад

    Yes

  • @slipperyorca8092
    @slipperyorca8092 8 дней назад

    This was a good video, thank you

  • @cjh.50
    @cjh.50 11 дней назад

    05:31 Attack.new() the Attack class is in here ruclips.net/video/y3faMdIb2II/видео.html

  • @dustinspires8096
    @dustinspires8096 11 дней назад

    This is really hard to follow. From minute 3-4 you pasted a ton of code without explaining why you were doing it.

  • @_sIash
    @_sIash 12 дней назад

    is there an easier way ?

  • @SGM24_YT
    @SGM24_YT 13 дней назад

    Shoot i should have know this before doing my character moveset

    • @SGM24_YT
      @SGM24_YT 13 дней назад

      O wait this is for enemies

    • @SGM24_YT
      @SGM24_YT 13 дней назад

      Then im fine

  • @motokom.4992
    @motokom.4992 16 дней назад

    Your videos are better than some university classes. Great job!

  • @RobertElliotPahel-Short
    @RobertElliotPahel-Short 18 дней назад

    Bevy has entered the chat :)

    • @Bitlytic
      @Bitlytic 17 дней назад

      Funny enough, using bevy has changed how I approach composition in godot drastically since this video

  • @AzaIndustries
    @AzaIndustries 19 дней назад

    Very handy, though I'll be attaching through the script cause nodes use more performance. My game is a little different though. More a town builder so less responsive AI more task based. Just trying to keep the node count down.

  • @TheNova51
    @TheNova51 19 дней назад

    This still just goes way over my head lol

  • @thiagod47
    @thiagod47 21 день назад

    Justa a word of warning: Don't know if i did something wrong but calling queue-free on the parent node of the animation player broke my game so hard that godot couldn't load the game. Had to manually edit the scene to cut out the script.

  • @Noah-hu5xp
    @Noah-hu5xp 21 день назад

    I thought i was starting to get the hang of godot, but now i realize that i am nothing but an absolute beginner.

  • @xxnekonekox
    @xxnekonekox 21 день назад

    i'm at the first test point ( @4:39 ) and it doesn't work, as far as I can tell I have followed everything exactly, any ideas on points I could check where something went wrong? the only message I'm getting in errors is "the signal "transitioned" is declared but never explicitly used in the class"

  • @jacknight3690
    @jacknight3690 22 дня назад

    Dammn, this tutorial is useles

  • @jacknight3690
    @jacknight3690 22 дня назад

    Outdated, not working anymore

  • @Alexis-so4he
    @Alexis-so4he 24 дня назад

    Thank you so much I feel like a new person and I can't wait to mansplain animation trees to everyone at the next party i attend

  • @Rocky1138
    @Rocky1138 28 дней назад

    One of the best teachers.

  • @DavidSavedbyGrace
    @DavidSavedbyGrace Месяц назад

    Thank you for the intro to this. Really good help at the beginning stages of developing a game.

  • @yohanespanjaitan4550
    @yohanespanjaitan4550 Месяц назад

    Hey, i was wondering if you have an explanation for 3D games, i tried to convert it to be according to Vector3 but the enemy global position is not updating in follow state. Thanks

  • @tsujin3122
    @tsujin3122 Месяц назад

    Great rundown! One thing to note: you can actually make the collision shape a child of the HitboxComponent still and edit the shape as normal, so you don't need to set the entire thing up in each enemy. A small change, but something doable that could save a little time and effort. :)

  • @Biokompott
    @Biokompott Месяц назад

    I only understand railwaystation

  • @vaiterius
    @vaiterius Месяц назад

    0:24 Life, it seems, will fade away

  • @AboutSpaceAndTime
    @AboutSpaceAndTime Месяц назад

    As a Programmer new to Godot your Channel is gold. Please more

  • @CarbuncleEmporium-gt1ix
    @CarbuncleEmporium-gt1ix Месяц назад

    Oh that makes so much sense I love this tutorial thank you!

  • @muratcanagic
    @muratcanagic Месяц назад

    it was really helpful! thanks.

  • @TheOrigin79
    @TheOrigin79 Месяц назад

    great video - but as almost every tutorial video in yt - you are speaking and doing stuff WAY TO FAST!!! before someone can get what you just said, you are already two clicks further... slow down the tempo or leave the tutorials at all. because this tempo is just stressful.

    • @danperlman230
      @danperlman230 Месяц назад

      You can watch a youtube video at any speed you want lil bro. Try 0.75x

    • @Astral100
      @Astral100 7 дней назад

      Depends on who is watching. As a Software Engineer this speed was perfect for me.

  • @toshiri00
    @toshiri00 Месяц назад

    Can someone tell me how i would have the attack_component send the hit object into a hurt state while maintaining the variables of what hit it. Currently i have a train of Parent.damage State-machine.damage Current_state = hurt state

  • @tylerbakeman
    @tylerbakeman Месяц назад

    What makes godot more challenging for Abstraction and keeping code simple, is all of the different ways you can maintain variables- Sometimes it’s beneficial to assign a variable @ export , but there are also ways to usually do that programmatically. Sometimes referencing a node with $ is beneficial, but it can also be avoided altogether… Those practices aren’t normally an issue during programming in other languages (some languages do have “too many options” as far as syntax, with their own niche behaviors for each option, but godot does that on steroids).

  • @Ribbit-mx1sd
    @Ribbit-mx1sd Месяц назад

    Wow, using composition seems so clean! Is there ever a really good time to use inheritance?

  • @hzt_rzkyi
    @hzt_rzkyi Месяц назад

    Really cool tutorial, it opens a new perspective for my project Question: 1. how would you change state, if lets say, the state change is forced from outside of the state, for example, change state because of user input, like jump? 2. how do you combine this concept with your previous video about using component? For example, how do you combine the 'Walking' state and the 'MovementComponent'? I initially imagine MovementComponent can call state change to the 'Walking' state, but then the 'Walking' state is gonna be an empty .gd script BCS all the codes are already implemented in MovementComponent

  • @GeoLotus
    @GeoLotus Месяц назад

    Thank you very much for this tutorial. Will definitely be implementing this type of composition

  • @setaindustries
    @setaindustries Месяц назад

    This is really useful to use for card games, each card can have special abilities assigned to it without touching the base card class!

  • @MateoOne
    @MateoOne Месяц назад

    Can someone help, I couldn't get example to work in Godot

  • @ezzie_baby
    @ezzie_baby Месяц назад

    Incredibly helpful! I tried to figure this out on my own and failed and was really despairing. Thank you so much for sharing!!

  • @BingoBobDev
    @BingoBobDev Месяц назад

    this is a good video man, really helped me understand composition.