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

#16
These monitor bugs -- wonder why nobody has run into them before, and you found 3 or 4 of them already this year. And you're not even using Windows 11, which is nowadays's easy blame target. ;P

This one is particularly astounding. The already-loaded sprites, exits, hatches, ... all remain intact. Only the terrain layer becomes black or transparent, even though it's a VRAM bitmap like any other sprite/exit/hatch. Or is it? I should research. But then new terrain (the later-built staircases) can be painted onto the black/transparent as if nothing were out of the ordinary.

The terrain VRAM bitmap may be large (it's a single piece, 1:1 the size of the level), but the spritesheet is also large at 913 x 946, about the same order of magnitude as that map. That would rule out size.

No idea, must reproduce from first principles. And first find a multi-monitor setup.

-- Simon
#17
The answer I was hoping for was: You look into the source and see an obvious performance bug with the splat ruler within 5 minutes. ;P

According to your testing, I doubt that the lion's share is due to Wine; it's a general issue. But I haven't investigated other than how a freshly started CE won't freeze in Wine either. Even on Turrican's Space Program 10,000 BC, yes, it still stuttered, but it wasn't frozen for seconds. All my testing in this entire thread has been with low resolution and low-quality minimap.

Before you put a warning, I'd wait until we all have researched this better. The warning would also break NL compatibility in a weak sense: NL won't scold you for making large levels, but CE would.

Do you have time on Sunday, June 15th, 14:00 UTC, to dig into the CE source together in Mumble?

-- Simon
#18
Next stream will be Sunday, June 15th, starting 16:00 UTC.

We'll play more Level of the Year 2024 submissions. I will show geoo's two Lix levels: Just Mine, and Roots of Life. I know (part of) the solutions by heart, and therefore I myself will hold back with ideas for geoo's levels. Instead, you tell me your ideas, and I'll play like that.

There will be more NeoLemmix entries after geoo's two Lix entries.

-- Simon
#19
What problem are you trying to solve?

Do you mean the time zone name (ET), the time zone name with DST information (EST/EDT), or the UTC offset (−05:00/−04:00)?

And of what? Of when Lix saved the replay? Or of the level's built datetime? The levels' built datetimes carry no time zone information in the levels.

The point of the replay names is to generate unique filenames. It's not tailored to match your replay to my replay. To do that, a better feature is: Generate a match ID for each started match in the server, and change the networking protocol to work with match IDs. That would also be a start to allow people to observe (or even to reconnect as an active player to) a previously started networking match that hasn't finished yet.

-- Simon
#20
Quote from: kaywhyn on June 05, 2025, 08:07:48 PMintro movie sequence: It flickers between a black screen and showing the movie.
whether there's a fix

I can reproduce this black flicker in DOSBox version 0.74-3 on Arch Linux. I remember that I have seen this flicker for many years. The flicker makes the movie practically unwatchable.

My weak guess was to fumble in dosbox-0.74-3.conf with this setting:

[dosbox]
machine=


I've tried all values for it. Earlier settings (hercules, cga, tandy, pcjr, ega) make Lemmings 3 complain about the missing VGA card. Later settings (vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe) make Lemmings 3 run, and L3 reacts according to each card, but the flicker stays in all of these settings. I've reverted to the default svga_s3 and accepted the flicker.

Failure. And no other option sounds promising to me.

I don't know about a solution. Try the Dosbox forums, or the forums of one of its forks (Dosbox-Staging, ...).

-- Simon
#21
Thanks for the report!

Lix is on monitor A, monitor B turns off, terrain in Lix (still on monitor A) becomes black. Yeah, I should investigate together with those other monitor bugs that you filed in 2025.

-- Simon
#22
Another worry under the current 0.10 overtime rules:

Situation:
Player A has 10 points and 90 lix alive.
Player B has 20 points and 50 lix alive.
Player B cannot attack player A's bunker of 90 lix.

Problem:
Player A can now stall and B can't break this stalling.

Reason:
Player B can't nuke because player A has enough overtime to beat B with 100 points over 20 during the overtime when player B has no skills. Likewise, player B can't shepherd his 50 lix home because player A again can win with 100 points over 70 during the time when player B has no lix.

During stalling, neither player is clearly winning. B has more points, but A has more potential.

The first hunch is, again, to allow skill assignments after nuking/starting overtime. This gives B a method to break the stall: B can start overtime and attempt to kill A's lix on the path.

Or is the situation (player B cannot attack player A's bunker) too rare to bother?

-- Simon
#23
"Try to do that" would then mean: You select 6 for the intended number of players, you'll have seats ABCDEF available for assigning seats to hatches/exits. In the editor, you must assign exactly one seat to each exit. When you place an exit, editor will preassign a seat to that exit; you can always change the seat assignment for that exit, but you can't leave the exit without a seat assignment. Now you place only 2 exits. You can assign A, A to the two exits and keep 5 players without exit. Or you assign D, E and keep 4 players (ABCF) without exit.

I don't know if/how Lix should reject such a map when it's selected in the multiplayer browser. Even now, it's legal to play a map without exits. Interesting design problem. In a pinch, it's okay to allow no exits, that's simplest, and it assumes that authors will see it and fix it.

Existing maps should remain loadable in that future Lix. They are in the 0.10 level file format which doesn't feature exit-to-seat assignment, therefore we need a rule for importing these levels into the new system where each exit has exactly one seat assigned to it. The obvious choice is: When we load a level, we look at the intended number of players, and we distribute the seats round-robin at level load time.

-- Simon
#24
NL 12.14 on Ubuntu in Wine 10.0
CE 1.0.1 on Arch Linux in Wine 10.6

The splat ruler lags the entire engine as long as it's active.

Repro:

  • Play different levels in NeoLemmix for 2 hours. (I believe? Some preparatory step here is necessary because I can't repro it here on a fresh program run. Or do I have to screenrecord NL? I doubt it.)
  • Play Turrican's level Space Program 10,000 BC v1.01, it's attached. It's large and it contains many special tiles. The file alone is 400 KB.
  • Scroll around (with right-click scrolling) to get a feel for performance without the splat ruler.
  • Tap the key for the splat ruler.
  • Scroll around (with right-click scrolling) to get a feel for performance with the splat ruler.

CE froze for several seconds. If I hold (not merely tap) the key for the splat ruler in step 4, CE froze for 10 seconds, then stuttered at 1 frame per second. It was severe in my livestream from 2025-05-28:

Video: Splat ruler freezes CE for 5-10 seconds (70 seconds long, 4.4 MB)

NL/CE return to regular performance (= less lag) after we release the key. And if we play more/different levels afterward, the ruler doesn't dent the performance anymore there, even after it had dented performance on Space Program 10,000 BC.

Backgrounds on/off seems to make no difference. Can't test again now because step 1 is hard to guess/repro. So strange that it doesen't reproduce immediately after a fresh game run. So hard to guess what's going on internally ... it's such lag, and only on Turrican's level. And why do other levels run fine afterward even with the ruler?

Quote from: Guigui on June 02, 2025, 11:43:07 PMon my machine, the ruler is a bit laggy. When I press the key it appears correctly, but it stutters when I try to move it accross the screen. To move it, I better make it disappear, then reappear again elsewhere, not very handy.
Is it just me (running NeoLemmix on Ubuntu + Wine) or all NeoLemmix users ?

-- Simon
#25
Your lemmings make it clear where you should stick the ruler (onto or into the floor), even though you've introduced 1-pixel-thick horizontal green lines. Yes, interesting take, a new angle of attack against the ambiguity problem.

I still want to write about a second application for a splat ruler that we haven't touched in this topic yet: The ruler is not only for measuring fall distance. The ruler is also excellent for inspecting horizontal offset between two terrain pieces, i.e.: Is terrain X exactly vertically above/under terrain Y? Or, instead, is X a few pixels horizontally offset from Y, so that lemmings can fall from X and land on Y? It's easy to test that when the ruler is a featureless vertical stick.

This will be an argument against horizontally protruding triangles (in my white ruler) or lemmings (in yours). The hunch is to minimize/remove protrusions.

If I had to use one of your rulers immediately, I'd pick your ruler with long green vertical lines, but I'd remove the falling lemmings in the center, or at least slice the fallers vertically and show only 2 halved fallers. The goal is to preserve a long green vertical line without protruding features, for measuring horizontal offset of terrain.

I have a weak preference for a white stick with a triangle, but now I want the triangle smaller than what I've shown before. Haven't slept over it. Must still post feedback from stream playtesting. And I haven't tried your ruler yet.

-- Simon
#26
Players don't remember the exact rules of overtime and nuke. People ask why the overtime doesn't start, or why the nuke doesn't work. I'll treat these questions as bug reports against the nuke/overtime design.

In 0.10, if you nuke, you lose all remaining skills immediately, and overtime starts once you have 1 or more points. This is too complicated. The original design goal in 2010 was (a) to prevent people from nuking before anybody can score, and (b) to challenge other players to beat your score. Yes, the 0.10 nuke solves this, but pays too high a complexity cost (it has too much if-then).

In a 4v4 team game (of 2 teams), if the newbie nukes on your team, all players on that team lose their skills. That must become impossible. The obvious answer -- changing the nuke button into a majority vote, i.e., more than 50 % of the players on your team must push nuke for the nuke to activate -- would pile even more if-then rules onto the existing unrememberable nuking system. We can do better.

But the whole nuke-overtime system is a hard design problem to solve.

I'm contemplating to ditch the loss of skills altogether when you press nuke. Your nuke still triggers overtime, but you keep your skills and continue playing. In 0.10, it's strange that the loss of skills doesn't always go hand-in-hand with the start of overtime: When you nuke and have 0 points, you lose the skills, but overtime doesn't start.

It feels correct to keep the nuke as a game element. It allows you to force the remaining players to bring an almost-over game to a timely conclusion. I don't want to ditch it altogether.

None of this solves the confusing overtime, i.e., when exactly the overtime starts. This is still too confusing to explain to new players. The first hunch is to start overtime immediately when somebody scores 1 point from his own lix (to prevent accidental triggering by others who start near your exit), but that, again, wouldn't be elegant to explain. I have no good answer.

-- Simon
#27
I'm unhappy with both the multi-team exit scoring (see "answers to Q1 and Q2") and with the overtime system.

One team. Exits should belong to one team, not to multiple teams. When a lix (of any team) enters, the exit's owning team should get a point, period. You should match exits to seats (A, B, C, ...) in the editor. If you play a 7-player map with 3 players, the four exits for seats DEFG should be removed. (In 0.10 physics, only the 7th exit gets removed, and the intended ABCDEFG becomes ABCABC.)

Goal flags. Exits with multiple players are predominant in race maps, i.e., in maps with an overtime of 0 seconds. It's common to have a single exit that all players use. I want to replace this kind of exit with a goal flag. The goal flag should belong to all teams, you can't assign it to any single team. And it should be a new type of tile (like hatch, goal, triggered trap, ...) so that it is obviously different from an exit. If one of your lixes touches the goal flag, you win, and there will be no overtime.

Very few maps use, e.g., 2 exits for 6 players, and rely on how ACE use one exit and BDF use the second exit. I want to remove this. It's not a big loss and the gain in simplicity will be worth it. This example map can easily become a 2-team map (it already has 2 exits) instead of a 6-team map.

-- Simon
#28
Stream is over!

-- Simon
#29
Non-Lemmings Gaming / Re: Sneak (card game)
May 28, 2025, 02:29:22 PM
Ste, yes, try Sneak in your group! Happy to hear feedback.

geoo has a strong point with the feeling at the end. If you have good cards in hand, you want to sneak/flaunt those cards, or challenge with them. If your current turn ends up being your last, you should know so during this turn (= you should know now that you won't get another turn). Reason: Prevent the end of the game from catching you off-guard when you still have good cards because you want to do something with those cards. My recent rule ideas (end the game immediately when the final card has been drawn) violate this.

I'm still on the quest to simplify, and now my idea for the next playtest is:

  • After the last card has been drawn, there will be one final round of turns. On your turn, you must sneak or pass. The sneak card limit is in effect as usual: At least one opponent must be able to challenge. You sneak face-down as usual. You may sneak garbage. Regular challenging rules apply. After that final round, leftover cards are worth 0 points per card. (Not −1 per card.)

I.e., we play one more round with all the normal rules from the main part of the match, except that we replace drawing with doing nothing (because the stock is empty). Sounds simple and natural.

geoo, are there obvious concerns with this?

  • Playing good cards is better than hoarding. You can't put 20 hoarded cards onto your pile at once.
  • You can't sneak all your garbage home in the end because of the sneak card limit.
  • If you sneak garbage, you'll give points to a random opponent; this is worse than keeping the garbage in hand and scoring 0 for it. And if nobody challenges, you gained only 1 point per card. (You haven't gained 2 points for going from −1 to +1 per card.)
  • How big is the problem if the final player (in the final round of turns) can't play his long flush because of the sneak card limit? But he was the player to draw the final card, so he has had some control over this situation.

-- Simon
#30
Quote from: WillLem on May 28, 2025, 12:11:53 AMalways clash with any tilesets in that colour.
want one colour to clash 100% of the time and all other colours to clash 0% of the time

Tileset designers make lighter top sides and darker bottom sides. Pure white tops are moderately uncommon, pure black is mythic rare. Even the white-black ruler can theoretically run into tiles with checkerboard patterns of tiny granularity, but I haven't seen that in practice.

I'll accept the risk that the ruler clashes with this uncommon type of tile 100 % of the time.

Still, white, hmm. We always measure from top of a tile (where the fall begins) to another top of a tile (where we splat), therefore the white (main color of my ruler) is indeed a concern.

The other worry with white-black is the stark contrast. I'll report findings from tonight's playtesting.

-- Simon