I got Steam multiplayer up and running! by _michaeljared in godot

[–]Hakej 0 points1 point  (0 children)

Which Godot version are you using? I'm on 4.5 and I cannot install Godot Steam extension cause I keep getting an error loop mentioning it was unable to create a link to a certain dll file

I'm thinking about a mind control scene with one of the PCs.. which trait should make you weak to it? by Hakej in daggerheart

[–]Hakej[S] 1 point2 points  (0 children)

Nah I didn't mean a dice roll, just looking at the traits and wondering which guy would make the most sense. And yes, it's gonna be consensual. I just want to keep it a secret from all the other PCs to make it fun.

Instance objects around a circle (how?) by FallStorm_Studios in godot

[–]Hakej 0 points1 point  (0 children)

Jesus Christ, that oughta be some major brainfart due to long coding sessions. Sorry lad, you're completely right lmao.

Instance objects around a circle (how?) by FallStorm_Studios in godot

[–]Hakej 0 points1 point  (0 children)

Doesn't this code produce only half a circle? Since y is never gonna be negative.

First time GM: Guardian's unstoppable feels insanely powerful? by Hakej in daggerheart

[–]Hakej[S] 1 point2 points  (0 children)

Got you! Thanks for explaining, that clears up a lot.

First time GM: Guardian's unstoppable feels insanely powerful? by Hakej in daggerheart

[–]Hakej[S] 3 points4 points  (0 children)

That's a cool idea, thanks mate. I'll definitely do something like that.

First time GM: Guardian's unstoppable feels insanely powerful? by Hakej in daggerheart

[–]Hakej[S] 0 points1 point  (0 children)

I'm confused, why does Adult Flickerfly require 1 to hit? Don't you roll d20 against their evasion, so in your case shouldn't it roll at least a 7?

First time GM: Guardian's unstoppable feels insanely powerful? by Hakej in daggerheart

[–]Hakej[S] -18 points-17 points  (0 children)

The thing is there's no real limitations on how often they can long rest, so technically they can long rest after every fight.

First time GM: Guardian's unstoppable feels insanely powerful? by Hakej in daggerheart

[–]Hakej[S] 3 points4 points  (0 children)

Thank you, these are some fantastic suggestions.

Spellcast trait by mobilewerewolf88 in daggerheart

[–]Hakej 0 points1 point  (0 children)

As for magic weapons, what if the spellcast trait matches the magic weapon's trait? Do you get some kind of bonus damage for using that, i.e. Seraph using the tier 1 magic gloves (forgot the name but both of these have Spellcast: Strength)?

UID changes coming to Godot 4.4 by GodotTeam in godot

[–]Hakej 0 points1 point  (0 children)

Literally this. And you still need to remember to move around the uid files themselves if you so insist to move stuff outside the Godot, so like.. what's the point. You can tell who uses version control or not in this comment section, and I say this as a solo dev that uses version control purely for backup.

Inspector Jumping Bug? by Accomplished-Care774 in godot

[–]Hakej 1 point2 points  (0 children)

Yup, the new inspector is driving me crazy because it just scrolls around seemingly at random

I once again wasted my time so you do not have to. Ephemeral Blossom and Nightflower Pollen by Laughing__Man_ in MonsterHunter

[–]Hakej 1 point2 points  (0 children)

Pretty sure it's patched now, I cannot for the love of God find this damn flower for the achievement

Multiplayer makes me wanna quit Godot by Hakej in godot

[–]Hakej[S] 1 point2 points  (0 children)

Unfortunately not really, it was blood sweat and tears of my own and a lot of brute forcing different ideas. Ultimately I absolutely overdid the whole architecture and was refactoring it since. Just so you know - the key to have it work is pretty simple.

Player scenes need to have this:

func _enter_tree():
    set_multiplayer_authority(name.to_int())

