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.

Messages - Simon

Pages: 1 [2] 3 4 ... 229
General Discussion / Re: Simon blogs
« on: November 22, 2021, 06:56:54 AM »
87 kg a month before the end of the bet. This will be a wholesome donation for LF.

Sleeping rhythm is botched from complex git merging at work that riffled across way too many repositories. geoo asked me via PM tonight why I was up at such unholy times; this merge was the biggest reason.

I haven't been active here much in the past 1-2 months. I've lurked a lot. Many smaller non-Lemmings projects have come together, and are still coming together. It's always tempting to let projects sit at 80 % once all the thinking is done. But pushing projects to 100 % is healthy: You'll get the sweet, sweet peace of mind.

Lix is getting 16 in April 2022, sweet sweet sixteen. And still no end in sight! I'll write the roadmap later in 2021.

-- Simon

Forum Games / Re: Family Feud 2021
« on: November 19, 2021, 06:11:18 PM »
Thanks for hosting the feud!

Hunt the Nessy (for question 9, mythical creature) seemed a compelling an answer on Lemmings Forums, surprising that Nessie got only 2 namings. Top answer nonetheless.

-- Simon

Forum Games / Re: Family Feud 2021
« on: November 04, 2021, 02:26:54 PM »
I'd like to host a round here

Yep, host one! I sent you PM with Quizmaster's password.

-- Simon

Lemmings Main / Re: Lemmings Revolution Question
« on: November 02, 2021, 11:58:17 PM »
Tanks a lot

Install the patch.

It's probably posted somewhere on the forum. I don't know if there are several patches, I merely know about one patch by the Lemmings Revolution developers.

Tanks a Lot and My Finest Moment are allegedly unsolvable in the first release of Lemmings Revolution. I remember that the patch notes say: Tanks a Lot and My Finest Moment are now completeable.

-- Simon

General Discussion / Re: Mobi's blog
« on: October 30, 2021, 04:35:29 PM »
Very good. Keep daily notes of the pushups, that is the best proof of benefit. The muscle will still build, but it's rarely noticeable on the outside. Pushups aren't full-time bodybuilding.

Yours truly hefty walrus is still at 87 kg, the same weight we started with. Assuming this trend of ±0 continues, muchos penuncias will hail onto the LF hosting account.

PDF: An Editor Recalls Some Hopeless Papers by Wilfrid Hodges.

He reviews attempted rebuttals of Cantor's diagonalization proof that there is no surjection from the naturals onto the reals. His view is mostly that of a logician, therefore some parts get technical, although sometimes it's also the view of a psychologist.

-- Simon

There may be a number of reasons why a player would need this information at a glance

Then please tell me a use case that (hatch, out) serves better than (hatch, available).

The reasoning for (available) over (out) is in the NL threads that Proxima linked: #1 and #2; the gist is:
  • You never need to know (out) directly for anything.
  • To compute the number that really interests you, which is how many more lemmings you can lose, (hatch, available, saved, required) is a better source than (hatch, out, saved, required).
  • You can consider to print (number of lemmings that you can still lose) directly, but sensibly only at the cost of removing any single one of (hatch, available, saved, required) and that cost is too high. Bonus reason that I thought of today: And there is no good icon for (number that you can still lose).
Please hack those arguments to pieces first before you decide against (available a.k.a. out+hatch). Read the threads for other people's arguments. Especially Nepster disagreeing with me. I didn't give enough weight to (hatch) at first in 2015.

With 4 stats besides the timer, I would print (hatch, available, saved, required).

It's sensible to re-chew this design now, 6 years after we put it in NL and Lix.

Ultimately, though, since the text is IN and OUT, it seems more useful to show which lems are in the hatch and which lems are out in the level.

IN and OUT are terrible names. Ditch immediately, or at least give it less weight in the argument about what numbers are important. IN and OUT are so bad that different ports interpret them completely backwards to what DOS L1 does, and it takes such a thread to uncover the true damage.

"out in the level", what? Better write OUTIN then?

I have no good idea for better short text. Should somehow be about lemmings. ("have" or "available" are not specific, what kind of resource does it mean that is available.) To conserve space, I'd use the icon.

Quote from: Charles
I like showing it as a fixed "required" number because that's how it's shown everywhere else... metadata in the title bar, line on the intro screen.

Consistency is a strong argument, yes, to print (saved, required) as two figures.

NL had massive space problems in the typesetting with the gigantic DOS letters. (saved − required) came from the need to save space and declutter the UI.

