Save requirement: show during play (July 2015)

Started by IchoTolot, July 06, 2015, 03:50:48 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

IchoTolot

Edit Simon: This topic belongs to a series of related ones:



DISCLAIMER: IchoTolot is not responsible for the content of the following post: ;)

I'm trying to look at Ichotolot's level in Neolemmix.

I open it and pause and look around.

WHY DOESN'T IT DISPLAY THE FUCKING SAVE REQUIREMENT? Now I gotta exit the level again, only to look at one single number. I've reported this bug already! I can dig it out of the IRC log or bug topic, even.

A level is always always always always always played like this:

1. Enter it, look at the landscape.
2. Look at the skillset.
3. Look at the initial count and save requirement.

THERE SHOULD BE NO STEP 2.5: Exit the level.

Ichotolot thought: Maybe it's not so important. The requirement is at most 10 %, because it's a contest level.

IT DOESN'T DISPLAY THE INITIAL NUMBER OF LEMMINGS EITHER! ARG ARG ARG!

-- Simon

namida

The answer is the same as the last time this was brought up, and the same reason why there's no "killed" or "remaining" counter, and why the exact combination of permanent skills is only displayed (in an abbreviated form) when a hotkey is held: Lack of space on the skill panel with the current font size.

That's something that will be dealt with, but dealing with it requires MAIN.DAT changes - ideally to an all new format, rather than yet another "change specific details of the existing setup". This is something that would need to wait for a very major update. Trust me, it will be done eventually. :)
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)

Simon

To leverage my strong opinions, I have to commend the user option for absolute values instead of percentages. It's possible to argue violently about what should be default setting, but I want to be nice right now. :8():

-- Simon

namida

#3
Despite saying I wasn't going to add any new features (only fix existing ones) for now, I decided to make one little concession in this regard... I added a "relative In count" option for the next update. It's a minor thing anyway.

If this option is enabled, the In counter is relative to the requirement. So, for example, on a level that requires 50%, it would initially state "In  -50%". Or, the equivalent as an absolute lemming count, if that's what the user is using. It won't be turned on by default, but it'll be there. :) There's also a little bit of number magic so that it rounds the same way as you're used to - a direct calculation of 1 lemming out of 40 saved (with 20 required) would, for example, give a result of "-48%" in this case usually, but of course, with non-relative In count, 19 lemmings out of 40 saved is shown as "47%". So I made sure it does the same here - it'll display -47% (not -48%) when 19 more lemmings are required in this case.

I still need to fix the odd behaviour with lemmings near the top of the level, and also look into the issue DynaLem's having with the Flexi Toolkit (in case it's a player issue, although I'm fairly sure it's a toolkit one) before any update can be released.

EDIT: In regards to the top of level issue, I've figured that the simplest solution is to no longer treat the top of the level as special in any way (outside of wrap-around levels, of course). Rather, it completely acts just like steel terrain, like the other edges do - this is already the case in most situations, but a few special cases involving constructive skills were still present from the original Lemmix code. I've now removed all of these, with just one special case remaining: a lemming one pixel below the top of the level cannot be assigned a builder (since this would put the lemming outside the level). This does not apply in wrap-around levels.
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)

Simon

#4
Quote from: namida on July 09, 2015, 12:00:29 PM
"relative In count" option
equivalent as an absolute lemming count

What problem are you trying to solve?

Even when knowing the save requirement, the user will still have to exit back to the preview, to look at the initial number of lems.

(I haven't stated it clearly at the start of the rant, yes. The rant was written in rant order, not in bug report order. :-[)

-- Simon

namida

What do you propose as an interim solution until V2.00n (where the text will be resized and thus more can fit in the area above the skill panel)?
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)

Simon

#6


From the image, we see the available space:

OUT.2....IN.0....TIME.----

Assertions:
* You love the space to the left of OUT, so we do not touch that.
* Max initial count is 999.
* We can live with a quick and dirty replacement. You have something better planned.

Proposal with out/initial, in/required:

OUT.9/10....IN.0/5....----
OUT.0/10....IN.10/10..----
OUT.89/90...IN.1/60..10-59
OUT.130/200.IN.70/100.4-59
OUT.70/200..IN.130/1004-59 <- required touches time
OUT.200/200.IN.0/100.10-59
OUT.70/200..IN.130/1010-59 <- time overwrites 1 digit of required

This produces ugly touching of digits only whenever all three conditions apply: in >= 100, required >= 100, and a time limit is given. It will even overwrite 1 digit when in >= 100, required >= 100, time >= 10 minutes.

This situation is extremely rare. Levels where you have to save 100 or more are already rare. A level will always start with in = 0, and so the requirement is clearly readable and separated.

A hackjob is acceptable.

-- Simon

mobius

if changes are made; could they please be as options somehow settable in the options menu screen?
I like the way it is now.
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

#8
Quote* Max initial count is 999.

Although it may not perform too well (especially on lower end PCs) with more, the limit is not 999. I recommend not exceeding 500 or so, but the actual number is limited only by what the level format allows for, which is 65535.

Quoteif changes are made; could they please be as options somehow settable in the options menu screen?

Absolutely. The only change I've made so far is the option for relative "IN" counts, as described before. As mentioned, it's an option, and it isn't even turned on by default. For V2.00n, I'll probably make it considerably more customizable.



One option I could perhaps consider as an interim solution is to use Simon's suggestion (as an option, not as an enforced change) of X / Y, but also shortening OUT, IN and TIME to just O, I and T. How would people feel about that (especially those who'd actually use this option; since the current setup would remain selectable and probably also remain the default setting). At a quick glance it seems Simon's either miscounted the number of spaces available (eg: O 200/200 would be touching the I, if nothing else is rearranged, contrary to his suggestion that even OUT 200/200 would not), but it should be a viable option in some form, especially since the T would probably be where the "E" currently is. This would leave space for up to three-digit numbers on both OUT and IN, with a space either side.
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)

mobius

on the skill panel, if any changes are made my vote is for having a "OUT" counter, "HOME" counter, and a "DEAD" counter in place of the current situation.

