Remove duplication of RR-values [SUGGESTION] [PLAYER]

Started by Nepster, October 16, 2016, 03:17:47 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

namida

I think mobius might actually be onto something here. It won't complicate the code at all to make this change (beyond a bit of backwards-compatibility stuff for replays and old format / other engine levels) either; it's pretty much just a matter of removing a "divide by 2" in one place in the physics code. The only downside is people would have to get used to the key values having changed (eg: RR 87, useful for some builder / platformer tricks, would now be RR 93), but I'd believe that if the Lix community was able to do this with SI, there's no reason the NeoLemmix community couldn't as well - and we'd still be keeping the system of 1 = slowest, 99 = fastest.

Likewise, most nice values will still come out nice. 99 is still 99. Any release rate that previously ended in 0, will now end in either 0 or 5 (eg: 90 is now 95; 80 is now 90; 70 is now 85; ... 10 is now 55). 1 is now 50, which is also a pretty nice value. The new "1" would be equivalent to what would be -97 under the current system, if negatives were allowed.

In fact, I'm even going to go ahead and say that, unless anyone comes up with a strong reason to object to it, I'm almost certianly going to use this idea. :) For those of you who'd really rather have SI than RR, I'm also going to add an option to use SI instead.

In regards to maximum release rates being configurable per-level, it was discussed in the past and decided against (though this did lead to the introduction of the locked RR option; and one could argue that locked RR is just the most extreme case of setting a maximum). I'm not opposed to revisiting this if people's feelings have changed, though.

QuoteI didn't mean to offend anyone's levels. I was just making a broad statement. Obviously I think there will always be exceptions to any rule. I personally don't care for that level of precision in any level anymore but that's my own opinion.

Wasn't taking offence. Was genuinely interested in whether your thoughts (about requiring excessive precise RR manipulation being bad) still apply in cases like this, where precise is needed but excessive use of it isn't? Or maybe the reverse case, such as "Flow Control" from OhNo, which requires a lot of changes but they don't have to be particularly precise?
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

I'm going to release an exp build with mobius's suggestion shortly, please try it out! It'll also have an option (not turned on by default) to use spawn interval instead of release rate altogether; try that out too if it interests you. Let me know if you find any bugs with that (or otherwise).

EDIT: Okay, the exp is up. Give it a try! :)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Nepster

QuoteAmbiguity seems dangerous. New player comes and talks about RR 50, what does it mean? I could only accept HR if we don't call it "release rate".
Why not call the new scheme by möbius the "spawn rate" or "SR" for short?

Proxima

Quote from: namida on June 14, 2017, 05:29:04 AMIn fact, I'm even going to go ahead and say that, unless anyone comes up with a strong reason to object to it, I'm almost certianly going to use this idea. :) For those of you who'd really rather have SI than RR, I'm also going to add an option to use SI instead.

I like the new scheme a lot :thumbsup: but isn't there a slight snag with the proposed option for SI? If new-style RRs go from 1 to 99, this corresponds to SI 4 to 102. Do you squeeze up the three-digit SIs, or what?

mobius

#19
Why does the term need to be changed? Are people really going to understand it/ get used to it just because we change the term? It doesn't effect anything imo.
I don't like the term "Spawn interval" I don't like the way it sounds. I also don't see the terminology being very important. I like the sound of release rate. It's a rate; don't care about the technical definition, don't care if it's right or wrong. Lemmings get "released" from the entrance hatch or trap door. It sounds fitting to me. The RR physics can change drastically and I can still call it RR. I will in fact, even if everyone else stops calling it that.

I said this in another thread somewhere; [up above, in this same thread no doubt lol ]
The exact physics of the game do not need to be made clear to the player. The code's job is to execute the physics behind the scenes while creating an abstract second layer of 'physics' unique to this new game world that should be much simpler than the actual physics to understand. Players shouldn't be bombarded with lots of terminology and such.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

Proxima: I completely overlooked that tbh. It would most likely cut off the leading 1 in the current exp build, thus displaying 100 as 00, 101 as 01 and 102 as 02 (or possibly, displaying all of these as infinite). I'll come up with some solution to this.

Mobius: "Spawn Interval" is an already established term in Lix, and is now used in NeoLemmix as an alternate mode. SI differs from RR in that lower SI = faster spawn. Although NeoLemmix now uses SI internally, this is not forced on the player, who can choose to see RR instead of SI (this is even the default option).
Nonetheless, the third term "spawn rate" was proposed to differentiate the new RR scale from the old one. Same behaviour - higher value = faster spawn, and doesn't directly represent the physics - but differentiates the old system from the new one without having to stress "NeoLemmix RR" vs "DOS RR". It might be useful when talking about levels that exist on multiple engines, in particular.

Essentially,
4 SI = 99 SR = 99 RR
28 SI = 75 SR = 50 RR
53 SI = 50 SR = 1 RR
102 SI = 1 SR (= -97 RR)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

IchoTolot

Quote from: namida on June 15, 2017, 02:47:12 AM
Proxima: I completely overlooked that tbh. It would most likely cut off the leading 1 in the current exp build, thus displaying 100 as 00, 101 as 01 and 102 as 02 (or possibly, displaying all of these as infinite). I'll come up with some solution to this.

Mobius: "Spawn Interval" is an already established term in Lix, and is now used in NeoLemmix as an alternate mode. SI differs from RR in that lower SI = faster spawn. Although NeoLemmix now uses SI internally, this is not forced on the player, who can choose to see RR instead of SI (this is even the default option).
Nonetheless, the third term "spawn rate" was proposed to differentiate the new RR scale from the old one. Same behaviour - higher value = faster spawn, and doesn't directly represent the physics - but differentiates the old system from the new one without having to stress "NeoLemmix RR" vs "DOS RR". It might be useful when talking about levels that exist on multiple engines, in particular.

Essentially,
4 SI = 99 SR = 99 RR
28 SI = 75 SR = 50 RR
53 SI = 50 SR = 1 RR
102 SI = 1 SR (= -97 RR)

Good as long as I can still count on the old RR beeing there and the non problematic conversion of the old stuff I fully approve of the new system :thumbsup:

Having even slower RRs below 50 can lead to new interesting designs that are not dependant on multiple hatches to further slow down RR anymore.

namida

Something like the old RR will be there. It might have a different name, but aside from that (and using your 50-99 and allow slower values idea) it'll be the same.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Quote from: Proxima on June 14, 2017, 04:18:58 PM
I like the new scheme a lot :thumbsup: but isn't there a slight snag with the proposed option for SI? If new-style RRs go from 1 to 99, this corresponds to SI 4 to 102. Do you squeeze up the three-digit SIs, or what?

Okay, I've addressed this now. Indeed, NeoLemmix just displayed such SIs as infinite. Now, it displays squashed up versions of the number. These are pre-rendered when the skill panel is created, so are actually even lighter on the CPU than regular two-digit skill numbers.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)