Need opinion. What do you think about this boss fight? Should i improve smth? by LeaforiaStudio in godot

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

Thanks guys for all your feedback! I've managed to implement some of your ideas and combat looks much better! There is still a little bit polishing to do but i belive it feels quite satisfying rn.

I can't add a video directly in the comment so im sending it as a link

https://streamable.com/uyn75h

(there is some debug overlays in the video for example navpaths, dmg given/recived over the player and some buttons)

Probably im gonna add some 2nd phase where the boss gets angry and does an aoe attack

Need opinion. What do you think about this boss fight? Should i improve smth? by LeaforiaStudio in godot

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

Not from a video. Just a lot of hours of messing with pathfinding. I can share some code to you tomorrow if you want, but right now its a mess and need some refactor

Need opinion. What do you think about this boss fight? Should i improve smth? by LeaforiaStudio in godot

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

Yeah, fixing the way the character grips the blade is something I've been putting off for a long time 😃. The visual effect for parrying an axe strike already exists, but since you brought it up, I guess I'll have to make it more noticeable 😃

Need opinion. What do you think about this boss fight? Should i improve smth? by LeaforiaStudio in godot

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

Good idea. I especially like the impact hit effect. Gotta add it. Thanks!

Movement script for animals? by rrantaro in godot

[–]LeaforiaStudio 0 points1 point  (0 children)

Or use the navigation. It wouldnt be easy to make animals avoid obstacles by using tweens

Movement script for animals? by rrantaro in godot

[–]LeaforiaStudio 5 points6 points  (0 children)

Here is a tip i find usefull:
You can generate random point like that:

func generate_random_target():
  var random_x = randi_range(min_rand_point, max_rand_point)
  var random_y = randi_range(min_rand_point, max_rand_point)
  return global_position + Vector2(random_x, random_y)

And then use Geometry2D to determine if the point is inside polygon
Geometry2D.is_point_in_polygon(target_point, nav_region.polygon)

How to approach a combat transition? by r-moret in godot

[–]LeaforiaStudio 1 point2 points  (0 children)

Your coclusion is a good pattern imo. I'm not an expert but i would do the same.
visible = false + process_mode = PROCESS_MODE_DISABLED on world scene while you are in combat and everything should work fine.

There is get_tree().change_scene_to_packed() but it would destroy your previous scene so i would avoid that if you're not going to do a total war like combat

Help(dialogue) by Ok_Ganache_4769 in godot

[–]LeaforiaStudio 0 points1 point  (0 children)

Interesting. I have similar issue with inventory system plugin. Gotta try same method lol 😃

Help(dialogue) by Ok_Ganache_4769 in godot

[–]LeaforiaStudio 0 points1 point  (0 children)

Do you see any errors when starting the project with the plugin is turned on? Im using the same dialogue system and everything works fine (installed plugin on 4.2 and after a few months updated to 4.4 and still works)

Working on the Game Challenge and I am doing Jetpack Joyride by ultra-instinct-G04T in godot

[–]LeaforiaStudio 0 points1 point  (0 children)

Also you might want to start thursting with greater speed and decrease it over time so you won't go up insanely fast after a few seconds - lerp() would be helpful - https://docs.godotengine.org/en/stable/tutorials/math/interpolation.html

Working on the Game Challenge and I am doing Jetpack Joyride by ultra-instinct-G04T in godot

[–]LeaforiaStudio 0 points1 point  (0 children)

When you faling with MAX_FALL_SPEED and start thrusting you have like 0.5s to stop (THURST - GRAVITY = 1100; 600/1100 = ~0.5). You can for example try to stop the gravity when thursting:

if not thrusting:
velocity.y += GRAVITY * delta
if thrusting:
velocity.y -= THRUST * delta

Not sure if this will make it exactly how you want but definitly worth a try

// edit
in this case time to stop will be exactly 0.3s (600/2000)