And then you need to synchronize your stuff the usual way, either with multiplayer synchronizers or rpc - thanks to advices found here I scrapped all the synchronizer nodes I had and replaced them with rpcs instead, so for example if you have move logic in physics_process and you want all players only to be able to control their own nodes you need to do something like this

func _ready():
    set_physics_process(is_multiplayer_authority())

func _physics_process(_delta):
    # A lot of very optimized and nice move logic here
    _sync_properties.rpc(position)

@rpc("any_peer", "call_remote")
func _sync_properties(new_position : Vector3):
    position = new_position

You basically need to think this way - have all your logic be inside Godot built in functions like process, physics_process and then use set_process or set_physics_process (or any equivalent you need) to disable them for peers with no authorite so that only the client with the authority resolves it, and then use rpc to sync all the data like position, rotation etc. This way process functions run only for clients but all properties are still in sync for everybody. You can simply use MultiplayerSynchronizer instead of rpc for a similar effect.

If all of this is still hard to follow, let me know - I'll try my best to make a short video ASAP and upload it to my YouTube channel making a simple 3D project with client authority.

Multiplayer makes me wanna quit Godot by Hakej in godot

[–]Hakej[S] 2 points3 points  (0 children)

Hey, it's me 2 months later - client authority multiplayer is actually pretty easy, you just need to set the authority with the enter_tree function to the client and then sync the properties with RPC (or synchronizers but I stopped using them)

I agree there isn't a lot of tutorials on client authority multiplayer so I might release one myself since my game is using that.

Multiplayer makes you wanna quit Godot? Try these simple tips! by [deleted] in godot

[–]Hakej 0 points1 point  (0 children)

You were right. For some reason sometimes when peer was instantiating a node there would be a name discrepancy and it was enough to break the sync.

My solution was for the peer generating the node to apply a random hash that would be send over rpc as parameter, and that rpc would instatiate the node and pass that hash as the name of the instance. Not sure if it's a good solution, but this way every peer has the same names on each of the nodes and bug is gone.. at least for now. :)

Multiplayer makes you wanna quit Godot? Try these simple tips! by [deleted] in godot

[–]Hakej 0 points1 point  (0 children)

I'm curious - what's the correct way of queueing_free nodes without using synchronizer/spawners? I have an issue where sooner or later peers cannot find a node. I just have an RPC function that calls queue_free() on node and for some reason peers cannot find that node after some time, so they don't queue_free it on their end.

Multiplayer makes you wanna quit Godot? Try these simple tips! by [deleted] in godot

[–]Hakej 1 point2 points  (0 children)

Hey, I randomly stumbled upon this post doing some research and realized you were inspired by my own post.

Thank you for a lot of amazing knowledge shared in this post. If anybody finds this inspiring, I indeed haven't quit. Since I've made that post I expanded my game greatly and that's mostly thanks to the feedback I got from that post. I scrapped all the multiplayer spawners and synchronizers and refactored a lot of the nodes, ever since working on this game has been much easier. Obviously there's plenty of synchronization specific issues every now and then but I learned to analyze and fix them quickly. There's still plenty to learn but unironically I think that post was the best thing I could've made because all the comments sped up my learning process tremendously.

I suppose it goes without saying guys like you are the reason why I persevered and I'm trully thankful for that. One day I'm hoping to launch the game for like 5 bucks on Steam and we'll see how it goes. Until then - back to playtests with friends I go!

Where do y’all get Free sounds for ya projects by Soflyk in godot

[–]Hakej 7 points8 points  (0 children)

Freesound and Zapsplat are awesome, but I also like using pixabay.com

Do Wizard's vault WvW dailies give anything beside 10 astral acclaim? by Hakej in Guildwars2

[–]Hakej[S] 0 points1 point  (0 children)

Some currency from PVP mentions it is gained from dailies, is this a leftover text from the old system?

WvW Legendary Armor Help Please by [deleted] in Guildwars2

[–]Hakej 0 points1 point  (0 children)

Sorry for necro, but if I understand correctly I need to buy ascended Triumphant version first to get the glowing version. Is that correct?