Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Simon

#1
When you merge insert mode and regular replay mode, consider changing the default for the user option that keeps/deletes the garbage from keeping the garbage to deleting the garbage.

Definition: In this thread, with garbage, I mean assignments to the same lemming in the future of the newly inserted assignment. Usually, these will desynch because of the newly inserted assignment. In rare cases, they remain useful. (In other threads, it might mean any assignment in the replay that fails to resolve, or that resolves but does something else than originally intended, but those meanings are a different concern out of this thread's scope.)

Reason for changing the default to deleting the garbage: When you push the merged mode to users, this will behave more closely to how assignments behaved before merging the modes. This will be a new additional reason. Another reason is the same as before, the garbage is practically never useful, and you can play around fringe cases (assign climber early/late to preserve/lose it). Another reason is playtesting feedback from across 2 years now: Lix insert mode deletes the same-lemming garbage, I like the deletion there, and I've never gotten feedback that the garbage should remain.

Do you think you want the option (to preserve garbage) for yourself still after you make airclick replay cutting optional?

-- Simon
#2
Hmm, we all found different habits around the LMB clash, i.e., around the two meanings (cut replay, advance) of left click:

  • Icho clicks to advance if the click won't affect the replay. Icho presses the hotkey to advance otherwise.
  • WillLem always clicks to advance. If that click would cut the replay, WillLem first enters the cut-preventing insert mode.
  • Simon: I always press the hotkey to advance. I only click to affect the replay. I fear clicking.
  • Guigui, I haven't asked explicitly yet how you prefer to advance by 1 frame. Do you click to advance? Do you press the hotkey to advance?

The click to advance seems popular.

WillLem's proposal still reconciles this. WillLem proposes: Create a user option for whether air click cuts the replay, and have only a single mode during play that always inserts. I don't know if this is ultimately best (well, when do you ever know that); it's the best I see for now. It's not clear if Icho is going to like this, but Icho is happy to try.

I agree with Icho that conveying replay mode in the UI is important. We're still in the early bronze age with this, even Lix, which displays "Replaying. Click to play from here." Post what comes to mind. If it's ultimately separatable from merging the modes, we can always split it to separate topics later.

-- Simon
#3
Quote from: WillLem on July 22, 2026, 10:11:55 PM
Quote from: Simon on July 22, 2026, 04:17:27 PMThe default shouldn't remove a useful shortcut (global-future-cutting air click) that does no damage for them: They won't LMB into the map for other reasons.
Not so! There is at least one more reason to airclick, and that is to advance gameplay by 1 frame whilst paused. Sometimes, this is done after rewinding, and with no intention to erase the global future. This is one of the main reasons I engage insert mode, and don't want airclicks to cut the replay.

I strongly suspect that those who don't sympathise with this only use either non-mouse hotkeys or the dedicated panel buttons to framestep.

Ah, I didn't have this LMB-stepping in mind. Yeah, I single-step by hotkey.

It's an odd design history. The usual meaning of LMB into the map to cut/assign. After assigning, it makes sense to advance one step to show the physical result of the assignment. I don't remember who/which program started to advance on airclick in general. At the end of the replay, the airclick cuts (nothing to cut) and advances. And this is common enough to make it natural to rely on it. I believe that namida relies on it, too.

And finally the two meanings of airclick clash in the new mixed mode. After decades.

I'd like to hear namida's opinion.

-- Simon
#4
All right, no undo for now, and the difference between the two surviving modes (airclick cuts global future vs. airclick does nothing) becomes a user option. There will be no mode toggling during play. Good riddance if it turns out well. You get to remove at least one hotkey (the mode toggling) and some iconography.

I think I like it.

Quoteclicking air cancels the replay (by default, it shouldn't)

No, I recommend that you keep the default that airclicks cut the global future.

Argument 1: Even though most users know about this, nobody has complained that it does too much damage in CE 1.1.2 or before. Replaying will become more powerful, but, at the same time, it becomes less destructive because assignments will cut only the assignee's future, not the global future.

Neutral observation: Inserting is advanced. Let's say 30 % of users will insert. If you anticipate that you will insert a lot and you fear about destruction, you'll activate the option for yourself. If everybody were an advanced user, I'd be 50:50 about the default. But that's not the argument.

Argument 2: Another 30 % of users will continue to play with replay mode, but not with insert mode. They'll never LMB into the map until they want to cut. The default shouldn't remove a useful shortcut (global-future-cutting air click) that does no damage for them: They won't LMB into the map for other reasons.

Argument 3: The final 40 % is that invisible portion of users. You rarely catch a twitch stream of them. They don't want replay, they'll always solve from scratch. Replaying annoys them. They always run default options. Don't remove the main way of cutting the unwanted replay from them!

QuoteMore input from other users would be good.

Yes, please post. Even (and especially) if you never use insert mode!

Do you click air to stop the replay? Or do you use a hotkey or click the R in the panel?

-- Simon
#5
One crossroads in the design is: Should cutting the global future be undoable?

You can decide against this for code complexity. Or for difficulty of making understandable UI for it. Or you can allow it, but undo has only depth 1, i.e., you have the most recent previous replay in memory for restoration. Or you can make a full undo-redo stack, either by storing full replays, or by storing the modifications.

Reason behind undo: Powerful actions with powerful undo is nicer than making it hard to reach the sharp knifes that you need all the time. But it remains hard to say how commonly the knife is needed.

UI concern: Undo is one extra button, and it's fundamentally different from rewind. Undo/redo would even be two extra buttons. Rewind is travelling along the 3rd dimension, replay editing is working in the 4th, and an undo stack will be the 5th. It feels only one level below the strength of git rebase.

* * *

If cutting the global future won't be undoable, then I sympathesize with your preference to guard against misclicking air.

I don't think moving the airclick to RMB is good. Reasons as yesterday: RMB airclick clashes with priority invert (where a lone RMB click/hold affects lemming filtering only), it clashes with scrolling (where a lone RMB click/hold does nothing), it's undiscoverable, and it's unconventional (in Lemmings; many other games have RMB canceling).

One idea is to still have two modes, switchable during play:

  • Clicking a lemming first cuts the future of that lemming, then, if no clash with different lemming, inserts the assignment. Airclicks cut the global future. This is can be the default mode.
  • No cutting whatsoever. Clicking a lemming never cuts, and it inserts an assignment only if it doesn't clash with any lemming, same or different. Air clicks do nothing.

UI concern: Modes are hard to discover. Modes annoy the user when he doesn't understand them completely. Hard to make icons for these modes. I feel like colored Rs won't cut it; the symbol for no-cut mode would rather be struckthrough scissors.

Require something really explicit to cut the global future? Comes at cost of breaking consistency with many Lemmings games, with Lix, but the idea isn't entirely off the table. Hard to sell this to users who rarely insert, but who rewind often and already know not to LMB. The ice is thin.

* * *

Abstract background reading:
Preventing User Errors: Avoiding Unconscious Slips, 2015
Preventing User Errors: Avoiding Conscious Mistakes, 2015
Undo vs. Confirm, when to use what, 2025
Forgiveness Principle: Designing Undo, Confirmation, Error Recovery, 2026

-- Simon
#6
I like the examples from reply #13 more than the examples from reply #12.

I think the author line should be dark blue like the pack and position, to not stand out as much. It's as relevant as the pack and position.

Pack name is nice for livestreaming. People will see excerpts without stream metadata (stream title). Good to orient viewers.

Re long pack names: When you have to trim long pack and position because of long directory names, cut from the left. Or cut from the center. Don't cut from the right. People tend to be happy with the position.

Spacing is a concern for later. Now, if author is missing, there is gap. I don't mind the gap much.

-- Simon
#7
Little time, the hunches are:

The shift in design will be away from {different modes for different tasks} toward error prevention/recovery. E.g., you value how blue R cannot accidentally cut global future. Error prevention may be via modes again, or via undo, or via something.

{LMB into air to cut global future} is accident-prone and obscure. But RMB fixes neither of these problems, and it clashes with many RMB habits where click is no-op: priority invert, scrolling, ...

More when I have time.

-- Simon
#8
NeoLemmix Levels / Re: Lemmings Redux [Easy-Medium]
July 17, 2026, 04:03:22 AM
Ah, directly edit those in the file. Yeah, I should try that. Thanks!

-- Simon
#9
NeoLemmix Levels / Re: Lemmings Redux [Easy-Medium]
July 17, 2026, 03:26:50 AM
Quote from: lemchip on July 09, 2026, 12:55:02 AMRegarding vertical scrolling: even Lemmings Redux has been scrolling up and down just slightly lately

You can click-and-drag the border of the NeoLemmix window to resize. It will remember that size across program restarts. The dragging is the only way I know to resize.

Does your monitor/resolution limit your dragging because the NL window is already as big as it can be?

I don't believe there is a user option that nails the window to a given size. Do you think that would help? I've loosely considered to make a topic anyway about this because I prefer a perfectly sized window for livestreaming.

-- Simon
#10
Existing implementation in NL-CE 1.1.2 is really three different modes, but only two are accessible during play, and you choose which two in the user options.

  • Normal, red R:
    Air clicks cut the global future. Assignments cut the global future, then add the assignment. (The cutting of the global future will have removed any existing assignments on the same physics update as the new assignment. Therefore, this new assignment will never collide.)

  • Insert, blue R, keep everything:
    Air clicks do nothing, they preserve all future. Assignments preserve all future, even the same lemming's future, and insert the assignment. If the assignment would be at the same physics update as an existing assignment, instead nothing happens, i.e., the replay will reject the new assignment.

  • Insert, blue R, cut same lemming:
    Air clicks do nothing, they preserve all future. Assignments preserve other lemmings' futures. Assignments cut the same lemming's future, then insert. This can overwite a same-lemming same-physics-update assignment. If the assignment would be at the same physics update as an existing assignment to a different lemming, instead nothing happens, i.e., the replay will reject the new assignment.

You can switch between the red R and blue R during play.

You must change your user options to switch between the currently possible behaviors of the blue R, i.e., to switch between blue-R-keep-everything and blue-R-cut-same-lemming.

None of the blue R modes allow different-lemming overwriting. You must ditch that explicitly from the replay editor. That's good, because NL doesn't allow (as a physics rule) two assignments to two different lemmings at the same physics update. This prevents accidental deletion of different lemmings' futures.

I'll write a response to your suggestions these days.

-- Simon
#11
This is the follow-up design to the successfully implemented [✓][SUG][PL] Insert Mode: Same-Lemming-Overwrite.

Quote from: Simon on June 14, 2026, 07:19:29 PMSeveral times, I wanted to cut during insert mode by air click. Neither option allows cutting by air click. I had to exit insert mode and cut.

I conjecture that ultimate truth will be found in merging regular replay mode with insert mode.

Quote from: WillLem on June 14, 2026, 10:47:26 PMYou're probably right, but let's start a new topic for this.

Quote from: Simon on June 21, 2026, 10:26:38 PMIn my stream today [June 19th, 2026, about the Level of the Year 2025 nominations], again I wanted to be in insert mode by default. I imagine the following development progress.

  • I implement always-insert in Lix.
  • I playtest that on livestream with Nepsterlix, Clamlix, or Rubix's pack.
  • I'll summarize results. Maybe I'll have confused myself with always-insert.
  • I'll make a new topic about NL-CE.

Of course, other forumers are free to make a case for always-insert in CE before I finish my investigation in Lix. If you think that I'm on the right track, spearhead the discussion, I'll be happy. And if you think that I'm insane, make your case against it.

Quote from: WillLem on July 14, 2026, 09:25:16 PMWe can also consider simplifying Red and Blue replay modes to a single replay mode which behaves how most players would expect it to; if we do this, though, I'd want to make 'click air to cut replay' optional.

-- Simon
#12
I didn't know. Thanks!

-- Simon
#13
Quote from: Existing NLTitleOfLevel
PositionOfLevel
Other stats
Other stats
Author: NameOfAuthor

Maybe reorder the lines to shorten the word "Author:" to "by" and even omit the colon?

TitleOfLevel
by NameOfAuthor
PositionOfLevel
Other stats
Other stats

Title, author, and position/pack/... fit well with each other. I think of levels as "Level X by Y from pack Z". Some seem to think of levels as "Position N in pack Z by Y". Hard to say if author should be above or below the position. I care less for the position (I care more about the name), but others care about the position. I'd put author higher than position. If position ends up higher than author, reconsider "by" because it's not a position by an author; it's a level by an author.

If author is anonymous, you can hide the author line entirely. Or show it to prompt the designer to put a name? Hard to say. I'd hide it.

Time Limit: Yeah, consider to hide the entire line if it's infinite. That's the normal case. If you use color (unsure, weakly against but I'm largely neutral), then limited time should be the yellow line because the in-game time limit is also yellow. Consider fewer overall colors to make such a line stand out better.

Release rate/spawn interval feels irrelevant. I'd ditch that entirely. I believe it's a leftover from Lemmings 1 because Lemmix replicated that screen and nobody had the guts yet to cut it.

Maybe replace "N to be saved" by "Save N", but I feel I will be shred to pieces for such heretic chopping. :-[

Quote from: GuiguiIn France it is one space before and space after.
Author : Anonymous

That typesetting rule is specific to French. There is a certain merit to this rule to make the symbol stand out better. But it would be wrong in today's English, it would even look like a beginner's typesetting mistake in English.

Strict English punctuation can produce unclarity, too. Above, I wrote {"Save N",} instead of the rules-abiding {"Save N,"}. I deem it unnatural and ambiguous to pollute quotations in technical writing with punctuation from the unrelated outside level of speech.

-- Simon
#14
Feedback from the Level of the Year 2025 streams:

The "Cut 2 tasks" text has been surprisingly helpful. I was working on the early parts of a solution and two workers were coming out of the crowd. I wanted to re-do one worker's future, but I forgot which worker was which. It helped to see "Cut 2 tasks" vs. "Cut 8 tasks". I immediately knew which lemming's future to cut.

-- Simon
#15
In the meantime, I've planned the Saturday away for something else, too.

Ideas: We can have a shorter first session on Monday night, July 13, after work, e.g., 18:00 UTC = 19:00 BST = 20:00 CEST. Or Wednesday, July 15, also 18:00 UTC.

-- Simon