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 ... 205
1
Lix Main / Re: Progress to next level without getting back to menu
« on: June 01, 2020, 02:28:03 pm »
Thanks.

Quote
Game just stops when the last lix dies but you haven't saved enough. The indication of what is going on is just a small text in the task bar, and I was confused

Yes, this is a visibility problem. I'm happy to point more egregiously to backstep and to restart. I'd like to avoid a dialog here.

Quote
The menu [singleplayer level browser] already has so much information that it [result of recent attempt] stands out less,

Right, this is the most serious push towards a dedicated end-of-level dialog. I'm contemplating to reintroduce a dialog already to avoid clutter, and still cleanly distinguish between finished attempt and player's record.

Quote
Data loss. If you don't have auto-saving enabled, the "Save replay" button is similarly hidden like the stats. Easy to miss and once you swap to a different level, your replay is lost.

This is hairy.
 
If we introduce an elaborate end-of-level dialog, e.g., with preview of next level, we risk burying the button again. On the other hand, since winning replays are autosaved by default, I'd rather not prompt with a second dialog for the data loss, nor make the single dialog small only for this.

-- Simon

2
There are really two problems here:
  • Internal representation while the replay is in RAM. We want to reorder cloners in the replay without the replay failing unrelated assignments. This internal representation I had in mind as target for the idea with the list of integers (= recursive tracking of sources plus the n-th time the source has produced a lemming).
  • Serialization to file. We don't necessarily have to touch the format definition; we might work around it and avoid a format change.
Maybe we can serialize the IDs to the classical integers (including their odd behavior, and future NL must remember 12.09's quirks of how it assigns IDs internally, to use that quirk for this serialization of list-of-integer to a single integer). When the replay gets loaded, the integer IDs convert to list-of-integer.

The problem is that this loading-and-converting seems to need a physical passthrough, or at least an interpretation of RR changes. Nasty nasty nasty, many little details to squish in mind. There is no clear good and bad here. :'(

-- Simon

3
This is a lovely problem. I've lurked since the thread's beginning but don't have good answers yet.

A possible ID datatype might be finite list of integers ≥ 0. Hatch-spawned lemmings have only one element in their list: the old ID integer. Cloned lemmings copy the source lemming's list and append the smallest integer ≥ 0 that wasn't yet given to an earlier cloner with this same source lemming. List of integer is reasonably easy to serialize to file.

The idea is that each lemming remembers its source, which remembers its source etc., and at the beginning there is only the pool of hatch-spawned lemmings and pre-placed lemmings, which have a natural order (at least when we assume 12.09 physics features) and thus need not remember additional sources.

If you want to make it even sturdier/more elaborate, you might even argue that there are other ways that spawn lemmings in hardly-forseeable orders, and that it makes sense to explicitly remember ((hatch pool) -> 3rd) instead of only (3rd). Or maybe the system should remember different ways to produce a lemming from a source, e.g., lemming walks into hypothetical cloning apparatus, which should not affect cloner assignments that we later want to reorder. But I'm likely overdesigning.

Anything we do here Most ideas introduces a format change and should be mentally squished thoroughly.

-- Simon

4
Lix Main / Solved: Black screen in macOS build, January 2019
« on: May 29, 2020, 01:39:22 am »
Closing this because Benedict (new player, I exchanged some email with him) got it running perfectly on the Mac.

I'm happy that Lix compiles and runs well on the Mac now, even though we've never found the true reason for this #381. SiegeLord was happy to chalk an Allegro problem up to a known 2018 bug on OSX. Given that, I'm content closing this, hoping that the same Mac bugfix also fixed this #381.

If anybody runs into troubles on Mac again, feel free to file new bugs!

-- Simon

5
Lix Levels / Re: The original Lemmings 2-player maps
« on: May 27, 2020, 06:06:49 pm »
No, Lix doesn't load Lemmings 1 nor Lemmings 2 terrain. It doesn't load Lemmings 1 .lvl maps either.

This always felt like too much extra work to port. :lix-ashamed:

Is that the only reason? I was under the impression it was a copyright thing...

Having code in program X that loads L1/L2 assets is fine, as long as X's code came from reverse engineering, not from copying L1/L2 source code. This is clean room design.

Copyright demands that X not contain the assets themselves, such as L1/L2 levels or tilesets or close deviations of them.

Patents may prevent reverse engineering, but Lemmings isn't patented. Patent laws are even nastier than copyright laws, and I know less about them.

Copyright law is muddy, is convoluted, differs by country, and is heavily lobbied. There was plenty of publicity and advertizing in the 90's and 00's against copyright violation, suggesting that violating copyright is morally bad.

Still, violating copyright has executive downsides only when the other party sues, which is a risk for both sides, or when they cease-and-desist the violating project. A violating project might gamble that the copyright holder never does anything. But I found that too risky for my hobby, and thus Lix is fully free-and-open-source.

-- Simon

6
Lix Main / Re: Spawn interval fixed per level, 2020
« on: May 27, 2020, 04:02:49 pm »
Quote from: WillLem
It's likely that the designers of [Lemmings 3D and Lemmings Revolution wanted to bring it [variable spawn interval] back because they simply preferred it being there.

More likely is that the L3D and LR designers were told to remake L1, and copied L1's methods of physics interaction without questioning anything.

After all, they weren't DMA. DMA designed L2 and L3 with fixed spawn interval, then stopped making Lemmings. DMA's Lemmings either have fast-forward or variable spawn interval, never both.

Quote from: geoo
If you add additional features that are only used a few times, you're requiring the player to learn more stuff, only to forget about it again (and then maybe not think of it anymore when it's finally needed again, or conversely try to apply it everywhere without needing it). It can often feel tacked on.

