Complete 3D Shooting Mechanics - Godot 4 FPS Tutorial

Поделиться
HTML-код
  • Опубликовано: 3 авг 2024
  • In this Godot 4 tutorial we create implement complete shooting mechanics for a first person shooter game including how to make a weapon. The covered topics include gun animations, projectile bullets, complex bullet collisions with body parts and weakpoints, dying animations, and enemy despawning. These mechanics can be used for many types of games, including FPS, horror, survival, RPG, etc. All of this code works with Godot 4.1.
    Support the channel: / legiongames
    The project is available on GitHub: github.com/LegionGames/Shooti...
    Assets:
    Zombie model: www.mixamo.com/
    Ground texture by 0melapics: www.freepik.com/free-vector/e...
    Kenney Graveyard Kit - www.kenney.nl/assets/graveyar...
    Steampunk Rifle by Jake Sharp - poly.pizza/m/1aBSH8_oopt
    Wishlist Game: store.steampowered.com/app/21...
    Discord: / discord
    Itch: legiongames.itch.io/
    Twitter: / legiongames1
    Instagram: / legiongames1

Комментарии • 257

  • @samwholearns3023
    @samwholearns3023 Год назад +57

    TIPS:
    1. Hold control while you click and drag a node from the scene hierarchy to the script to create a full @onready var
    2.There is a Translate() function that changes the nodes position. Could simplify the bullet movement slightly.

    • @legiongames2400
      @legiongames2400  Год назад +12

      Oh my god thank you LOL that's gonna save me so much time :D :D

    • @neptun3189
      @neptun3189 5 месяцев назад

      #1 for some reason doesnt work on mac :(

    • @gwmm1234
      @gwmm1234 4 месяца назад

      @@neptun3189 try command

    • @GamingsMostAmazingSoundtracks
      @GamingsMostAmazingSoundtracks 3 месяца назад

      @@legiongames2400are you sure you didn’t leave any major details out when spawning bullets? I’ve looked at this video countless and still can’t get them to show up even when I used nodes and code. Don’t dodge the comment.

    • @LawlessNate
      @LawlessNate 3 месяца назад

      I tried this an the is_playing function returned null, crashing the game. I had to manually type $ name of 3d node attached to player / camera of player /...
      and then the animation player node and its animation appeared.

  • @karimsantoro4326
    @karimsantoro4326 Год назад +4

    awesome workaround for the collision shapes of enemies. Thank you

  • @chrisl7449
    @chrisl7449 Год назад +11

    Just started on the 3D game development journey in Godot and the 3 tutorials are super helpful. Thanks!

  • @Blake.Bilderback
    @Blake.Bilderback 9 месяцев назад +7

    This has been one of the most helpful tutorials I’ve found so far. Thank you!

  • @andypandy-py1zc
    @andypandy-py1zc 2 месяца назад

    Another great tutorial with all the code working as it should.
    It is fast paced which allows you to put more ideas and solutions into the video without dragging on.

  • @ChristopherSprance
    @ChristopherSprance 10 месяцев назад +18

    These are incredible. I love how succinct they are. Keep this style up!
    This is some of the best godot content I've come across so far

  • @supermario-N64
    @supermario-N64 Год назад +23

    Thanks for the tutorial! There is not many godot 4 tutorials so yours are a huge help to beginners

    • @legiongames2400
      @legiongames2400  Год назад +5

      Thank you, I'm glad you're enjoying my videos!

    • @breadman6666
      @breadman6666 Год назад +1

      @@legiongames2400 can you make a video showing how to make a player interact with rigidbody3ds and be able to pick it up and throw it?

    • @breadman6666
      @breadman6666 Год назад

      3d btw

  • @ndriqa
    @ndriqa 7 месяцев назад +1

    Nice tutorial. GJ on being crispy clear on ur words!

  • @Max-sf8im
    @Max-sf8im 9 месяцев назад +1

    What a legend, fantastic video mate, keep them coming.

  • @D.E.Nicolas.Goncalves
    @D.E.Nicolas.Goncalves 8 месяцев назад +1

    I recalled your video many times, so many good and essential stuff around it! Thanks for the knolage shortcut!!!

  • @wyamarco
    @wyamarco Год назад +2

    Love the tutorials so far ❤

  • @pheroqt1238
    @pheroqt1238 Год назад +2

    Love your tutorials man. Keep them up =)

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

    I liked this video months ago, but I keep coming back for top tips ♥

  • @artiop7687
    @artiop7687 6 месяцев назад +2

    PERFECT : simple, fast and very well explain for newbies

  • @mischiefunmanageable
    @mischiefunmanageable Год назад +6

    This series is going really well!

    • @legiongames2400
      @legiongames2400  Год назад

      Thank you! :) Any other FPS topics you would be interested in?

    • @mischiefunmanageable
      @mischiefunmanageable Год назад +4

      @@legiongames2400 close range Melee weapon would be a good idea I suppose :)

  • @eugeneivanov353
    @eugeneivanov353 9 месяцев назад +1

    10/10 tutorials need more!

  • @alexeykurilo4381
    @alexeykurilo4381 Год назад +1

    it looks great, thanks for sharing

  • @robvreede1
    @robvreede1 Год назад +3

    Looking great, thank you. I’ve added sound and made it quite a bit darker. Very fun to shoot those undead.

    • @legiongames2400
      @legiongames2400  Год назад

      Nice, the bullets prob look cool flying around in the dark haha

  • @akwasiasanteampong5103
    @akwasiasanteampong5103 9 месяцев назад +43

    I i hate the way people always rush to do stuff without letting viewers see it

  • @greji6032
    @greji6032 Год назад +5

    You have a fantastic foundation to create a simple COD zombies game, maybe. i have near zero experience in game dev so i truly wouldnt know
    regardless, these tutorials are awesome

    • @legiongames2400
      @legiongames2400  Год назад +1

      yeah it was actually the inspiration for the series haha :D thank you!

  • @ChuckyMaster
    @ChuckyMaster 9 месяцев назад +2

    God Bless you bro, this tutorial is amazing!

  • @pascalcasier959
    @pascalcasier959 Год назад +2

    Great tutorial, thanks

  • @Big_Theft_Auto
    @Big_Theft_Auto 2 месяца назад

    Your tutorials are the best😎

  • @qwoolrat
    @qwoolrat Год назад +1

    thank you man! you're a real life saver

  • @okmogodot
    @okmogodot 9 месяцев назад +1

    Great Tutorial Keep Going 💪

  • @collinvisser7108
    @collinvisser7108 Год назад +1

    very neat well done

  • @DubbleKoi
    @DubbleKoi Месяц назад +3

    I had a problem where my bullet had multiple problems, so here is my solution for future generations.
    The problems; my bullet spawned way over my head and fired in a direction that wasn't quite where I was looking but picked a direction relative to how rotated my camera was. the bullet also curved as I turned my camera mid-flight.
    the solution; I replaced "get_parent().add_child(instance)" with "get_tree().root.add_child(instance)". this gets the root node of your level and makes the new bullet a child of that.

  • @qbitsday3438
    @qbitsday3438 Год назад +1

    You are an Excellent Teacher !

    • @legiongames2400
      @legiongames2400  Год назад

      Thank you friend! :)

    • @qbitsday3438
      @qbitsday3438 Год назад

      @@legiongames2400 Excellent Keep up the Great work . Thank you for the video .

  • @zeeeeeeeeeev6493
    @zeeeeeeeeeev6493 8 месяцев назад +2

    really helpful series, it would be nice if the video about enemies with skeletons had a warning that the 'generate skeleton' thing is kinda broken, i had problems with it as well.

  • @Rawrqual
    @Rawrqual 5 месяцев назад +3

    I think the collision boxes now work with the animationtree without having to redo them. They reworked AnimationPlayer and AnimationTree between 4.1 and 4.2 so it could be related to that.

  • @djdailydisco
    @djdailydisco 6 месяцев назад +2

    With every bullet the memory goes higher and higher....

  • @Ralfidogg
    @Ralfidogg 6 месяцев назад +1

    Thank you

  • @TidaliCreative
    @TidaliCreative 10 месяцев назад

    Your 8 guns joke convinced me to sub, like and keep the bell active haha 😂😂

  • @dj-mk8342
    @dj-mk8342 Год назад +1

    nice if you did a weapon pick up and drop system. And thanks for this tutorial

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

    Your tutorials are amazing. I'm upset with myself for the ways I did things. Being new to Godot I did not know about "clear inheritance" and had no idea how to get hitboxes to be children of the bones. So, I grabbed the skeleton object in GDScript, found positions of two bones I wanted the hitbox between, and applied linear interpolation between them to place the hitboxes where I wanted. It looks a lot easier being able to make the hitboxes child nodes of the bones. lol

  • @GLENC0C0
    @GLENC0C0 8 месяцев назад

    lol at the end. love it.

  • @EggsToMe
    @EggsToMe 8 месяцев назад +1

    HUGE thanks ♥♥♥♥♥♥♥♥♥♥♥

  • @ukaszpruszynski1799
    @ukaszpruszynski1799 Год назад +1

    The Best!

  • @Rotceev
    @Rotceev 3 месяца назад

    The 8 guns joke was...very satisfying.

  • @mohamedmoh5789
    @mohamedmoh5789 Год назад +2

    You have the best fps tutorials for godot thanks for sharing and contributing to the godot community

  • @gwmm1234
    @gwmm1234 4 месяца назад +1

    When I press the fire button, the bullets aren't where the ray cast is. They also change position (On the Y axis) depending on where I am in the play space
    Bullet:
    extends Node3D
    const SPEED = 40.0
    @onready var mesh = $MeshInstance3D
    @onready var ray = $RayCast3D
    # Called when the node enters the scene tree for the first time.
    func _ready():
    pass # Replace with function body.
    # Called every frame. 'delta' is the elapsed time since the previous frame.
    func _process(delta):
    position += transform.basis * Vector3(0,0,-SPEED) *delta
    Gun:
    @onready var gun_animation = $Sketchfab_Scene/AnimationPlayer
    @onready var gun_barrel = $Sketchfab_Scene/RayCast3D
    var bullet = load("res://Scenes/bullet.tscn")
    var instance
    func _process(delta):
    if Input.is_action_pressed("Click"):
    if !gun_animation.is_playing():
    gun_animation.play("shoot")
    instance = bullet.instantiate()
    instance.position = gun_barrel.global_position
    instance.transform.basis = gun_barrel.global_transform.basis
    get_parent().add_child(instance)

  • @beoxsgaming9388
    @beoxsgaming9388 7 месяцев назад

    What's better than 8 guns....
    Neo: "Guns, lots of guns."

  • @tonnypedersen5915
    @tonnypedersen5915 Год назад +9

    only thing missing is multible weapon types and ammo to pick up

    • @legiongames2400
      @legiongames2400  Год назад

      What kind of weapons would you like to see?

    • @tonnypedersen5915
      @tonnypedersen5915 Год назад +2

      @@legiongames2400 the usual or something "fun" to take out zombies, like a chainsaw, scythe or a ladle 🤣

    • @awesomewow668
      @awesomewow668 Год назад

      melee, rockets and switching between them

    • @legiongames2400
      @legiongames2400  Год назад +2

      @@tonnypedersen5915 I freaking love chainsaws

  • @yoskokleng3658
    @yoskokleng3658 5 месяцев назад +1

    which video you make animation for "die" ? i miss it. :))

  • @jubibi390
    @jubibi390 11 месяцев назад

    so it doesn't work in godot 4.1? i can't seem to find the "get_simple_path". is there another method for it?

  • @aaronspielman884
    @aaronspielman884 6 месяцев назад

    Awesome tutorial!! I'm just having trouble getting the bullets to start at the gun barrel. I've followed the tutorial closely but for some reason the bullets are not aligning with the gun barrel.

    • @user-zc3eo6pe8x
      @user-zc3eo6pe8x 3 месяца назад

      Use global_position instead position

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

    Please help the following line from the bullet just does nothing at all, the bullet spawns but doesn't move,
    position += global_position * Vector3(0, 0, -SPEED) * delta
    I tried adding a print(position) below this to have it print it's position, more to see if it was even running the code in the script, but IDK if that is a valid way of doing it, but if it is it seems like once it's spawned the code on the script isn't running?

  • @zerohooman4403
    @zerohooman4403 5 месяцев назад

    Amazing!!! can u add audio to it??

  • @catjox_45
    @catjox_45 Год назад +1

    Nice tutorial! Are we getting anymore content in this zombie-shooter series?

    • @legiongames2400
      @legiongames2400  Год назад

      No plans atm. Not because I'm not interested in doing more, just not sure what people would want to see. What other FPS topics would you like me to cover?

    • @catjox_45
      @catjox_45 Год назад

      @@legiongames2400 Here are some suggestions! Different weapons, wave based combat, upgrades and perks, different enemy types, nav mesh links, ammo count. Maybe you could take a look into one of those?

    • @catjox_45
      @catjox_45 Год назад

      @@legiongames2400 Range-based enemies and more gunplay stuff would be interesting. (Shotguns melee etc) Perhaps aesthetic stuff like bullet impacts and footstep sound effects? I don’t mean to overwhelm, I hope these give you some ideas!

    • @catjox_45
      @catjox_45 Год назад

      Ooh! May I also recommend ragdolls?

    • @legiongames2400
      @legiongames2400  Год назад +1

      @@catjox_45 That's a lot of ideas, thank you. I think I will take a look at some of those like more weapons and ranged enemies. Ragdolls I really wanted to get done for this one but the physical skeleton breaking kind of threw a wrench in my plans so probably worth revisiting. Seriously, thank you haha

  • @flailmusic
    @flailmusic 2 месяца назад

    When the player is strafing, the rifle muzzle raycast is offset (to the left if strafing left, to the right if strafing right), before lerping back to its position (only after the pressed button for strafing is let go). Does anyone know how I could solve this issue?

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

    I have a doubt. If the fps goes down, maybe the bullets pass through the enemy and other colliders?

  • @CoolDude-g4r
    @CoolDude-g4r День назад

    I can't change the materials on the models for some reason. When i try that it says that i cant change materials on imported models. Does anyone know how i can fix this? Because i've seen other people do it

  • @jinyuchan3983
    @jinyuchan3983 6 месяцев назад +1

    Sometimes the bullets just hit the floor without showing the particles. Is there a reason for this?

  • @ItsTac0-zmic
    @ItsTac0-zmic 9 месяцев назад

    The 8 guns got me 😂😂

  • @bongo6_462
    @bongo6_462 Год назад +1

    Would you also be going over animations for the gun?

  • @velavanvenkat1173
    @velavanvenkat1173 Год назад

    🔥🔥🔥🔥🔥

  • @irayala
    @irayala Год назад

    super))

  • @officalminereal_gamer
    @officalminereal_gamer 5 месяцев назад +1

    when i run the game the bullets only colide some times only i tried every thing but its not working????😥😥😥😥

  • @microwavedman2
    @microwavedman2 6 месяцев назад

    For some reason when I walk forward my bullets go in reverse here's my code: var input_dir = Input.get_vector("Left", "Right", "Up", "Down")
    var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
    if direction:
    velocity.x = direction.x * SPEED
    velocity.z = direction.z * SPEED
    else:
    velocity.x = move_toward(velocity.x, 0, SPEED)
    velocity.z = move_toward(velocity.z, 0, SPEED)
    move_and_slide()

  • @RealJesus
    @RealJesus 10 месяцев назад

    Help my bullet phases past objects then on the other side explodes into particles.

  • @paulchen9145
    @paulchen9145 10 месяцев назад +3

    10:25 well this is awkward now... in your previous tutorial you were only talking about the three animations "standup", "run", "attack", not about the "die" animation.
    How can I now add a fourth animation to the already existing model? If I reimport from blender, all the previous work (position track in standup, hit-frame in attack, animation-renaming) will overriden right?
    Can I somehow retarget an existing animation onto a different model (import 2nd zombie model just with "die" animation and then retarget to existing zombie)?

    • @paulchen9145
      @paulchen9145 10 месяцев назад +2

      Well I can tell you that the offical guide in the godot docs regarding animation retargeting... did not work for me ^^
      Godot does not seem to find the right bones unfortunately...
      What do I do now?

    • @paulchen9145
      @paulchen9145 10 месяцев назад +3

      I figured something out: If you wanna add a new animation to an already existing model, reopen the existing zombie.glb in Blender, then import the glb with the new animation (in this case "die") stash it into the NLA, and then when it its reimported in Godot you cann see the new animation there.
      Just for info: animation retargeting did NOT work for me, I had to do it this way...

    • @legiongames2400
      @legiongames2400  9 месяцев назад +2

      You can copy the animation keyframes into a new animation if you import another model with the extra animations.

    • @asdfhjklacew
      @asdfhjklacew 7 месяцев назад +1

      Figured out how to copy the animation keyframes to a new animation. You have to click the "Edit" -> "Copy Tracks" to copy it (took me forever to find this)

    • @jasonleeroberts
      @jasonleeroberts 2 месяца назад

      @@asdfhjklacew How come the "Edit" button for this is greyed out for me? How do I enable it so I can copy the track?

  • @ProbablyM_S
    @ProbablyM_S Год назад

    can you pls make tutorial for weapon system so can easily add more type of weapons

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

    my bullets are getting stuck midair and colliding with nothing :c as soon as i added the collision code

  • @ozairahmadmarufi2285
    @ozairahmadmarufi2285 8 месяцев назад

    Hi
    Which programing language use in this engine c plus or c sharp or both of them are use in this engine and if we know just one programing language is it benefit for use godot or not.

    • @legiongames2400
      @legiongames2400  7 месяцев назад +1

      This tutorial is in GDScript. Godot has a lagging support for C# and as far as I know there's an extension for C++.

  • @Mikael._
    @Mikael._ 10 месяцев назад +3

    For me sometimes the collision wont trigger, using simple boxes and spheres on a level.
    From specific angles and distances the bullet collides correctly and sometimes couple inches to the side the bullet goes right through.
    Not sure this is a limitation of the engine for fast moving objects or i got something wrong.

    • @kaliss6110
      @kaliss6110 9 месяцев назад

      Hi, sorry if im a bit late, but for me making the raycast longer and lowering the bullet speed worked.

    • @Mikael._
      @Mikael._ 9 месяцев назад +1

      @@kaliss6110 Yeah i did some of these changes but it really seems like a limitation of the collision shapes at higher speeds, since even with the bullet at really slow speeds it did skip some collisions but more rarely, i tested in a clean project with nothing except the bullet instantiation and it persists, since i mostly like to mess around with 2D games i ended up not searching a lot more.
      The things i did:
      Slow bullet, longer raycast, swap raycast for a collision shape and use signals, faster bullet (because why not), and changing some physics options in the project settings.
      The only thing really worked was wit scan bullets using a raycast, those detect correctly, i just spawn a instance of the particle where my raycast collides when i click.

  • @spud7234
    @spud7234 9 месяцев назад +1

    Question, i just finished the body part script, and it works with headshots which the original signal and stuff is attached to, but whenever i hit a non head body part, it crashes and says
    "Invalid call. Nonexistent function 'hit' in base 'Area3D'
    im confused and not sure what is wrong here, how did he set up the signal again? he did it so fast maybe i did something wrong

    • @themindlesstruffle
      @themindlesstruffle 9 месяцев назад +1

      I got the same issue, if you figured it out let me know!

    • @spud7234
      @spud7234 9 месяцев назад

      im a total goober and didnt realize this, he skipped over it, but you are supposed to attach the same script and signal to every body part, look at the before and after of him saying so @@themindlesstruffle

    • @legiongames2400
      @legiongames2400  9 месяцев назад +1

      I had a script attached to every area 2D with a hit function that passes it on to the the parent enemy script. Thank you for watching!

  • @user-ut6yq8zb3z
    @user-ut6yq8zb3z 5 месяцев назад +1

    can u make a Tutorial for a 3rd person shooter (Tps) ?

  • @QqQq-bf8bd
    @QqQq-bf8bd Год назад +1

    i make 3d fps game for mobile, but i will try to play in mobile ,
    i will touch(swipe) mouse motion only, it will work properly, and i will touch (move) joystick only, then joystick work properly, but i will use both of them, first i will touch mouse motion and after touch joystick, both of them work properly but first i will touch joystick and after touch mouse motion , joystick will work but mouse motion not work, 😢😢how to solve please help

  • @who_tf_asked
    @who_tf_asked Год назад

    How do you combine all the scenes into one called world, and also can you use arms to holding the ❤nice video by the way❤

    • @legiongames2400
      @legiongames2400  Год назад

      What do you mean by combine the scenes?

    • @who_tf_asked
      @who_tf_asked Год назад

      @@legiongames2400 nvm I figured it out, by the way do you any discord group bro? Iam currently working on a similar game (iam a beginner)

    • @legiongames2400
      @legiongames2400  Год назад +1

      @@who_tf_asked Yeah theres a link to the discord in the video description!

  • @Yoni123
    @Yoni123 6 месяцев назад

    Can you add a melee weapon?

  • @abhisheksinghpov8404
    @abhisheksinghpov8404 8 месяцев назад

    Brother i need ur help actually i trying to built a game that based on Dead by Daylight and u know i am beginner or u can say worse than beginner so i created Map and add some model set camera but some problems with Scripting 😢😢

  • @HansKillinger
    @HansKillinger Год назад +1

    My particles only emit a fraction of the time. Most hits don't emit, even though it is colliding. Any idea what I'm doing wrong?

    • @legiongames2400
      @legiongames2400  Год назад

      That's a weird problem, I'm blanking out tbh. What's your bullet velocity? Also what's the particle velocity?

    • @rgstudios1238
      @rgstudios1238 11 месяцев назад +1

      @@legiongames2400 i believe its the weapon speed or the raycast 3D not working correctly as if i slow down my bullet speed it works more than if i increase it, any fixes?

    • @vettie
      @vettie 11 месяцев назад

      same problem here. going to mess with the raycast length and collision layers.
      EDIT: Lowering the speed and increasing the raycast length worked.

  • @imtheescapeplan
    @imtheescapeplan Год назад

    Idk if I should post this here or elsewhere, but I'm having trouble with the bullets colliding with the air and I don't know what I did wrong, can someone help me??

    • @legiongames2400
      @legiongames2400  Год назад

      Hey the issue might be with the size of your collision shapes on your obstacles or the bullet collision raycast may be larger than your bullet mesh!

  • @zekicaneksi
    @zekicaneksi 7 месяцев назад

    i used marker instead of a raycast for gun's barrel.

  • @sitsnay982
    @sitsnay982 5 месяцев назад +1

    what to do if it reports an error that there is no function is_playing in the code: if Input.is_action_pressed("shoot"):
    if !gun_anim.is_playing():
    gun_anim.play("Shoot")
    instance = bullet.instance()
    instance.position = gun_barrel.position
    instance.transform.basis = gun_barrel.globale_transform_basis
    get_parent().add_child(instance)

  • @Paulik76910
    @Paulik76910 4 месяца назад

    I did everything as in the video, but at 5:08 my pistol cartridges do not fly out

  • @bananabarddev
    @bananabarddev 5 месяцев назад +1

    I can't put the bullet speed to high, more than 40 and the bullets are not colliding, it probably has to do with the raycast not detecting the collision thanks to the speed?
    I would like the bullets to travel faster, so it's less time to make it to the enemies.
    If someone know what it could be, I would appreciate the help.

    • @revn45
      @revn45 3 месяца назад +1

      hey, i was having this problem and i could fixed it adding this line of code before the if on the raycast.is_colliding():
      it should look like this:
      raycast3D.force_raycast_update()
      if raycast3D.is_colliding():

    • @milchfunky
      @milchfunky 16 дней назад

      @@revn45 Thank you very much, had the problem that some of my bullets just didn't collide with the floor and that fixed it.

  • @salt2947
    @salt2947 9 месяцев назад

    How do you import the animations after you already have the character?

    • @legiongames2400
      @legiongames2400  9 месяцев назад

      You can copy the keyframes over if you import another character with the extra animations you want to add.

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

    I JUST NEED TO KNOW HOW TO MAKE THE BULLETS APEAR AND GO FOWARD

  • @ESousa-dn4vs
    @ESousa-dn4vs 3 месяца назад

    Can you do a tutorial of blood particles when you hit an enemy?

  • @bahtiyarozdere9303
    @bahtiyarozdere9303 9 месяцев назад

    May I ask where does the player scene come from? Many thx ❤

    • @legiongames2400
      @legiongames2400  9 месяцев назад

      I made a first person character controller tutorial, it's basically built on top of that.

  • @fockyutuub5193
    @fockyutuub5193 Год назад +4

    dude, like seriously, the eight guns thing makes this look like a mech game. and honestly, you would probably have a minor successful game if you make an 8 guns game where you can shift out each gun depending on their energy usage, size, weight and recoil for instance. Making it such that players have to make decisions on which guns to bring and so fort and each gun should obviously have a specific use such that it actually matters. then you can add on top of that mech parts like legs, reactor, shield and so on such that you have to balance your mech to support the guns. and then of course add tons of zombie mech enemies players can demolish for fun.

    • @legiongames2400
      @legiongames2400  Год назад

      I should be paying you that's a whole game right there LOL

  • @KopMike94
    @KopMike94 9 месяцев назад

    Is there an easy way to transform the keyboard and mouse input to a simple controller input script?

    • @legiongames2400
      @legiongames2400  8 месяцев назад +1

      Controllers are a little trickier with partial inputs on the different axis for walking, so it might be easier to write the controller script first and then transform that to support the keyboard.

    • @KopMike94
      @KopMike94 8 месяцев назад

      @@legiongames2400 cheers I will give that a try

  • @neptun3189
    @neptun3189 5 месяцев назад

    been trying to make a 3rd person shooter and its just not happening. not sure why, even with testing everything logically is there, but nothing works
    EDIT: after bouncing back and forth with a legend of a friend, i have concluded that you must not adjust the transform of your main root node. and also, printing positions of your instance and or players was a huge help in finding my issues
    example:
    print(position)
    print(instance.name)
    print(instance.position)
    print(instance.global_position)

  • @phuocthinhnguyen7282
    @phuocthinhnguyen7282 6 месяцев назад

    how to make artillery in godot plis help

  • @poper8960
    @poper8960 9 месяцев назад +1

    the engine is telling me that the function instantiate doesn't exist any idea how to fix it? because you're using it to spawn them in

    • @legiongames2400
      @legiongames2400  9 месяцев назад

      What version of Godot are you using?

    • @poper8960
      @poper8960 9 месяцев назад

      @@legiongames2400 at the @onready bullet I had put the wrong thing from resources after i copied the correct one in it worked

    • @BoiNatty
      @BoiNatty 8 месяцев назад +1

      I am using the latest and getting the same problem
      @@legiongames2400

    • @999dunkins
      @999dunkins 8 месяцев назад

      @@BoiNatty I hate it everytime Godot gives me an error just because I'm using a slightly newer version, all this error happening because of version difference, If you don't want error, you have to use EXACT same version as the version that the tutorial is using, so basically you need 5 months old version of Godot if you don't want any error, typical Godot problem, Godot keep change everything each version I hate them

  • @lukabrasi001
    @lukabrasi001 Год назад

    i mean, why not use the animation player to just queue_free the zombies? you can call methods from the tracks themselves, you just have to set the condition to play and save a few lines of code with no timers and anything

  • @HumanOddity69
    @HumanOddity69 Год назад

    Z is depth so doesn't it kind of track that it represents the objects distance from the screen instead of up and down like blender? In 2D Y is vertical and X is horizontal, converting to 3D is just adding the element of depth or Z. This is one of those things that should really be developed according to one standard just like introducing a system of measurement or adding right angles.

  • @memze1148
    @memze1148 9 дней назад

    why douse my bullets shoot horizontally?

  • @user-io5tl8jt6q
    @user-io5tl8jt6q 10 месяцев назад

    Can I do this on godot 3

  • @daniyarm2922
    @daniyarm2922 9 месяцев назад

    The vids are awesome. But next time please use simple assets

  • @fearmelolz1593
    @fearmelolz1593 11 месяцев назад

    For some reason, my bullets won’t spawn in when I try to shoot them and instead the game crashes?

    • @landozr2443
      @landozr2443 10 месяцев назад

      I'm having the exact same problem where I'm getting an error that says Invalid set index 'position' with value of type Vector3

    • @legiongames2400
      @legiongames2400  9 месяцев назад

      What error is it giving you?

    • @blakerau6167
      @blakerau6167 6 месяцев назад

      @@legiongames2400 hey, i know this is kind of a long shot, but i'll take a shot in the dark as i'm having the same issue. the original error i got was "Invalid set index 'position' (on base: Callable) with value of type 'Vector3.'" So, realising that position returns a Vector2 value I replaced both position and global position with .global_transform.origin, and now get the error code "Invalid get index 'global_transform' (on base: Callable)." Is there any way you could help me?

  • @dj-mk8342
    @dj-mk8342 Год назад

    Hey, if I have 1 spawner, how to make 1 zombie come out of it and not appear again?

    • @legiongames2400
      @legiongames2400  Год назад

      what do you mean by not appear again?

    • @StrangeStar141
      @StrangeStar141 Год назад

      ​@@legiongames2400 I think they mean that 1 spawner will only -spwan- spawn one zombie!

    • @dj-mk8342
      @dj-mk8342 Год назад

      @@StrangeStar141 yes

  • @NeverthelessXS
    @NeverthelessXS 6 месяцев назад

    dude pls help Im on an iMAC and I ran the project and the game is so laggy i could barely move the camera

    • @legiongames2400
      @legiongames2400  6 месяцев назад

      What kind of hardware do you have on it? Id say mess around with the shadow quality and maybe lower the resolution?

  • @FizzieFish.
    @FizzieFish. 5 месяцев назад

    Anyone know why the bullets are flying out of the floor of my map instead of the gun?

    • @yoitsmilotic
      @yoitsmilotic 5 месяцев назад

      I had the same problem but after messing around with the bullet code I figured out that the bullet will fly straight if you change the Y float to -SPEED instead of doing that to Z so in the code for the bullet under the _process func the floats should look like (0, -SPEED, 0) hope this helped

  • @leandoon2248
    @leandoon2248 3 месяца назад +1

    Why is it so blurry :(

  • @user-ts1uz1nq2l
    @user-ts1uz1nq2l 7 месяцев назад

    I'm getting this error, I've followed exactly and idk what went wrong Invalid call. Nonexistent function 'instantiate' in base 'GDScript'.

    • @patitoMenemista
      @patitoMenemista 7 месяцев назад

      have you found whats causing the problem? i ran into the same issue!

    • @user-ts1uz1nq2l
      @user-ts1uz1nq2l 7 месяцев назад

      @@patitoMenemista No sadly

    • @OugonGatekeeper
      @OugonGatekeeper 6 месяцев назад

      You didnt have it attached to the right kind of node

  • @RaidenShogun-kx5mm
    @RaidenShogun-kx5mm 3 месяца назад

    why does the instantiate function not exist for me?

    • @legiongames2400
      @legiongames2400  3 месяца назад

      If you're using an earlier version of Godot like 3.5 it used to be called "instance".

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

    bullets hits enemies but they dont die

  • @bongo6_462
    @bongo6_462 Год назад

    2:29 I can,t find the animationplayer in my list