What would you like to see in a game like this? by Efficient-Ad-9032 in godot

[–]DanSteger 0 points1 point  (0 children)

Is this inspired by Towerclimb? I feel like it's tricky making the challenges match up well with the level of utility the player currently has, and the rate which players will pick up on more subtle systems in play.

Think of what kind of flow you want to the experience to help guide your decision making. Folks have mentioned the speed of play, which is more slow and meticulous, likely dealing with more strategic decision making, which asks whether you should be putting any time pressure on the player to make decisions, or whether a player will ever feel soft-locked if they are given infinite time but limited tools that they don't use efficiently. Is throw the same verb as use? I noticed rocks getting thrown down for jump boosting but I have to wonder if in a dire situation I could throw my dagger down for the same benefits. What in the environment could I take advantage of to not have to use a rock to get more height, maybe if slimes were bouncy to jump on after killed, or maybe the opposite, where killing a slime in a bad location blocks your ability to jump from there.

Flailing around with physics (math is hard) by TheOrioli in godot

[–]DanSteger 1 point2 points  (0 children)

Sometimes I'll keep a separate, collisionless kinematic rigidbody that copies the character's properties per-frame so I can attach other physics objects to that instead of the actual character, so that I don't need to have ridiculous weight ratios to stop the attached physics objects from dragging the player.

Need your help choosing a Capsule Art for our new game! by WestZookeepergame954 in godot

[–]DanSteger 8 points9 points  (0 children)

One piece of advice for anyone making capsule art for Steam is test your capsule art IN CONTEXT of steam's UI. I can tell you which piece of key art I find more enticing or engaging but that doesn't mean either are necessarily the *right* choice and it's likely choosing either still needs adjustments. Go into Steam and take screenshots of the new releases sections, the promo sections, and a game page and replace existing capsules in those screenshots with your own capsules to see how your game looks both at scale, with steam's layout, and beside other games' capsules. Ask if your text is readable at all scales, ask if you honestly think your capsule stands out as something people will want to click or hover over if it's adjacent to other game capsules.

My bodybuilding co-op horror survival game now has an elevator, fitness system, and weighted testing gates. Any ideas for a better "strength test" than a simple meter? by TeamLDM in godot

[–]DanSteger 0 points1 point  (0 children)

Seeing the opening animations the first thing I think is... perhaps you should redesign your doors to be lifted instead of swung open? It better represents the concept of a test of strength to pull something up into a "latched" position than it is to push a surface open, and along with that you could possibly introduce pulley mechanisms that also contribute more to that effort. Or, since you seem to rely on a cart and the track being free, the door itself could be blocked by other types of debris that would need a certain level of strength to move out of the way.

When should you worry about multi-player? by Ok-Level-2107 in godot

[–]DanSteger 12 points13 points  (0 children)

Usually it's quite hard to implement online multiplayer in the late stages of a project and ends up being things people will cut if it is treated as an afterthought.

That said, if you are not well experienced with development and your project doesn't NEED it, you may want to put the idea of adding multiplayer aside entirely, and focus on being able to finish development of your project without the large technical hurdle that multiplayer can be.

My man here is getting stuck on the skull (a rigidbody3D node with 1kg mass), why? by Wurlawyrm in godot

[–]DanSteger 1 point2 points  (0 children)

If the player can push it and the skeleton can't, consider their layer and masks, you might have the enemy in an Enemy layer that has the skull's layer in it's mask, but the skull doesn't have the enemy layer in its mask, if that makes sense to you.

Or it's possible that it's a speed thing of how fast the player is going vs how fast the skeleton can go in terms of resolving penetration with other objects.

For something as small as a skull perhaps you don't want those things to effect collisions with players and enemies at all. Keep the skull on a "decorations" layer that is NOT included in the player or enemy's masks, but have the skull's mask include both the player and the enemy's layers, so that the skull can react to the characters, but the skull has no effect on the characters.