Yeah, this is my reasoning too. In the end, it's a design decision.

With "additional features", we mean features of Lix's physics here, not features that help the player tell the computer what the player has in mind.

Rationalization for Lix's design to fix SI per level: VSI wouldn't pull its weight as a game mechanic: VSI would be a third way of control, next to skills and nuke. Diluting the fundamental design here -- everything happens via skills wherever possible -- would need far more support than mere player convenience.

Quote from: WillLem
That said, I'm still going to play Lix and maybe I'll at least see the benefits of its exclusion from the game, even if it's not my personal preference.

That's my hope, too!

-- Simon

7
Lix Main / Re: Progress to next level without getting back to menu
« on: May 27, 2020, 03:21:25 pm »
Quote
it's a different sort of challenge, and adds another dimension to the game. [...] However much it may serve the game's other aspects, some players are undoubtedly going to notice the absence of these things.

Certainly.
Lix doesn't force an order of levels on you. Clones had unlock-all as option.
Lix doesn't force costly resets when you misplace a builder.
Lix doesn't have player-variable spawn interval. The level author shall set it best.
Lix doesn't have the slider.
Lix doesn't have the laser blaster.
Lix doesn't have the fan.
Lix doesn't have 3-D levels.
Lix doesn't play strong chess against you.
Lix doesn't cut your pineapple into slices.

Where to draw the line besides relying on taste?

I'm happy with redesigning end-of-level. I still doubt that an unlocking system will pull enough weight to warrant the effort.

-- Simon

8
Lix Main / Re: WillLem plays Lovely 6-10
« on: May 27, 2020, 02:07:48 pm »
I split off everything about the spawn interval into Spawn Interval fixed per level, 2020.

Forestidia created Progress to next level without getting back to menu, thanks!

WillLem's graphical lag is from the old machine, his new machine runs Lix well. That's great to hear.

Can the Lix Runner be cancelled with a Walker? Also, does it speed up all skills or just the walking state?

Cannot be cancelled. It's a permanent ability like climber.

The runner walks faster, and the runner jumps higher and further. Nothing else is accelerated.

-- Simon

9
Lix Main / Re: Spawn interval fixed per level, 2020
« on: May 27, 2020, 01:50:41 pm »


Gist from Youtube: WillLem plays lemforum/Lovely 6-10: At least Every Lix for Herself (early Lovely) is nasty to play when we want to save all; we must assign 10 floaters in slow succession. It is natural to want to save all. Saving all would benefit from variable spawn interval.