There is some saving grace in that (saved − required) is exactly the negative of what's printed elsewhere, (required). Or you can print (required − saved) and do something completely different once that would become negative.

If you have "Never show percentages" turned off then that number shows as a percentage.

Consider to invert the option to "Show save requirement as percentage". Reason: UI guideline to always word boolean options as a positive. User shouldn't check the box for something not to happen. Source: E.g., Nielsen, item 7.

-- Simon

SuperLemmini / Re: [SuperLemmini] WillLem's SUPERLEMMINAS
« on: October 18, 2021, 08:19:08 PM »
player to remember where the trap

For this, the engine (which we assume fosters execution difficulty) should reveal all hidden traps at start of play, with big flashing marks, and then hide them during play.

-- Simon

SuperLemmini / Re: SuperLemminiToo v1.10
« on: October 17, 2021, 11:16:38 PM »
Charles: As helpful as the Sunday may have been, it's beginning to derail your release announcement topic. And I'm derailing it further here. >_>; Should we split the topic?

Would you like mod rights for the SL board here, so you can split topics in the future, too?

We can also split the entire board for SuperLemminiToo, or we can split it later if the interest continues.

Quote from: WillLem
Are you a Windows or Mac user?

No. :P (Linux.)

Quote from: WillLem
I'd be happy to help with the dogsbody of this task in exchange for some Java lessons!

I feel like we have just the right thing:

number for the timed bombers appears slightly offset to the left.
might be worth adding it to the next update.

This bug is an ideal way for you to get into the project. One possible place to start might be, after line 1810. (Or maybe it's to change the font images that getCountdown() returns. Or...)

Get the source and a JDK, edit the code, compile, and see what happens. When you get stuck, which is normal when trying to compile other people's larger projects, ask.

It's either this kind of jump into cold water, or hammering out your own sizeable practice project from scratch, coming back after a few months, and then jump. Consider: You have the maintainer right here for quick questions, the bug is exactly about your die-hard interests, and I see at least one plausible attempt for a fix.

Sure, Charles might beat you at fixing it, but where's the fun in not trying? :D

-- Simon

SuperLemmini / Re: SuperLemminiToo v1.10
« on: October 17, 2021, 06:57:52 PM »
What exactly is meant by "full rights"? When I go to Properties>Security, there are green ticks for all Permissions. Is this correct?

What I mean is: I remember that Windows grants you, as non-admin, read/write access only to some directories. You want to have SLT and root.lzp where you have such read/write access. Maybe write access is already enough.

I don't use Windows. >_>;; Thus I don't know what those checkmarks would be for.

Quote from: Charles
I've patched the error message, but if your path is being interpreted as having %'s in it, then there's probably going to be a whole host of other related places I'll need to patch.

Yeah, I've seen a couple similar such constructions in your, but didn't check every single one for whether the runtime string might end up containing '%'.

At least you know about this kind of bug now, and can catch it by eye. :) But if you already have doubts, then I think it's worth sanitizing the codebase for such unchecked formatstrings in the medium term.

Ideally, all your formatstrings are known by compile time -- some other languages can even typecheck the remaining arguments at compile time based on such a formatstring, and give you compiler errors on format specifier mismatch. Even in Java, which doesn't do that, you can strive to have only string literals, no + or other runtime arguments, in the formatstring.

