- 42
- 58 617
helewrer3
India
Приєднався 21 бер 2012
Hi, I'm bored and I make videos.
Godot Multiplayer Game Showcase | Devlog Out Next Week
This is a small demo of a multiplayer game I made using Godot as the client and ASP.NET as the server.
Here, we have three instances of the client running, each representing one of these characters. Let’s focus on this client, which controls the warrior child. The state of this character is replicated across the other clients via the server, which I’ll show after this demo.
As you can see, all of our movements and attack animations are synchronized with the other clients.
Similarly, this top-right client controls the warrior guy, and finally, the bottom one controls the wizard.
The communication between the server and the client happens via WebSocket. Speaking of the client, how it works in Godot is that we first open a WebSocket peer to the server’s URL and poll the connection in every frame.
In each frame, we send the server our player’s state-its position, current animation, etc. After that, we check for any incoming messages from the server. If a message is received, it contains the data of each of the other characters that are part of our WebSocket cluster.
Once received, we compare this data with our local characters that proxy these other players. If it’s the first time we’re receiving a specific player’s data, we spawn a new instance of a character to proxy that player. After that, we simply sync the remote player’s state with our local one.
On the server side, it’s a small server made using the ASP.NET framework. This acts as a lightweight WebSocket server that relays every incoming message from a client (i.e., the player’s data) to all the other clients online.
With this setup, our game is complete and quite responsive, to say the least. Again, a detailed video is coming soon-this was just a quick, hand-wavey overview of everything involved.
Stay tuned for that, and in the meantime, why don’t you check out some of my other devlogs and tutorials right here? They’re pretty interesting, I swear!
Until then, good luck, and don’t forget to subscribe. Bye-bye!
Tags -
#godot #godot4 #gamedevelopment #gamedev #indiegamedevelopment #godotmultiplayer #multiplayergame #2dgame #respawn #pvp #health #animations #gamedevelopment #2dmultiplayer #godotstartertemplate #godottips #gametech #gamedev #indiedev #multiplayer #network #godotengine #brackeys #batteryaciddev
Here, we have three instances of the client running, each representing one of these characters. Let’s focus on this client, which controls the warrior child. The state of this character is replicated across the other clients via the server, which I’ll show after this demo.
As you can see, all of our movements and attack animations are synchronized with the other clients.
Similarly, this top-right client controls the warrior guy, and finally, the bottom one controls the wizard.
The communication between the server and the client happens via WebSocket. Speaking of the client, how it works in Godot is that we first open a WebSocket peer to the server’s URL and poll the connection in every frame.
In each frame, we send the server our player’s state-its position, current animation, etc. After that, we check for any incoming messages from the server. If a message is received, it contains the data of each of the other characters that are part of our WebSocket cluster.
Once received, we compare this data with our local characters that proxy these other players. If it’s the first time we’re receiving a specific player’s data, we spawn a new instance of a character to proxy that player. After that, we simply sync the remote player’s state with our local one.
On the server side, it’s a small server made using the ASP.NET framework. This acts as a lightweight WebSocket server that relays every incoming message from a client (i.e., the player’s data) to all the other clients online.
With this setup, our game is complete and quite responsive, to say the least. Again, a detailed video is coming soon-this was just a quick, hand-wavey overview of everything involved.
Stay tuned for that, and in the meantime, why don’t you check out some of my other devlogs and tutorials right here? They’re pretty interesting, I swear!
Until then, good luck, and don’t forget to subscribe. Bye-bye!
Tags -
#godot #godot4 #gamedevelopment #gamedev #indiegamedevelopment #godotmultiplayer #multiplayergame #2dgame #respawn #pvp #health #animations #gamedevelopment #2dmultiplayer #godotstartertemplate #godottips #gametech #gamedev #indiedev #multiplayer #network #godotengine #brackeys #batteryaciddev
Переглядів: 59
Відео
How I Made My FIRST HORROR GAME In One Week Using Godot
Переглядів 1,3 тис.16 годин тому
In this video I remake my 5 year old arcade game into a horror game under a week using Godot and Blender. The video first starts by describing my old arcade game, then why I decided to remake it, and ultimately why into a horror game? Along the process I learn a lot about what goes into making a horror game in Godot, from game design to handling the atmosphere of the game. I was also able to le...
MY FIRST HORROR GAME! | Devlog Out Next Week
Переглядів 87День тому
Game Link - helewrer3.itch.io/planet-panthers-butler-deluxe Game showcase of my first horror game, took me longer time than expected. Expect a full devlog soon.
I Made a Game on My PHONE in 1 HOUR Was It a Mistake?
Переглядів 44021 день тому
As mentioned in my previous video, I am still out in the boonies, meaning that I have no reliable computer to make games. so? why not make it on a mobile? Color me surprised when i found Godot actually exists as an app on andoid. So, why not make a game. How hard can it be? #godot #unitydev #gamedevelopment #godot3d #3dgames #indiegamedevelopment
I ONLY HAVE 2 HOURS TO MAKE THIS GAME!
Переглядів 53828 днів тому
It’s 1 in the night, and I need to board a flight at 4. Considering that it takes me 1 hour to reach to the airport from home, I only have 2 hours to make this game. #godot #unitydev #gamedevelopment #godot3d #3dgames #indiegamedevelopment
How To Make a 3D FPS GAME In Godot! [Complete Course]
Переглядів 589Місяць тому
In this video I tell how to make a doom-like retro 3D FPS game using Godot 4.3. Chapters - TBD Game We Will Be Making GoDoom [Web Playable] - helewrer3.itch.io/godoom Starter Project [For Part 2, 3, 4] Part 2 - drive.google.com/file/d/1NUFf29H2O1j-yRW7RRGM2PprnVkSVKSU/view?usp=sharing Part 3 - drive.google.com/file/d/1vdIvAPXyqCa0Rz4p8gQtQopTTg4h-BHu/view?usp=sharing Part 4 - drive.google.com/f...
How To Make FPS Enemy AI in Godot Part 2 | 3D FPS Tutorial
Переглядів 339Місяць тому
In this video, we will complete our enemy AI by writing its attack and pain state, and thereby ending this tutorial series. I will be a little fast in this video, as this part is just a extended implementation of the stuff we have already covered in part 3 and part 4. So, if you haven't watched them, I would recommend you to give them a go. GoDoom [Web Playable] - helewrer3.itch.io/godoom Times...
How To Make FPS Enemy AI in Godot | 3D FPS Tutorial
Переглядів 597Місяць тому
In this video we will be making Enemy AI for our 3D FPS. We will start from the basics of state & state machine, cover the states our enemy will be in and code in the idle and chase state of our enemy. Starter Project - drive.google.com/file/d/1-fX1MkLyKSHNPY673vjcToJ7STEZsWOW/view?usp=sharing GoDoom [Web Playable] - helewrer3.itch.io/godoom Timestamps - 0:00 Topics Covered 0:55 What is a state...
Gun Shooting Mechanics in Godot You MUST Know | 3D FPS Tutorial
Переглядів 4582 місяці тому
Making a Hitscan shooting mechanic In Godot; third part of my FPS tutorial series. Starter Project - drive.google.com/file/d/1vdIvAPXyqCa0Rz4p8gQtQopTTg4h-BHu/view?usp=sharing GoDoom [Web Playable] - helewrer3.itch.io/godoom Music Credits - 1. Poke & Chill by Mikel - vgm.fm/pokechill Sprite Credits - id Software, JoeyTD, Minigunner, That_One_Doom_Mod, Harry Teasley, PGE, Agaures (aka Krumzy), C...
LEVEL DESIGN Secret NO ONE Tells You About!
Переглядів 4502 місяці тому
Over this past week I have been hard at research on finding The Secret to making great levels, and I think I have found not only the secret, but also 3 examples to showcase it and maybe a bonus tip at the end). So that your game can be the star of GMTK’s next video essay. Tags - #godot #godotengine #godot4 #unitygamedevelopment #unity3d #gamedev #devlog #gamedevelopment #3d #indiegame #indiegam...
How To Make a FPS Character Controller in Godot | 3D FPS Tutorial
Переглядів 3712 місяці тому
Making a FPS Player Controller In Godot; second part of my FPS tutorial series. Starter Project - drive.google.com/file/d/1NUFf29H2O1j-yRW7RRGM2PprnVkSVKSU/view?usp=sharing Chapters - 0:00 Problems We Are Solving 0:16 Boilerplate Project 0:29 Creating Player Script 0:35 Player Controller Theory 0:45 Rotating Player With Mouse 1:51 Basic Movement Script 4:00 Advanced Movement Script Sprites by J...
My 6 Month Journey as an Indie Game Developer
Переглядів 1,3 тис.2 місяці тому
My 6 Month Journey as an Indie Game Developer
How To Make a 3D FPS in Godot | Getting Started
Переглядів 1,2 тис.3 місяці тому
How To Make a 3D FPS in Godot | Getting Started
I Spent 7 Days Making a Top-Down Action Game and Here's What Happened
Переглядів 5673 місяці тому
I Spent 7 Days Making a Top-Down Action Game and Here's What Happened
How To Make a FIGHTING GAME In Godot! [Complete Course]
Переглядів 15 тис.3 місяці тому
How To Make a FIGHTING GAME In Godot! [Complete Course]
How To Deal Damage & Knock-back | Godot FIGHTING GAME Tutorial
Переглядів 1,3 тис.3 місяці тому
How To Deal Damage & Knock-back | Godot FIGHTING GAME Tutorial
How To Make THE PERFECT ATTACK! | Godot FIGHTING GAME Tutorial
Переглядів 1,2 тис.3 місяці тому
How To Make THE PERFECT ATTACK! | Godot FIGHTING GAME Tutorial
Variable Jump Height | GODOT FIGHTING GAME Tutorial | Part 3
Переглядів 5913 місяці тому
Variable Jump Height | GODOT FIGHTING GAME Tutorial | Part 3
Moving The Player | GODOT FIGHTING GAME Tutorial | Part 2
Переглядів 1 тис.4 місяці тому
Moving The Player | GODOT FIGHTING GAME Tutorial | Part 2
Godot FIGHTING GAME Tutorial | Getting Started & State Machine
Переглядів 2,9 тис.4 місяці тому
Godot FIGHTING GAME Tutorial | Getting Started & State Machine
Remaking LEGACY OF GOKU in 3D || Devlog out next week
Переглядів 1664 місяці тому
Remaking LEGACY OF GOKU in 3D || Devlog out next week
How I Made My First 3D FIGHTING GAME in GODOT & Blender
Переглядів 3,8 тис.4 місяці тому
How I Made My First 3D FIGHTING GAME in GODOT & Blender
How To Make a GRAPPLING HOOK in GODOT 3D
Переглядів 1,4 тис.5 місяців тому
How To Make a GRAPPLING HOOK in GODOT 3D
How I Made MY FIRST 3D Game Using Godot | GoDoom
Переглядів 1,9 тис.5 місяців тому
How I Made MY FIRST 3D Game Using Godot | GoDoom
GoDoom - Doom-like 3D Game Made Using Godot || Devlog out Now!
Переглядів 1,2 тис.5 місяців тому
GoDoom - Doom-like 3D Game Made Using Godot || Devlog out Now!
Godot Developer Creates Most Frustrating Game EVER in 7 DAYS
Переглядів 776 місяців тому
Godot Developer Creates Most Frustrating Game EVER in 7 DAYS
How I Made My First Fighting Game Using Godot In 7 Days
Переглядів 13 тис.7 місяців тому
How I Made My First Fighting Game Using Godot In 7 Days
How to Fight a Dragon With a Grappling Hook || I Made A Game In A Week #6
Переглядів 3037 місяців тому
How to Fight a Dragon With a Grappling Hook || I Made A Game In A Week #6
I Made Binding Of Isaac, but in a week || I Made A Game In A Week #5
Переглядів 2718 місяців тому
I Made Binding Of Isaac, but in a week || I Made A Game In A Week #5
Literally just as I’m studying Godot
Aren't we all?
Very useful...will wait for the devlog. I am not that good at coding so a code walkthrough really helps.
Sure, I do plan to keep the devlog technical, hopefully that serves your purpose.
@@helewrer3 yeah! that'll be great 😊
this is so useful
Glad you liked it, stick around for the full devlog!
but in all honesty, very solid game! good job! The best way to visualize progress is to remake old projects and i can tell you've made great progress!! Keep up the great work and I'm very excited to see what you will do in the future 😁 enjoy the ride!
Thanks for the kind words, I do have a lot of projects in my mind going forward, be sure to stick around for the ride!
Don't mind me, i'm just flashing foxy 😏
You are not the only one 😏
too fast, I cant understand nothing that is happening, I have to stop every second, and cant understand half of the things that you are saying
Sorry, this critique is duly noted and I have tried to fix that for newer tutorials - Making an FPS Game In Godot, it has considerably less cuts and more 'live' coding video type feel. Maybe you might want to check that out.
Your video is so good bro, Fact:"No matter how good me are, there is always some Indian who is better than me''
Thank you for liking the video, don't know whether the fact applies for me but I sure do know a lot of Indians better than me 😅
Huga buga 🦍
Huga huga buga 🦍🦍
why does bro talk like that 😭 anyways great vid
What do I talk like 🥹?
Hello Dutchman. This world is small indeed.
HE POSTED 🔥🔥🔥🔥🔥🔥
YOU WATCHED🔥🔥🔥🔥🔥🔥
thank you for sharing your journey so far it inspires me to start my own so thank you for making this video and everything else that you've created.
Thank you so much for writing this lovely comment.
The menu you brought up at 8:17 what exactly was that and how do I find it? Thank you!
Ah the group editor tab, Godot slightly changed that with its later version - 4.3 onwards and made it into "Global Group" tab instead, here is the documentation link for it - docs.godotengine.org/en/stable/tutorials/scripting/groups.html Give it a read, you should be able to understand it, if not just drop your query here.
This is too fast, I can't keep up with half of the steps. If someone is already familiar with using GODOT, then they would understand but there are so many cuts and I'm just left guessing what to do next or how to do it.
Yes sorry, I made this with an idea of someone being somewhat familiar with the flow of the engine. I do have a more beginner oriented tutorial though, its for making FPS games, maybe you might want to check that out - ua-cam.com/video/RjLSpeUBIJU/v-deo.html
Love it. Would love to see a 8 directional system though❤
Sure so you mean like a top-down game?
Waffles are terrifying!! Hehe. Make sure the game is not too dark~ (I hear that complaint a lot with horror games)
I totally hear you on the 'too dark' complaint - it's a fine balance. I made sure this game isn't too dark so you can enjoy the atmosphere without straining your eyes (gamma to the rescue here) all the while not deterring away from the "horror" in the horror game.
Bro bro slow down bro slow down
Sorry if I was a little fast, i ran over some basic stuff in the tutorial. I have tackled this issue in my latest tutorial series of making a FPS game, maybe you would want to check that out in the channel!
@@helewrer3 nah,no problem bro I just jonking
hello
Hello
Thank you ♥ Can you make a tutorial series on how to make a platform fighter game?
You mean something like smash bros / brawlhalla? I can, in layman terms it's a mix of fighting and platforming games, but it will only after I make a decent enough platformer game to get my basics right. Stay tuned for that!
So you mention not getting Qodot working, and i had the same issue. The developers made a new plug-in for Godot 4 called func_godot. If youre interested in Trenchbroom level making, maybe check it out.
Thx for the video. But I have one issue that no fighting games related tutorials is addressing and still can't think of a solution for months now. It is about resolving the Pushbox physics if my player jumps on top of the opponent. I wish to resolve it to the ground without landing on top of the opponent, and I also wish to check in case if this situation happens when the opponent is standing right beside a wall and the player jumps onto the opponent. I want it to land behind the opponent and this will push the opponent away from the wall.
Ah you mean pushback physics, I have actually implemented them in my games, hmm, wonder why I didn't show it here now that I think about it. Anyway, for this just get the direction of the damage that is being applied to you - [attacking_hitbox.position - your_position], this will give you the direction vector of the attack. Just apply a force on to you in this direction during the time of taking damage to give yourself the" push back" effect. Regarding being reflected from the wall, well - docs.godotengine.org/en/stable/classes/class_characterbody2d.html#class-characterbody2d-method-is-on-wall Is your friend, if this is true while there is still force on you, just reverse the direction.
Absolutely hillarious😂😂 (I did godot on phone can understand)
Huga buga 🦍
Huga Buga 🦍🦍
I always get inspired by people who do this It's amazing That's why I picked computer science
i have issue: the process_input part of the jump state simply does not work, please respond and thank you.
this causes the player to simply ascend
Uhh how does it not work? Have you mapped the states correctly in the editor? Can you be a little more descriptive
Can you make a video about beat em up styled maps, how to scale them in parallel to the character?
Can you elaborate a little, did not understand the last part of the question
Crazy skills dude
This helped me make my new game i'm working on where you can play as different characters from games and shows. Thank you!
That is awesome to hear! Hope you enjoyed the series, feel free to check out my other content as well.
I enjoy the tutorial but some things seemed to be glossed over a lightening speed. For example the animation or even what nodes you are using for scene setup.
Yeah, I glossed over some topics, that I thought were basics (simple documentation searches), so skipped over them to cover the more important stuff.
hello
Hello
Dont Worry i got you guys func make_rope() -> void: rope_node.look_at(hook_node.global_position) rope_model_node.height = (hook_node.global_position - head_node.global_position).length() rope_model_node.set_deferred("global_position", rope_node.global_position - rope_node.global_basis.z * (rope_model_node.height / 2.0)) func hook_pull() -> void: var pull_force_modifier: float = (hook_node.global_position - head_node.global_position).length() if is_hooked: var pull_force: Vector3 = pull_force_modifier * (hook_node.global_position - head_node.global_position).normalized() velocity += pull_force * Vector3(1, 1, 1) make_rope() func shoot(delta: float) -> void: if Input.is_action_just_pressed("Shoot"): shoot_dir = (aim_node.global_position - head_node.global_position).normalized() head_node.remove_child(hook_node) get_tree().get_root().add_child(hook_node) hook_node.global_position = head_node.global_position rope_model_node.visible = true elif Input.is_action_pressed("Shoot") and !is_hooked: head_node.global_position += shoot_dir * delta * HOOK_SPEED make_rope() elif Input.is_action_just_released("Shoot"): get_tree().get_root().remove_child(hook_node) head_node.add_child(hook_node) hook_node.position = Vector3.ZERO rope_model_node.visible = false
It's funny how you taught how to make our player, but didn't teach how to make the enemies!
That is just the same as making the player, create an enemy and then its various enemy states (I have made the tut for state and state machines). This tutorial was only focused on the hit/hurt box aspect of damage calculation.
I would like to know where the group editor is and HOW I use it
docs.godotengine.org/en/stable/tutorials/scripting/groups.html
I think if we are using the newer version of GODOT the group editor was changed somewhat. The video is based on 4.2 and the newest version (4.3 as I write this) is different.
Thanks ❤🎉
tilemaps deprecated
Yes, we have the tile layer node now, 4.3 came right after I uploaded this tutorial 🫠 Although it should be the same fundamentally
@@helewrer3 well, im a intermediate beginner and i could be wrong but the physics tab in the inspector only prompts: Collision enable/disable, Use kinetic bodies, and collision visibility mode.
In conclusion, I dont see a physics layer in the inspector tab, only a physics
I've been wondering how you got multiplayer working in the full game. I've been trying to implement it by having a PlayerControls resource in the Player script. This resource has a keymap like P1_Left, P1_Punch, etc. The problem is that when I try to reference that information in PlayerState classes there's null pointer problems. So I was wondering how you implemented it.
Oh that, I think you might want to edit your keybindings, P1_LEFT etc actually refer to the name of the custom keybindings I did. You can refer to it more here (only the first part is important) - www.gotut.net/custom-key-bindings-in-godot-4/ Was I able to answer your query?
love beat em up in Godot
Them cheeks
That's it, my man posted a video 💌
Good video! One note I will add though is that most of the code is sometimes covered by Pngs or cut off by transitions.
Yes, noticed that too, have tried not to do it in my newer tutorials and just keep the code screen blank from any additional media elements
There is no tutorial in the description?
It is pinned just above the short title; here is the link - ua-cam.com/video/nYEP7cMrCtI/v-deo.html
Im 36 seconds of the video and already love u man, I know this video is gonna be great!
just started programming this year, been working on a fighting game as my first game
i don't even make a fighting game, but this tutorial helps me soooo much! as always, indian tutorial is always the best, great work <3
Glad it helped!
hi there, I've broken it again. I think what is happening is it's exiting the jump state straight away, as such it's basically not jumping. I changed the jump force to -300 and it does gain altitude, but the jump animation still doesn't play.
oddly it animates fine from the walk state, but completely fails from the idle state
Have you mapped the states correctly from idle state? In the editor
@@helewrer3 found it! it was exiting into idle from jump if there was x movement
Huga buga 🦍
Great tutorial! There were a couple gaps that encourage self learning, such as new grouping if you're using Godot V. 4.3, but over all thorough and efficient! There were some points where I wished you still showed the whole screen instead of cropping so I could see which script you were working on for easier comparison. Will be following the rest of the series to help make my first game!
Thank you! The series is complete you can check out the rest via the fighting game tutorial playlist. Regarding the full-view, yes I have incorporated that in my newer tuts.
@@helewrer3 I am getting a new error: "Invalid access to property or key 'animation' on a base object of type 'CharacterBody2D (Player)' " Do you have any advice? I tried a different method of character movement, but it did not have enough for my project needs. Now coming back to this video, I do it over again and get this error. This is my third "start over from scratch" Thanks for any advice you may have.
Nevermind, I solved. After retrying many times ( your method and others' methods) and in my frustration I looked over a small typo. I am now back to a point where I can move on to part 2 of this series. Thank you....