My interpretation: If the player wants quicker spawn interval, we should change Every Lix for Herself and flat-out give that spawn interval. (Or let us change Lix in a different way, I don't see how.)

I'll quicken the SI on Every Lix for Herself for Lix 0.9.32, unless we find something better.

Indeed, clustering is unrelated to this.

-- Simon

10
Lix Main / Re: Spawn interval fixed per level, 2020
« on: May 27, 2020, 01:40:59 pm »
Right, this is fixed per level. This was a substantial design decision. Rodents are controlled via skill assignments, and a player-variable spawn interval ("VSI") would be alien to this core game idea.

Reply by WillLem: Would it? I disagree here, and I also think it's a shame that the makers of Lemmings never developed the idea of using RR control except for in that one level in Oh No!.

Tradition is a weak argument: We aren't trying to replicate Lemmings 1. There is already vanilla Lemmix for that... To be helpful for the player is not a good argument for a game rule either.

Reply by WillLem: Neither of these would be my main arguments for its inclusion. I would turn mainly to its tactical potential, not to mention its usefulness as a way of speeding up the release of the crowd generally. It's not "helpful" in the same way a player-assist tool is, it's more... immersive, I suppose; it puts the player in charge of all facets of the game, not just the skill assignments, which opens up more possibilities for inventing solutions.

I dislike too many levels with only one solution: this style of play gets very frustrating after a while, and you start to feel like you might as well be playing Sudoku. It's good to vary it up a bit, give the player options.


Hmm. I feel there must be better game designs than either VSI or runner to bunch the rodents.

Reply by WillLem: I appreciate your wanting to find alternative solutions to this idea rather than just cull VSI. But - why cull VSI at all if you acknowledge that it has some use? Why not offer VSI and Runners? Then, level designers & players alike can choose which method to use and when...

That's true and release rate certainly wasn't my favorite cull, but at the same time, even in games like NeoLemmix where it remained, how often does one run into levels where changing the release rate is actually used for puzzle purposes?

Reply by WillLem: It comes up in Lemminas a few times, particularly for time-related talisman solutions. I'm always looking for creative ways to include it in levels without making them too difficult. I suspect that, as time goes on, I'll get better at this, and notice its absence from Lix all the more. That said, I'm still going to play Lix and maybe I'll at least see the benefits of its exclusion from the game, even if it's not my personal preference.

though it did make a comeback in Lemmings 3D and Lemmings Revolution.

Reply by WillLem: It seems to be a preference-based thing, then, rather than an essential part of the game. It's likely that the designers of these games wanted to bring it back because they simply preferred it being there.

Ironically, I've always felt such an alternative actually makes the goal of bunching lemmings more fiddly to execute compared to a release rate change.

Reply by WillLem: Exactly! It seems to run counter to the philosophy that Lemmings should be fuss-free, execution-wise! Who wants to mess about assigning Runners to bunch Lemmings when you can just get the desired gap with the click of a -/+ button? That said, I suppose it does mean that you can bunch them in places other than out of the entrance hatch, and in a slightly more controlled (albeit fiddly) way.

Still, whatever its effectiveness and pitfalls may prove to be in multiplayer, it sounds reasonable to at least offer as one more thing the player can use or not use as they see fit during multiplayer games.

Reply by WillLem: This underlines my philosophy when it comes to Lemmings, and indeed gaming in general: give the player the option, and let them decide whether or not it ought to be part of the game. Of course, I realise this isn't always practical or necessary, but it's a good rule of thumb in that it generally encourages positive and inclusive design choices.

Just to be clear, it has been discussed whether NL should cull them too, but the decision was that it isn't going to happen. That definitely isn't going to change now

Reply by WillLem: I should coco, too! :lemcat:

11
Lix Main / Re: Spawn interval fixed per level, 2020
« on: May 27, 2020, 01:30:56 pm »
release rate is useful for way more than just speeding up the stream once the level is solved...

Reply by ccexplore:

That's true and release rate certainly wasn't my favorite cull, but at the same time, even in games like NeoLemmix where it remained, how often does one run into levels where changing the release rate is actually used for puzzle purposes?  It's also of note that even in the official Lemmings franchise, they removed the ability to change release rate starting in Lemmings 2, though it did make a comeback in Lemmings 3D and Lemmings Revolution.  It is basically deemed less essential than a timer, the one thing that was kept throughout the franchise.  (Though even in Lemmings 2 the timer already felt less emphasized too--don't remember any 1-minute levels there.)

When the cull occurred in Lix, one of the alternatives as pointed out by Forestidia, is adding runners to the level, to help deal with the cases where a temporary change in release rate was used to put a bunch of lemmings close together.  Ironically, I've always felt such an alternative actually makes the goal of bunching lemmings more fiddly to execute compared to a release rate change.


End reply by ccexplore.

Quote from: ccx
Ironically, I've always felt such an alternative actually makes the goal of bunching lemmings more fiddly to execute compared to a release rate change.

Interesting. I agree that the runeer doesn't feel nice to cluster, either.

But I would have thought that the bunching would be much easier because you can bunch exactly where you need it. I guess the runner's permanent future speed, after you achieved the bunching, throws wrenches in your ideas?[/i]

The bunching via VSI feels so remote to everything else we do with the rodents. It must be planned far in advance. Hmm. I feel there must be better game designs than either VSI or runner to bunch the rodents.

Reply by ccexplore:

Well, as I understand it, you'd assign the lemming behind a runner, and then after some hopefully short amount of time when it gets close enough to the lemming in front, you then assign the front lemming a runner as well so they stay the same distance thereafter.

If you need to bunch together more than 2 lemmings, you'd have to repeat the above.  VSI sometimes opens the possibility of only needing to set the SI once to match the natural periodicity of motion (eg. time walking back and forth once between two obstacles) and then all the lemmings coming out end up together perfectly.  Granted, while this is a useful trick for challenge solutions, maybe it's not a trick you want to get too popular across custom levels.

