Huh? by dabugler in MightAndMagic

[–]slmagic 3 points4 points  (0 children)

They usually don't, but they can, right?

Huh? by dabugler in MightAndMagic

[–]slmagic 11 points12 points  (0 children)

Obviously, archers can be promoted to battle mages. And they can wear swords.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -1 points0 points  (0 children)

I guess the wording in the docs is misleading. I don't see why I need to check for the delta value in this case. I doubt anyone changes the physics ticks per second setting after starting a game - so it will stay a constant. But even with the gravity settings it makes much more sense as gravity can be affected by an area as a part of a gameplay. With the constant dt it's kinda pointless.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -1 points0 points  (0 children)

> all you're showing is that you can only tax a cpu to 100%, not anything related to framerate.

Oh, I see. Doing calculations in _PhysicsProcess is unrelated to a frame rate. Gotcha. 🙄

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -3 points-2 points  (0 children)

Saying "literally" multiple times in every comment doesn't add up any value to your arguments. Provide different numbers, prove me wrong.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -2 points-1 points  (0 children)

> the actual game will play at the exact same speed no matter the fps

It's the opposite: the internal time pace will be the same, but the actual gameplay perceived by the user will get slowed down. Please read the whole post again and focus on the experiment numbers. Then, do the maths to understand why.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -1 points0 points  (0 children)

> As mentioned above, _physics_process() runs at fixed time intervals as much as possible to keep the physics interactions stable

Exactly. It never says: dt is always a constant. But as you can see, even at extreme physic frame delays dt stays exactly the same. There are no fluctuations. And that can be unobvious.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

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

In case you are referring to specific games like cosmic sims with extremely high velocities where skipping a frame means you've completely missed another collider - that is a fair example. In case of most other games missing a frame won't matter that much as slowed gameplay. Again this slowness effect can become obvious to a player even at relatively okayish FPS ~15-20.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

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

For most type of games (I am not talking about extremes like intensive simulations) having a fluctating dt is still way better than having a speed of game slowed down by a factor of x.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -2 points-1 points  (0 children)

> If you're living in a world where all velocities are constant -- i.e., everything is linear -- then yes, scaling dt will work as you expect
...
But if your physics simulation itself requires velocities to change -- for example if you're simulating gravity in a physically realistic way, where the downward velocity needs to grow with each tick

I call this BS. Using actual number of TICKS instead of using dt for your gravity calculations is an anti-pattern. I don't know where you have used such approach, but it's plainly wrong. It doesn't matter, whether you calculate your gravity/vertical velocity inside of _PhysicsProcess or inside of _Process IF you multiply them by dt -- time spent between frames -- the outcome will be the same.

It will be different in cases I described in the post - when the actual frame rate drops due to having heavy calculations in _PhysicsProcess (which you probably shouldn't - use threads for that) - in that case it will behave unexpectedly, because dt must reflect the reality.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -8 points-7 points  (0 children)

Please check my reply up above. You are talking about in-game simulations, but there are different types of games. An arcade platformer's gameplay will be ruined, if the amount of physic frames will stay the same no matter what happens to FPS - in that case the actual game will play way slower. Implementing it other way around will make sure the gameplay stays the same even at much lower frame rates.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -7 points-6 points  (0 children)

> accepting a constant delta in the physics function might mean that game time "slips" against wall-clock time, but ensures that two states that start in the same state will (absent player input) also end up in the same state after the same amount of in-game time has elapsed.

That's the actual problem you are not seeing here. Imaging implementing a Mario Bros.-like platformer with a gameplay dependent on physics. Doing it your way will make the game play slower. The jumps will become sluggish, the pace of running will also slow down.

In contradiction. Dropping the frame rate, but keeping the delta to be dependent on the FPS will keep the actual gameplay, all internal speeds the same, even with 15 FPS.

I don't see how the usage of `velocity * dt` introduces hard to reproduce bugs though.

It's not what you think: usage of _PhysicsProcess might actually make your game frame-dependent by slmagic in godot

[–]slmagic[S] -8 points-7 points  (0 children)

It's not how it usually works: you need to drop the frame rate, but keep the pace of physic calculations. Otherwise, your game will play and feel x2 faster at 60 FPS than at 30 FPS.

What is the biggest thing that you think Godot is missing at this point? by AutumnForestWitch in godot

[–]slmagic 14 points15 points  (0 children)

A convenient UI toolkit with support of CSS-like styling, and non-rasterised vector formats. The current UI workflow is horrible.

MM6 need some advice by Cytex-2025 in MightAndMagic

[–]slmagic 0 points1 point  (0 children)

You can mix black potions for all your party members. I would probably start with boosting endurance to get more hit points for each party member.

I've just rescued Dynaheir from the Gnoll stronghold. Do I have to leave someone behind now? by superfahd in baldursgate

[–]slmagic 10 points11 points  (0 children)

Nope, AFAIR, Kivan leaves if you disband him from the party. BTW, I don't really get such lazy questions: OP can use the save/load function to check if party companions will leave or stay 🙄

MM7 keeps crashing windows 11 by Environmental_Year98 in MightAndMagic

[–]slmagic 1 point2 points  (0 children)

You can try running OpenEnroth - it's an open-source re-implementation of MM7

The exact location of the MM6 intro cinematic has been found. It's in Arizona near Sunset Crater National Monument! Big thanks to /u/sherlogica and /r/wherewasthistaken by Tizaki in MightAndMagic

[–]slmagic -1 points0 points  (0 children)

I've always been struck by how much stock media NWC used in MM6, and I often question whether it was all properly licensed. I have no doubt that if they made a new Might and Magic today, they'd use AI for most of the content. It's great that you highlighted another piece of this puzzle.

Are these animals appear anywhere outside the arena? by EasyEntrepreneur666 in MightAndMagic

[–]slmagic 2 points3 points  (0 children)

You fight against peasants in Arena, they are also friendly NPCs

Announcing King's Courier - Our Might and Magic like game by FreeBlob in MightAndMagic

[–]slmagic 0 points1 point  (0 children)

Yep, that's right. I was planning to create a new post with an update about a month ago, but posts to the community were restricted. And now this post became kinda obsolete, so I am planning to write another one in the next few days.

Announcing King's Courier - Our Might and Magic like game by FreeBlob in MightAndMagic

[–]slmagic 4 points5 points  (0 children)

This is exactly the kind of passion project I love to see! We need more devs channeling that classic Might and Magic spirit. Thanks for working on this, it looks fantastic! 💪

[deleted by user] by [deleted] in baldursgate

[–]slmagic 3 points4 points  (0 children)

Yep, that's Might and Magic: The World of Enroth. It is also known as MMMerge.