(I'm no expert about best practices when you can't have that so easily, e.g., when you want to translate formatted error messages into different human languages. It's probably okay to let format throw a runtime exception in those cases, and catch it.)

-- Simon

SuperLemmini / Re: SuperLemminiToo v1.10
« on: October 17, 2021, 04:36:42 PM »
Check if root.lzp exists in your data tree. Ensure that you have full rights in that directory.

Reason: SLT source at the given module and line number. Looks like the exception isn't the LemmException, but it's already flying out of the formatting, which is a (separate) bug that obscures the better error message that you should have gotten.

Reason for obscured error (click to show/hide)

-- Simon

Engine Bugs / Suggestions / Re: [SUG][EDITOR] Levels with no exit
« on: October 13, 2021, 04:27:01 AM »
Right, I meant two separate use cases. I didn't write clearly, good catch. I've edited for clarity.

In addition, for the sandboxes, i.e., exitless maps that have save requirement 0 set by the author, you can employ (d) on top of (c). Here, (d) is really good. This also clears the confusion, (d) is so natural for sandboxes that it explains why namida began thinking of (d) in the first place.

But for normal puzzles with author's requirement ≥ 1, (d) is still weird.

(a) nothing changes
(b) after capping save requirement, if it is 0, never autosave
(b') after capping save requirement, if it is 0, autosave on saving ≥ 1.
(c) exitless map won't cap save requirement to exit capacity
(d) empty replays never autosave

-- Simon

Engine Bugs / Suggestions / Re: [SUG][EDITOR] Levels with no exit
« on: October 12, 2021, 05:50:29 PM »
However - I feel it is wrong to assume the player doesn't want to save replays in the case of an incomplete level.

Yes, sometimes, the player wants to save replays of incomplete levels. Then he will save manually.

On the other hand, nothing is lost by not saving an empty replay.

First, I call this (d): When a replay would be autosaved, if it is empty, we don't autosave.

And then I'm thoroughly confused ??? because implementing (d) seems entirely orthogonal to the original issue, or to (a)/(b)/(c). Consider: We start playtesting the exitless map, we win immediately, we assign some skills, then we exit. We have a nonempty replay that solves the map, and it should be autosaved according (d), but I doubt that we want that.

Also, there are levels where the intended solution is empty. Under (d), the player ends with incomplete pack coverage after solving the entire pack.

(c) a special case is introduced where the "save requirement gets capped to number of lemmings that there's exit capacity for" rule doesn't get applied on levels with no exits.

Still, I feel like this is the best. If the level is a sandbox, author sets the save requirement to 0 and whatever the player does, player will solve and game, enacting rule (c), will autosave replay. Edit: Here, you can additionally filter the empty replays with (d), which is very good.

Edited for clarity: If an unfinished puzzle with author's requirement ≥ 1 gets playtested without exits, (c) won't cap, therefore the replay is never solved because the save requirement is unreachable, and replay will never autosave under (c).

-- Simon

Lix Main / Re: Lix 0.9.39 released
« on: October 12, 2021, 05:16:19 PM »
Lix 0.9.39 released.

:lix-cool: Download for Windows 64-bit -- recommended
:lix: Download for Windows 32-bit -- fallback for ancient machines
:lix: Download for Linux 64-bit
:lix-evil: Source code
:8(): Changelog
:8:()[: Issue tracker

How to update (click to show/hide)
  • Added the dedicated end-of-singleplayer screen to show stats of the finished attempt, to offer the immediate next level, and to offer the next unsolved level in case the player has already solved the immediate next level.
  • Darkened the labels "by" and "Goal:" in front of level nameplates in the browser and in the end-of-level screen. They're now darker than the normal text color. Title, author and goal stand out better in their normal text color now.
  • Re-added 3 levels -- Fill the Floor, Interval Training, Chaos Theory -- to single/clam/Outtakes. Fill the Floor and Interval Training originally needed variable spawn intervals during play; now, they employ floaters and runners at fixed spawn intervals. Chaos Theory originally needed the nuke to solve; now, it employs manually assigned exploders to fling.
  • Updated the Lix source code to comply with the future meaning of the "in" keyword. Updated Lix for package optional 1.3.0 instead of 0.6.3.
It's been months, but it's done and released! Go forth and test, and blaze through the packs with the appropriate feeling of progression. :lix-grin:

-- Simon

Lix Main / Re: End-of-singleplayer screen
« on: October 12, 2021, 05:05:54 AM »
This is how the end-of-singleplayer screen looks in 0.9.39, which I released 2021-10-12.

There are stats at the top-left, similar to what appeared in the browser in ≤ 0.9.38.

Below the stats, there is the usual feedback on replay autosaving and the button to save the replay manually. It should have the same functionality as in ≤ 0.9.38, but we can improve it in the future. E.g., Proxima (?) has always wanted to type an arbitrary filename on manual saving, and I'm contemplating to add quick backroute judging.

At the top right, we have the level that we just played. The caption changes depending on whether your attempt was solved; it says "Try again:" if unsolved. The area is really a huge button, you can click that level to play again, without replay. There isn't a way to resume the just-played replay, let me know if that becomes a problem.

This means that the top half of the screen is about the just-played level.

At the bottom, we have one or two next levels. These appear even if you didn't win. Until today, that survey got 3 yes, 0 no, 1 don't mind. We'll see how it feels!

Performance of the next-level finding code: I haven't looked into it further yet. Let me know how long the screen takes to come up when you get to it for the first time after running Lix. If it takes too long, I'll make the bottom area empty first, parallelize the file searches, and add the next levels when they're found.

I'm looking into a small library dependency issue to make stuff easy for Linux package maintainers. Otherwise, this is all good to go.

-- Simon

Pages: 1 [2] 3 4 ... 229