No video

Godot 3.0: Top-down Tank Battle - Part 10: Homing Missiles

  Рет қаралды 10,927

KidsCanCode

KidsCanCode

Күн бұрын

Follow the written version of the series here:
kidscancode.org...
Code for this part can be downloaded here:
github.com/kid...
Art by Kenney: kenney.nl/asset...
Support me on Patreon: / kidscancode

Пікірлер: 71
@phantomito91
@phantomito91 3 жыл бұрын
Alright guys, the only new thing you have to do for the animation to work is: In the Particles2D node --> Go to the CanvasItem section --> Expand the Material Section and in the Material field add new CanvasItemMaterial --> Then click the word Canvas inside the box that previously stated null --> set particles_animation ON, set particles_anim_h_frames to 24. Then on the Particles2D section --> Expand Process Material and in the material field add new ParticlesMaterial. You can keep following the tutorial from there. Thanks to Jake and the other people that helped figuring it out.
@Bradleyarnup83840
@Bradleyarnup83840 2 жыл бұрын
Thank you so much!
@skyreyes8261
@skyreyes8261 Жыл бұрын
you're so good , thanks a lot
@giggleghost3751
@giggleghost3751 5 жыл бұрын
I am stuck on particle smoke trail. 9:20 I don't know how to make 24 animated frames in Godot 3.1. Even official documentation shows the old interface.
@giggleghost3751
@giggleghost3751 5 жыл бұрын
I ended up using only one frame of a puff of smoke as my trail. Didn't manage to make the thing animated, but this one puff still makes for a nice effect.
@waso
@waso 4 жыл бұрын
for godot 3.1 see github.com/godotengine/godot-docs/issues/2059
@jwhamrick
@jwhamrick 4 жыл бұрын
With 3.1 you have to create a CanvasItemMaterial in the CanvasItem -> Material section. Tick the Particles Animation box and then the H frames and V frames are now called Particles Anim H and Particles Anim V. You can get to the CanvasItemMaterial sub menu by clicking on the name in the Material box. Not the arrow on the right but the name CanvasItemMaterial. It is the same method to get to the submen of the ParticlesMaterial around 9:38 in the video. I Also created a new ParticlesMaterial in the Process Material -> Material section as well. hope this helps out and it is not too confusing.
@Slakimil
@Slakimil 4 жыл бұрын
@@jwhamrick THX
@jamesgrimwood1285
@jamesgrimwood1285 5 жыл бұрын
What's fun is to set the lifetime of the missle to be reasonably high, and the speed to be slow enough to escape. Then you can lead homing missles across the map and collide them into enemy tanks by getting out the way at the last second :)
@ok_danda
@ok_danda 6 жыл бұрын
I would love to see a tutorial about on-screen controls (for mobile games).
@xkenoma
@xkenoma 6 жыл бұрын
My approach on heatseeking missiles is that I just added an Area2D on the missile scene and let it detect targets on its own. I basically combined what u did on the enemy tanks with the bullet scenes.
@j.d.waterhouse4197
@j.d.waterhouse4197 6 жыл бұрын
Not to take anything away from Kenney, but I've been beefing up this and other games by downloading sprite sheets from pay-per-download sites. It's well worth a couple of bucks...and fun. Found a great site with very realistic top down tanks.
@russellchao2089
@russellchao2089 6 жыл бұрын
Hi KidsCanCode! I’m glad you’re back with another tutorial after like 2 months! In the next tutorials, if you can, can you please provide the art you show us in the video (ex: the missile trail animation art) in the description below? Thank you very much!
@Kidscancode
@Kidscancode 6 жыл бұрын
It's in the writeup linked in the description.
@integralyogin
@integralyogin 6 жыл бұрын
this series is looking really great!
@Kidscancode
@Kidscancode 6 жыл бұрын
Thanks!
@djiexn
@djiexn Жыл бұрын
for gravity and ScaleCurve Expand "'Process material'" and click on "'ParticlesMaterial...
@Liam-pf7ih
@Liam-pf7ih 6 жыл бұрын
Could you maybe do tutorial on an ingame level editor and so you can save it?
@BrownieX001
@BrownieX001 6 жыл бұрын
Do you know how many more parts this series will have? Is there another series you plan on doing that you are working on?
@Kidscancode
@Kidscancode 6 жыл бұрын
Not really - I'm just seeing where it's going. There's still a bunch of things to do: title screen, menu, pickups, levels, some sort of goal, possibly a shop for buying upgrades, etc. I do have some other things in the works. People really liked the splitscreen demo, so I will continue doing things like that. I also want to re-do the Godot 101 series for Godot 3, although I may leave that until 3.1 is released for compatibility.
@BrownieX001
@BrownieX001 6 жыл бұрын
KidsCanCode Can I ask for more coop multiplayer stuff but with focus on a specific platform like Nintendo switch? Would that be too specific for your channel? Great stuff. I haven't had a chance to catch up on the series in a while but plan to in September. Can't wait for all the stuff you have planned.
@Kidscancode
@Kidscancode 6 жыл бұрын
That's probably way too specific. Plus, unless you have a dev kit (many indie devs are on a wait list until mid-2019 to get one), you can't think about releasing on the platform for some time. In the meantime, if you use a game engine, you shouldn't have much trouble releasing your game on Switch in the future. TLDR: focus on learning to make games in general rather than a specific platform.
@BrownieX001
@BrownieX001 6 жыл бұрын
KidsCanCode I appreciate this.
@diegomata1062
@diegomata1062 2 жыл бұрын
im doing this project in 3.4 and every video a new kind of problem hehehehe it wont let me put target as an argument of shoot, what can i do?
@luisfernando_RS
@luisfernando_RS 5 жыл бұрын
Thank you for completing this project! I'm doing it in godot 3.1, and a problem has arisen, the particules2D have changed a bit, and in the inspector / texture property, I no longer have hframes !, I tried to do as an animationPlayer but it does not have the same effect. so I'm just using an explosion image to keep what's being done in the project. Have some solution to do this same effect in godot 3.1 or only in 3.0 itself! I hope it could have been clear English not of the best!
@maggoffm4647
@maggoffm4647 5 жыл бұрын
hey, in your Particle2D node under CanvasItem --> New CanvasItemMaterial
@luisfernando_RS
@luisfernando_RS 5 жыл бұрын
@@maggoffm4647 Okay, I'll try, tks!
@XenoFect
@XenoFect 5 жыл бұрын
@@maggoffm4647 Thank you!!!
@MattHuisman
@MattHuisman 6 жыл бұрын
Not 100% on how inheritance works in Godot. But could you have the steering code in the missile GD script instead of bullet? So, you would have as _process(delta) in missile. This does the seek etc, and then calls it's parent (bullet) _process?. Also, it could have a start() that overrides bullets start(), sets the target and calls parent start(). This way, you don't need the null (if target) behavior. All the steering / target is contained in the missile script. It also means you have some code in the missile GD script. And the tank creates a new Missile object (Instead of a Bullet with a target) In Python, it would look something like this: pastebin.com/7uD4xZCV Bullet has no-knowledge of seeking. If you plan on more seekable types, then you could have a seekable class (with above) that missile inherits from.
@jhonlock122
@jhonlock122 3 жыл бұрын
en la escena TankModel method explode() $collision.set_deferred("disabled", true), desactivar cuando ya no sea necesario
@diegomata1062
@diegomata1062 2 жыл бұрын
ok so another roadblock now when i died and if a bullet or missile kills me there is an error about invalid get index position (on base: previously freed instance)
@dancollinsdev
@dancollinsdev 2 жыл бұрын
You can use weak references to fix this issue. func _physics_process(delta): if target: var target_wref = weakref(target) if target_wref.get_ref() != null: acceleration += seek() velocity += acceleration * delta velocity = velocity.clamped(speed) rotation = velocity.angle() position += velocity * delta
@Tony-wu5ow
@Tony-wu5ow 4 жыл бұрын
You deleted the Lifetime timer variable for bullets in the script when you added the missiles, but your regular bullets still disappear after 0.5 seconds. How is that possible?
@Kidscancode
@Kidscancode 4 жыл бұрын
I just changed to using the Timer value directly.
@LarsZulfoDKJensen
@LarsZulfoDKJensen 3 жыл бұрын
Guys, I'm going crazy, and can't figure out what I am doing wrong. When trying to add the texture to the Particle2D, I don't get the V frams and H frames shown under the "Texture" in the inspector?! All I did was drag the smoke.png-file to the texture field of the particle - am I missing someone? I'm thinking about creating a new project, and just open the project from github for part 10, just to check what is differemt...
@LarsZulfoDKJensen
@LarsZulfoDKJensen 3 жыл бұрын
Okay, I got it solved - Godot changed the way texture animation is done with particles in Godot over the past two years, makes it kinda hard following these older tutorials :D But I am enjoying them tho! :D
@Brian-vs9sd
@Brian-vs9sd 6 жыл бұрын
Hi. This is a great series. One question. I noticed the book is no longer for sale. Will it be coming back online soon? Also, does it cover C#? If it doesn't, are you planning a future release that does?
@wasimkabir4398
@wasimkabir4398 6 жыл бұрын
I don't know what you're talking about but the book is available in packtpub: www.packtpub.com/game-development/godot-game-engine-projects
@Brian-vs9sd
@Brian-vs9sd 6 жыл бұрын
Wasim Kabir thanks. The link I had was from another video 3 weeks ago. www.amazon.com/dp/B079HZD1S7/ref=cm_sw_r_cp_ep_dp_rINrBbCFMR0ZQ
@Kidscancode
@Kidscancode 6 жыл бұрын
That link should still work too. In answer to your question, no, I don't have any plans to cover C# any time soon. It's not yet ready for everyday use, and even if/when it is, I'm not really a fan of the language.
@Brian-vs9sd
@Brian-vs9sd 6 жыл бұрын
KidsCanCode hi. When I click the amazon link it says "This title is not available for purchase". I am happy to use the other link however as I believe your work is fantastic and I do want to support it. I am happy to convert the code to C# if it helps to increase the user base of Godot. Just noticed that it is available for me on Amazon in paperback only, not the Kindle version. (Edit) sorry for the confusion, I am assuming it is because I used the US Amazon site, because when I went to the Australian site it was available to me as a Kindle download.
@yasinalptekin7257
@yasinalptekin7257 6 жыл бұрын
Thank you for the tutorial! It really helped me a lot learning godot and game logic. Can you make another tutorial about exporting project to android? I am in trouble with it. I don't know anything debug keystore etc. and when I export it android just says: 'app is not installed' :D
@Kidscancode
@Kidscancode 6 жыл бұрын
See here: docs.godotengine.org/en/latest/getting_started/step_by_step/exporting.html
@shuffled4880
@shuffled4880 5 жыл бұрын
I have a question, how do you make the player shoot homing missiles? I want to make different types of ammo the player can shoot. How can I achieve this?
@Kidscancode
@Kidscancode 5 жыл бұрын
It's the same. Assign the homing missile as the player's bullet instead of the regular one.
@mouadhachemi8051
@mouadhachemi8051 4 жыл бұрын
Sorry for this question (I'm bad at math) but i didn't understand how this formula works : var a = -spread + i * (2*spread)/(num-1) can you explain it more ?
@Kidscancode
@Kidscancode 4 жыл бұрын
It's basically dividing the spread arc by the number of bullets and then adding that angle amount each time so that each bullet will be fired at a different angle. Step through it yourself - plug in the values for i = 0, 1, 2, ...
@mouadhachemi8051
@mouadhachemi8051 4 жыл бұрын
@@Kidscancode so that's it, Thanks for the clarification
@RaoulDuke606
@RaoulDuke606 5 жыл бұрын
Thank you for your tutorial. But I have a problem. When I add the trail, there are all 24 frames behind the missile but not overlayed rather then side by side. What can I do to change this?
@Kidscancode
@Kidscancode 5 жыл бұрын
In the Textures section you need to set the HFrames to 24. See kzbin.info/www/bejne/gXK4gWekoa-ssJI
@RaoulDuke606
@RaoulDuke606 5 жыл бұрын
@@Kidscancode Thank you but the problem is that in the Version 3.1.1 of Godot there is no option Hframes in Textures, just "Texture" and "Normal Map". I can´t find HFrames anywhere else :(
@RaoulDuke606
@RaoulDuke606 5 жыл бұрын
@@Kidscancode Ok found it. Its now under CanvasItemMaterial!
@j.d.waterhouse4197
@j.d.waterhouse4197 6 жыл бұрын
Are you ever going to do a tutorial on how to compile your game and turn it into an executable file so you can share it on social media, is it possible to do this? Or, did you already make one and I missed it?
@Kidscancode
@Kidscancode 6 жыл бұрын
I did one for the official docs: docs.godotengine.org/en/latest/getting_started/step_by_step/exporting.html
@j.d.waterhouse4197
@j.d.waterhouse4197 6 жыл бұрын
Thanks!
@h.huseyincihangir6366
@h.huseyincihangir6366 6 жыл бұрын
Thanks for all the tutorials. Can you convert this game to multiplayer at the end?
@Kidscancode
@Kidscancode 6 жыл бұрын
It's possible, although I can't promise anything at this stage.
@h.huseyincihangir6366
@h.huseyincihangir6366 6 жыл бұрын
Thanks for answer.
@jovialgames
@jovialgames 6 жыл бұрын
Hello! There are some interesting bugs I've encountered. The bullets do an interesting wobble when they head towards the target and the game crashes after the tank explodes with the error Invalid get index 'position' (on base: 'previously freed instance'). I think this happens cuz the bullets no longer have a target when the target gets queue freed
@Kidscancode
@Kidscancode 6 жыл бұрын
I'm not seeing any wobble like you're describing. As for the crash, are you using `queue_free` on the player? In my project, I'm reloading the scene when the player dies, since we haven't created a game over screen yet.
@jovialgames
@jovialgames 6 жыл бұрын
Oh I must've missed that part in the last video. I managed to solve the wobble. If I made the steerforce above 1 it will do that wobble when moving towards the target, but if its less than one it doesn't. But here's an interesting problem. After the explode function is called for the missile won't stay in place. Here's a gif showing what I mean gph.is/2L1IU0p
@Kidscancode
@Kidscancode 6 жыл бұрын
In the bullet's explode() function, set velocity = Vector2()
@jovialgames
@jovialgames 6 жыл бұрын
Yea I made sure the velocity was set to that. It actually only happens to the missile not the regular bullet
@Kidscancode
@Kidscancode 6 жыл бұрын
Oh, I see - I thought you were talking about the bullets too. Do you also have "set_process(false)" there? That will cause the "seeking" to stop happening during the explosion.
@clivejimenez7596
@clivejimenez7596 5 жыл бұрын
The Particles2D is a bit different in 3.1, but the Godot online documentation is excellent, I just followed the tutorial (docs.godotengine.org/en/3.1/tutorials/2d/particle_systems_2d.html). This has been a fun and very interesting series. I've been using it to try and get my son interested in programming. I big thanks, I know these can be very time consuming to create.
@skyreyes8261
@skyreyes8261 Жыл бұрын
anong klaseng tutorial to? di ba pwdeng step by step
@johncrisgonzales1164
@johncrisgonzales1164 6 ай бұрын
tanga mo naman
Godot 3.0: Top-down Tank Battle - Part 11: Pickups
13:32
KidsCanCode
Рет қаралды 8 М.
Godot Recipe: 3D Arcade-style Car (with a sphere)
15:29
KidsCanCode
Рет қаралды 42 М.
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 7 МЛН
Nurse's Mission: Bringing Joy to Young Lives #shorts
00:17
Fabiosa Stories
Рет қаралды 14 МЛН
Just Give me my Money!
00:18
GL Show Russian
Рет қаралды 974 М.
Godot Recipe: Arcade-style 3D Spaceship
12:12
KidsCanCode
Рет қаралды 17 М.
Godot 3.0: Top-down Tank Battle - Part 4
17:45
KidsCanCode
Рет қаралды 35 М.
Godot 3.0: Top-down Tank Battle - Part 2
15:11
KidsCanCode
Рет қаралды 35 М.
Godot 3.0: Top-down Tank Battle - Part 7
15:02
KidsCanCode
Рет қаралды 12 М.
Godot 3.0: Splitscreen Multiplayer
15:46
KidsCanCode
Рет қаралды 24 М.
Godot 3.0 - Know Your Nodes: Particles2D
18:14
KidsCanCode
Рет қаралды 86 М.
Godot 3.0: Top-down Tank Battle - Part 6
16:34
KidsCanCode
Рет қаралды 15 М.
Godot 4: Character to Rigid Body Interaction
4:39
KidsCanCode
Рет қаралды 33 М.
Procedural Content Generation in Godot Part 2: Using Mazes
19:03
KidsCanCode
Рет қаралды 15 М.
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 7 МЛН