I have an idea on reducing some space: in the lemming task indication bar [where it says whether the lemming is a "walker", "faller" etc. those words could be abbreviated. WLK for walker... Or, thought this would be more elaborate; instead of words have a small image of the lemming under the cursor appear there.

Or what about having a second bar altogether. Separate, preferably on top of the whole game [I believe WinLems was like this. Or there might've been one below the skills bar {apart from the one above] which displayed other info like lemmings/requirement]

I personally don't need any of the other info in the bar. With more words and numbers it would get cluttered and be more difficult to look at. Maybe this isn't as important as say, in a multiplayer game (where I think it's very important because you have no time to fool around, you must glance at the bar quickly) I still like it the way it is. Too much information is annoying and distracting.
The count of lemmings is going to appear eventually anyway in the "OUT" field. Plus there's the blinking feature when you've won.

When I play the game I follow the steps that the game itself leads logically to follow;
1. Menu screen; look at the preview pic, then the stats, including save requirement.
2. enter level; look at level and skills.

it's not a bug, this is the way the game was designed, and how I've gotten used to playing since this was first how Lemmings was. I don't get where Simon's frustration comes from. ??? Or where his steps come from?
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

Different people do have different playing styles. It's just like how many people wanted fixed (rather than relative) skill hotkeys; while on the other hand some people absolutely wanted relative ones - in my case, I don't use them full stop, I just pause and click the skill I want. There's nothing wrong with that.

With your skill panel suggestions, are you meaning for V1.35n-C (where ideally I'd want to do minimal changes) or for V2.00n? If you mean the latter, I plan to make it a lot more customizable there, rather than just having one or two options.
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)

Simon

#11
Basically, pausing during the game should be at least as informative as the preview.

Not displaying vital information during the game is bad. It's comparable to making the exit invisible and showing it only on the preview screen. I don't know any other game than Lemmings that shows the target once, then hides it permanently.

Watching other people play suggests that I'm not alone with forgetting (initial) and (required). Ichotolot has watched namida's live recordings, and namida goes back to the preview occasionally to read the numbers.

Making people remember numbers is a cognitive load that we cannot justify. Whenever we can remove mechanical thinking, it's a good thing to do. Then, we can focus on other things.

People are good at pattern recognition, not at remembering numbers. So let's allow them to do the joyful pattern recognition first, by looking at the level inside the game.

If an interface has problems, but there is no alternative program, people will use it anyway. And they will learn it, and learn to work around its shortcomings. Lemmings in the early 1990's was exactly such a program. :-)




Uncluttered GUI is a very strong argument in general. When an interface looks like an airplane cockpit, it's badly designed. With too many functions and statistics, you can't make a permanent button/display for everything. However, in the case at hand, we have 2 extremely vital numbers, not 5 rarely needed buttons.

I've always thought that you need 4 numbers for an adequate full-information display: (initial), (out+hatch), (saved), (required). Alone, (out) isn't too useful, either (out+hatch) or (initial-dead) seems better.

From your suggestion of (dead), I suspect there's a 3-number combo that works completely well: (dead), (maxdead = initial - required) and either one of (initial), (out+hatch), (initial - dead). The reasoning is that in singleplayer, we don't care about how many are saved exactly. We mostly care about how many we can still neglect. It remains important to know the initial count for general early-level planning.

Well, the contest levels are about saving a small amount. Here, we care about the exact number to save, not about the neglected. ;-) This type of level is not as common as save-79/80-levels.

-- Simon

namida

Indeed, that's more common - but the inverse does still exist, even outside of the current contest. Cascade comes to mind. I can't think off-hand of any examples in my own levels, as the two that stand out the most for low save requirements have a save requirement of only a single lemming (out of 100 in both cases) which would be quite simple to track, but I'm sure that, especially across all levels combined, there are some.
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)

ccexplore

Unless you also change the preview screen to show death-oriented counts, it feels a little strange to me to have the goals represented so differently between the preview and in-level.

Perhaps I missed something critical, but I'm not sure I understand why the space to the left of OUT is so sacred.  mobius's suggestion to abbreviate seems like a good solution there.  You can even code it up so that it only abbreviates when not abbreviating would result in running over.  It might not even require that much abbreviating--what's the longest texts that can show up there?

Once OUT can be shifted a little farther left, you can go with Simon's out/initial in/required proposal, with a layout that can accommodate the majority of levels (eg. 3-digit OUTs, 3-digit INs, 2-digit minutes and seconds).  If you really hate overlaps, you can even code it up so that in situations where overlaps would occur (which is expected to be rare and mostly under the control of the level author), you go back to the old format of dropping the "/initial" and/or "/required" (whichever one(s) is/are running over), acknowledging that a better solution is forthcoming anyway in the future.

Abbreviating "OUT" and "IN" makes sense, though I feel I would keep them unabbreviated mostly to be more newbie-friendly.  If you abbreviate them, I wonder if you might as well remove those labels altogether, since I imagine most people can work out what the numbers represent after a few hours of play.  Removing the "TIME" label makes sense as the time gets updated every second, so it's very easy to figure that out even without the label.

Clam

Re. "saved" vs "dead":

Lemmings saved is a "positive" goal (you win when you save this amount). Lemmings dead is a negative goal (you win when the level ends and this number aren't dead). I think better fits the feel of a "save-em-up" to give positive goals rather than negative. Also, not dead doesn't imply saved – you can have lemmings left over on the level that can't reach the goal, which the game can't track for you unless all the other lemmings are gone.

The 79/80 thing is a matter of tradition. Lemmings and ONML (more often the latter :)) had lots of these, but custom levels don't have to follow this. I tend to question whether you need so many lemmings on a level anyway – typically most don't do anything and are just there to make up the numbers.