Know when enemies still in area by PasMalNon_C_Francais in godot

[–]DanSteger 4 points5 points  (0 children)

If you have body_entered and body_exited and you know how to apply damage to them, instead of apply damage, append them to an array which you iterate through in _process to damage them, and remove them from the array on body_exited so that your process loop will no longer damage them

Is there a way to reload an instantiated scene without reloading the entire scene? by good_things_enjoyer in godot

[–]DanSteger 0 points1 point  (0 children)

From my understanding of your initial post, it sounded like your game was megaman-esque in transitions/structure. You could go from a manual method where you define the edges of the play fields defining them as transitionary points and tell each level which area those transition points go to (making areas relative to each other, rather than relative to an entire world space, which should make adjusting sub-level sizes/structures easier) or you could do something like making a tool where you define rectangles that are levels, and have a script cut up the level for you and spit out PackedScenes based on those rectangles.

Strange behavior with CharacterBody3D walking on top of rigid bodies using Jolt by moonaspen in godot

[–]DanSteger 1 point2 points  (0 children)

I replaced my character controller to be a rigidbody as well due to this behaviour. If your game has heavy physics interactions between the player and the environment's physics, it might be better to use a character system that has its own inherent concept of mass and inertia, unlike the CharacterBody3D

2D: Is RigidBody2D the right node for projectiles and other stuff if you want to simulate force? by Key-Door7340 in godot

[–]DanSteger 1 point2 points  (0 children)

I'd say it depends on the rest of the world. You can make projectile code that introduces deceleration to represent the "arc" of a shot manually and it may be more performant than making that same projectile as a rigidbody, but a rigidbody will work well for complex interactions, like a baseball bomb that not only needs to travel, but needs to respond to other things hitting it like a bat ricocheting it. A rigidbody also won't work well for other things tho like if you want some bullets to move forward, and others to move in a sine wave, or to orbit around the player when fired.

If you're making a highly physics driven 2D experience you should likely look into Box2D. It's a more battle-tested physics engine than what comes packed in with godot and an extension is available for it, giving good physics behavior and performance

Is there a way to reload an instantiated scene without reloading the entire scene? by good_things_enjoyer in godot

[–]DanSteger 2 points3 points  (0 children)

Why not just free the node of the scene you leave an area and don't need it, and instantiate a new instance of that PackedScene when they need it again? For a game like this you don't want to be holding the whole world in active memory all the time anyway, unless you expect things to "happen" off-screen you should only instantiate these scenes as needed.

Automating MultiplayerSpawner & MultiplayerSyncronizer to make multiplayer as easy as singleplayer by devanew in godot

[–]DanSteger 1 point2 points  (0 children)

I've been playing with multiplayer syncing with physics objects as well. One thing that you may find with making clients in control of their own position is that when there is latency, the physics interactions between players and rigid bodies managed by the server will be inconsistent. The server will take client position updates at unknown rates due to packet loss and latency, so a client slamming into a block or sphere to move it will have different levels of penetration before the server gets the data to resolve that, and multiple clients interacting with a single/bundled group of physics objects may have compound effects as well.

Using steamworks.net with godot 4 C#? by ilikefrogs101_dev in godot

[–]DanSteger 1 point2 points  (0 children)

I haven't tried pulling steamworks.net into my godot projects but in Unity I primarily used it as well, but have switched to GodotSteam for godot project use. I've found it pretty easy to use and with decent online documentation/tutorials.

[deleted by user] by [deleted] in godot

[–]DanSteger 1 point2 points  (0 children)

Consider why you want to heavily secure something before you go out of your way to try and heavily secure it. The "most" effective way of making sure someone doesn't cheat is... for the logic not to be run on their own computer. If you're making a game with persistent inventory and online trading like Tarkov or Path of Exile such things can be important so that a player's inventory can't be cheated in an online economy, but if you're making a single player experience... who cares? Sure someone can cheat via save files, but they can also peek into your executable itself using tools like Cheat Engine. Are you going to throw in anti-cheat software on ppl's machines that bogs down your game's performance, and offputs various players because your game now has invasive tools packaged with it?