Giving a second runner to allow the lemmings to maintain same distance after catching up seems generally recommended to not frustrate player execution-wise.  Yet it opens possibility that in some cases, maybe it's enough if the runner momentarily catches up to the non-runner at just the right time and place, you don't actually need the other runner assignment to maintain the close distance.  Then you save the runner for potential use elsewhere, and potentially backrouting the level.  Even if there is no backroute concern, it's a somewhat annoying side effect that you now end up with 2 speedy lemmings from now on even when there's no need at all for the speed.  Even in the case where you manage the level with one runner, it may still be annoying that the lemming is now permanently fast.

It is true that with runners you can do the work closer to the location where it is critical for the lemmings to be bunched together, certainly in comparison of VSI where you need to deal with it way early around the time the lemmings came out.  This VSI problem can lead to the dreaded "restart to almost the beginning, losing all the otherwise perfectly fine moves in the replay because altering SI affects the timing of every lemming thereafter".  I guess it depends on how easy/early you are able to anticipate the need to bunch the lemming when examining the level and planning for solutions.

In the end, all this is more an observation that runners may help achieve some of what VSI achieves, but obviously they do so a bit differently from VSI and each has their own side effects.  It's not ever going to be a perfect substitute, but of course, the real answer is that if too many levels were too affected we wouldn't have culled anyway, and hopefully the few affected levels are okay to re-design a bit more radically to either better integrate the usage of runners, or abandon the idea of bunching the lemmings in favor of doing something else interesting for the solution.

I think having come from a background of doing many challenge solutions in Lemmings, I probably always had a bias for clever uses of VSI.


End reply by ccexplore.

12
Lix Main / Re: Spawn interval fixed per level, 2020
« on: May 27, 2020, 01:27:19 pm »
Moved from thread: WillLem's thoughts about Lix

Quote
- No release rate control - or if there is, it isn't obvious

Right, this is fixed per level. This was a substantial design decision. Rodents are controlled via skill assignments, and a player-variable spawn interval ("VSI") would be alien to this core game idea.

Considering a Lix player who has not played Lemmings, would they miss VSI, or feel that the design is incomplete in this area?

Tradition is a weak argument: We aren't trying to replicate Lemmings 1. There is already vanilla Lemmix for that.

To be helpful for the player is not a good argument for a game rule either. It would also be helpful to pause lixes in place arbitrarily, or to have unlimited walker skill, or to teleport up to three lixes per level. The assisting tools such as framestepping should be powerful indeed, but not the gameplay mechanics; the mechanics should make a reasonable whole.

I find the floater and runner weak, too. Were I to start from scratch without preexisting levels by our community, I would cut both of these. I'm sure we can do better, the slider is already more interesting than the floater.

VSI was easier to cull than either of these two. And at the time of the VSI cull, the runner's existence was one of my main arguments for the VSI cull, thus I didn't consider the runner's cull for a while.

Quote from: ccx
Ironically, I've always felt such an alternative actually makes the goal of bunching lemmings more fiddly to execute compared to a release rate change.

Interesting. I agree that the runeer doesn't feel nice to cluster, either.

But I would have thought that the bunching would be much easier because you can bunch exactly where you need it. I guess the runner's permanent future speed, after you achieved the bunching, throws wrenches in your ideas?

The bunching via VSI feels so remote to everything else we do with the rodents. It must be planned far in advance. Hmm. I feel there must be better game designs than either VSI or runner to bunch the rodents.

-- Simon

13
WillLem's blurry subpixel antialiasing looks like Windows 10 font settings problem.

Attached is picture of NL run via Wine on Linux. Clear sans-serif pixellated font.

-- Simon

14
Lix Main / Re: Progress to next level without getting back to menu
« on: May 22, 2020, 11:25:50 pm »
If the push is really this strong, I can reconsider the end-of-level box.

Still, I should first make it much more catchy in the level browser, printing the results where the preview would be. We can then argue how much this helps for the flow.

-- Simon

15
Lix Levels / Re: The original Lemmings 2-player maps
« on: May 21, 2020, 11:49:25 pm »
No, Lix doesn't load Lemmings 1 nor Lemmings 2 terrain. It doesn't load Lemmings 1 .lvl maps either.

This always felt like too much extra work to port. :lix-ashamed:

I introduced Lemmings 1 file support in L++ in summer 2009, before showing L++ on the forums here in October 2009, to make it look nicer. In the years after, NeoLemmix filled the Lemmings 1 terrain niche.

Try Proxima's maps! Have fun!

-- Simon

Pages: [1] 2 3 ... 205