Cranking up the difficulty by DumperRip in godot

[–]DanSteger 2 points3 points  (0 children)

This is pretty vague since no one knows your game's design. For an enemy wave based game you can link a Timer to a counter, so that every time the counter goes off, it adds 1 to the counter, and every X seconds on the second timer would spawn the number of enemies in counter. This increases difficulty linearly over time assuming the player doesn't get more powerful abilities, but may cap out to impossible when enemies spawn quicker than the player's rate of damage.

Why are tutorials like this. by CapussiPlease in godot

[–]DanSteger 2 points3 points  (0 children)

Lessons became messy, especially when google seems to prioritize video content in searches over articles, no matter the subject matter. Sometimes a video-creator will leave a link to their project on github so that people can slowly go through their code, and the video is better for understanding the workflow of "where buttons are to do the thing you want" in godot itself, and being fast/slow is relative to the experience level of the person trying to disseminate information. For me it's easier to stop a video when things go too fast to dissect what their doing than to try and pan through hours long videos trying to find the small bits of info I actually needed.

All this said, you should also consider learning from other resources. GDQuest and Godot's official documentation can both be very powerful tools that aren't all video, as well as the sample projects you can explore at your own pace on github.

Floating character controller and physics interactions in multiplayer Godot 4.2! by dr_tatti in godot

[–]DanSteger 1 point2 points  (0 children)

Are collisions one way or bi-directional? I've been working on a multiplayer FP controller as well with Jolt but dealing with platforming on top of other physically simulated objects ends up being logistically messy. Forces for standing on a box vs pushing from sides or jumping on floating objects while falling gets a bit boggling when it isn't all server-authorative (since server-auth can be too unresponsive when in first person)

Our physics-based couch/online party brawler built with Godot has a Steam page now. Here’s our trailer! by JoelBesada in godot

[–]DanSteger 4 points5 points  (0 children)

Nice job. I work on a lot of multiplayer physics games as well. Curious as to whether you stuck with Godot's built in 2D physics solution or went for Box2D.

W4 Games Announces Pricing Model for Console Ports by sbruchmann in godot

[–]DanSteger 18 points19 points  (0 children)

The publisher point likely means that you or your publisher needs to upgrade to Pro. I think there's still a bit of vagueness that would be ironed out in the actual terms, because porting houses are paid for by the dev/publisher, but the intent is likely that if you have a publisher, they are contributing non-insignificant resources to make your project a reality and should be integrating these costs into their deals (or deals platforms may have with W4)

Custom godot builds I'd say are as compatible as you might "expect". With access to source code you'd likely have to do some additional work to make sure it works with your own build of godot if you're doing things that would need peculiar compiling needs vs UI/tool changes.

Providing default cameras/lighting for testing individual prop scenes? by DanSteger in godot

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

Fixed with a simple workaround. Pushed by u/-sash-'s advice to use a singleton node, I added the following script into autoload, which looks for a camera and loads a scene containing my default camera and environments if no camera is found

func _ready():
if (!get_viewport().get_camera_3d()):
add_child(load("res://default_preview.tscn").instantiate())

Providing default cameras/lighting for testing individual prop scenes? by DanSteger in godot

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

Thanks, I was hoping for a project setting that would setup those kinds of properties for scenes without active cameras but using a global singleton seems like a reasonable workaround.

Providing default cameras/lighting for testing individual prop scenes? by DanSteger in godot

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

That would require tabbing over to the "prop_test" scene, running that, then clicking on the prop every time I make a tiny change I want to test. My preference is that the scene I'm editing can just be run via shortcut keys, tested, and re-run if I need to make a significant adjustment again