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 - WillLem

Pages: [1] 2 3 ... 241
Other Projects / Re: Lemmings for Scratch 2
« on: July 20, 2024, 10:29:17 PM »
i agree, i recently closed down production on the game because i had no way of getting the ground and skills to work properly, along with my remake of love a lemming, and chronicles+ is now gone due to noone jumping into it.

It can be difficult to get support for a project on these Forums, but if you’re into it and believe in it then don’t give up. People might get more into it if it’s further along in its development.

Good luck!

Challenges / Re: its not about the played, its the player
« on: July 19, 2024, 07:00:08 AM »
To add to this, I'd probably put Chimpanzees, Gorillas and other trainable primates forward as potential candidates for being able to learn a video game as complex as Lemmings.

If the interface could be adapted for underwater conditions, perhaps Dolphins and Orcas could also give it a very good try!

Tech & Research / Re: The Direct Drop Topic
« on: July 19, 2024, 06:37:05 AM »
TL;DR (this is a long one!)

Thanks everyone for your patience and for indulging me in this discussion so far, I understand that it must be frustrating to go over old threads again, and I appreciate the opportunity to add my voice to the discussion at this late stage.

@Turrican - I highly doubt the community standard will change anytime soon! And, changing the accepted standard is certainly not the point of this thread. I'm just interested to discuss and research the possibilities of DD and offer an alternative perspective on it, that's all. Thanks for your valuable input and for the replays, please can you also post a zip of the levels themselves? :lemcat:

I am completely fine, with the current situation of having engines that support it like Superlemmix

Honestly, I think I needed to hear this. As much as I want SLX to be a true representation of my own ideals, I also do want people to like it. It's impossible to please everybody, but I'd also be disappointed if something like DD put people off even giving it a try.

Not that I have to worry about that in your case; you've converted a pack of levels, which I very much appreciate! :lemcat:

The reason , that I am opposed to this feature , on this thread, is because , I don't want it , to become, the new community standard

Maybe I underestimate my influence on the Forums, but... I highly doubt that DD would ever become the community standard, having been so comprehensively rejected previously. What's far more likely (and what I hope) is that it will be accepted specifically in SuperLemmix as an alternative, whilst continuing not to be a feature of NeoLemmix, Lix and others which are far more likely to continue to follow the community standard.

This topic is more about simply researching the mechanic itself, exploring both the possibilities and potental problems of it, and re-opening the discussion I didn't have a chance to take part in previously, rather than an attempt to redefine the community standard.

Perhaps your concern is that I mentioned in our Discord PM that I don't want to suggest potential backroute fixes for DD (even though I can think of plenty!) because I don't want to perpetuate the idea that DD is something undesirable that needs to be fixed. I should be clear that I was specifically referring to its implementation in SuperLemmix, and more specifically in response to Jeremy's suggestion that we make a special exit for it that doesn't allow DD. Implementing such a feature reinforces the message "DD is bad, here's a way around it if you don't like it". Instead, I'd rather continue to promote the idea that DD can be an interesting game mechanic, particularly for challenges, talismans and alternative solutions (all of which are game elements I hope to bring to the fore in SuperLemmix). I think that there is very little chance of SLX replacing NL as the community standard, but it may certainly attract speedrunners, challengers, and players who prefer the more traditional gameplay style. This represents a small proportion of players in an already very small community, so the threat to the status quo is relatively low, if existent at all.

NeoLemmix is very likely to remain the community standard for the forseeable future - someone would have to come up with something pretty darn special to outright replace it, and discussions around game physics, etc would likely resurface and be re-evaluated at that time anyway. Or, in the scenario that I'm called upon to help with NeoLemmix development after its final release, I absolutely would not make controversial changes to the physics, I would respect its development history and maintain the status quo regardless of my own preferences.

It seems worth making the above clear at this point, since there has been talk of me making further contributions to NL development, and I really don't want the community to worry that I would do anything to upset its gameplay mechanics, which I'm aware result from years of careful tailoring. As long as namida is active on the Forums, I would likely never do anything without his specific approval anyway, and if he's unavailable I'd go to Icho and Simon next, as these are people I know namida trusts.

Hopefully, with that said, we can continue to discuss DD without any such concerns.

So, the following days , after that post , I did some testing , on various levels from various levelpacks

Thank you for sharing these! You've been quite thorough - am I correct in assuming that these are the only levels you found in those packs which have DD backroutes? My own research has turned up 3 in 120 (or 1 in 40) levels that can be backrouted using DD; I wonder if your research also reflects this figure.

Also, could you add a zip of just these levels to your post for quick access? OK if not, I can download the full packs if needs be. Again, thanks for doing this valuable research! :thumbsup:

the fact that it's technically possible to make a completely different graphic ... doesn't override this huge base of tradition.

Fair point, but the fact is that we can now make exits look like anything. Whilst that doesn't necessarily mean that physics must be reconsidered, or that any such reconsideration is necessarily a good idea, it does at least provide the opportunity to reconsider them with arguably good reason.

And I say that as someone who almost exclusively uses the OG styles in levels, and is a strong advocate of traditionalism in the Lemmings game! ;P

Also, I did specifically address the OG exits in my previous post (i.e. the visual designs of these exits make sense for midair exiting (definitely, because steps) and direct drop (in my opinion)).

Meanwhile, the decision was taken to not allow Jumpers to exit in NeoLemmix, so I'd ask why not, if the images clearly show steps that can arguably be "landed" on? Or, to state more explicitly what I'm getting at here, why should visual design be a consideration for Direct Drop but not for Jumpers?

Based on the analysis, it's very, very clear at this point that direct drop was a glitch in the official games.

I have very little doubt that it was, but we aren't always necessarily concerned with following the blueprint set out by the original games (including what should or shouldn't be considered a bug), that's something we can in fact all agree on.

Having said that, I'm aware that DD has been discussed at length on its own merit, which brings me to your final comment:

It really feels like your constant revisiting of it is based purely on "let's make more stuff happen, and justify it later" (which yes, is something I was also very guilty of during the earlier days of NL) than actually considering whether it adds value and/or makes sense.

It's fair to call me out on this because I do bring it up a lot, but I was late to the party and never had a chance to add my voice to the conversation. Honestly, I'm grateful that people are responding to this topic and indulging me. Other Forums might have shut it down as a dead topic, so the fact I'm being given allowances here isn't lost on me, I assure you.

And yes, it seems that DD has been discussed extensively, and its bug status wasn't the only deciding factor in its eventual removal from NeoLemmix - this is a good thing. However, I still think there's room for challenging the narrative that it's definitely a problematic game element; I believe it both makes sense and adds value, and that's really what I'm hoping to demonstrate with this topic.

Hopefully Turrican posts these levels he's found, and I'll definitely give them a look and assess the damage for myself. I absolutely do trust experienced Forum members, engine developers and level designers in their opinions on what's right and wrong based on prior research, and there's lots I've conceded over my few years here on the Forums so far. But, there are some things I need to actually see for myself before I can fully understand the other side of the argument, particularly if it's something I'm invested in and feel strongly about.

Full disclosure, it's probably an ADHD thing - I get super excited about an idea and, as you've quite rightly pointed out, I just want to see it in action first and then probably do feel the need to justify/discuss it later. I understand if that's sometimes frustrating for people who've very much "been there, done that", and I appreciate your patience - for me, this is an interesting and stimulating discussion!

Tech & Research / Re: The Direct Drop Topic
« on: July 18, 2024, 08:05:54 AM »
Coming back to this:

Consider the actual visual representations of objects, i.e. how they are presented to the player, not how the game sees them internally.

At present, it's possible to design a swirling vortex and have it be an exit. It's also possible to design an exit with steps and a doorway. Which design should the physics match?

In an environment that allows a range of custom styles and endless design possibilities per object, it very quickly becomes absurd to make decisions like "exits shouldn't be accessible in midair", because someone might design a mid-air exit. Conversely, we also shouldn't only allow exiting in mid-air, because someone might design a ground-based exit (as in the OG styles). And to flip the argument itself, if someone designed an exit that was mounted to the side of a wall, we wouldn't suddenly decide that only Climbers should be able to exit!

The point is that it seems far better to make decisions based on the effect of the trigger area, rather than any one of an infinite number of visual design possibilities. So, we decide "for each interaction, exits remove the lemming and increase the rescue count by 1"; no further decisions about exit behaviour need to be made. We have a simple, easy to grasp, consistent concept that's applied gamewide and doesn't rely on a list of factors.

Does it matter, then, what exits look like? I guess I'm arguing that it doesn't, but only because they can look like anything in the context of an engine that allows custom style creation.

But, perhaps that doesn't really answer Dullstar's comment. For that, let's take it right back to the OG styles, and tackle the question of "physics = appearance" head-on.

The OG exits are all grounded, all have a doorway, and most also have steps. Can safe interaction in midair and via DD be justified with these designs?

For midair situations, the steps themselves provide something for the lemming to "land" on - Jumpers, Reachers, Fallers, Gliders, Floaters, and indeed any other lemming state should be able to physically interact with the steps.

For DD, unsafe fall distances are trickier to justify, admittedly, although my instinct remains that safe interaction is correct. I guess I imagine that the exit itself provides anti-splat properties (in the same way that an anti-splat pad or an updraft does), or that the doorway pictured is some sort of vortex which draws the lemming in (or at least resets the fall distance at the point of contact). Maybe exits are just "magic", and allow the lemming to defy gravity simply by being in the immediate vicinity! 8-)

Tech & Research / Re: The Direct Drop Topic
« on: July 18, 2024, 05:40:03 AM »
A better test would be to transfer a usermade pack made in a non-DD environment to a DD environment and see how many backroutes open up

Had a look at Mike's Lemmings (SuperLemmix Edition) today. This pack was originally created for NeoLemmix (plus, several of its levels were for other engines, and have been converted to new-formats NeoLemmix), but has a SuperLemmix-specific conversion.

As far as I can tell from a detailed look at each level, its intended solution, the available skillset, and my existing experience with finding and creating DD solutions, none of these levels can be backrouted using DD.

I'll have a look at GeoffLems next, and possibly NepsterLems if I get around to converting that one (currently likely).


Eric has now ordered Yippee! Even More Lemmings, so all that remains is to order the Lemmings Multiverse levels. I've already made a start with this, but if anyone wants to make any suggestions or submit an ordered group (or even a fully ordered pack!), we can extend the deadline to 31st July 2024 now that significant progress has been made.

If you wish to get involved, download the attached zip and use this guide to order the levels as you wish:

Guide to ordering levels (click to show/hide)

Many thanks again to Eric for helping with this so far!

Heads up for volunteers!

Any levels in ohno_brick, ohno_rock and ohno_snow may have exits in the "wrong" position (i.e. too high or too low) - this is not incorrect!

These styles have been updated in SLX 2.8, and the exits are in fact in the correct position for the updated styles. This update has been made in part due to Rivals exit markers now being a thing, and in part due to improved number positions for exits with lem caps.

So, if you wish to playtest the levels, my advice would be to do so using a copy of SLX 2.7.3 and the "old" version of the level. Or, if that's inconvenient and you'd rather just move the exit, that's OK. I'll most likely use a fresh copy to compile the pack anyway, and simply update the ordering as suggested.

SuperLemmix / Re: [FEAT] Rewind button / hotkey
« on: July 11, 2024, 11:13:42 AM »
Assuming your observations still apply to your recent versions, I expect the biggest gains from:
  • (biggest gain) Find the conceptual difference between the one-shot n-tick rewind and rewind mode. Without looking at your codebase, I imagine that it's best for rewind mode to be implemented in terms of the (backend of the) one-shot rewind-n-ticks technology.

Since implementing Rewind as a game speed, some of the refactoring has Rewind behave (exactly) like Pause, rather than using Pause separately to prevent physics updates. This already seems to have boosted performance, but there is more to be gained.

The actual rewind mechanism is 1:1 identical to a normal backskip; the exact same method is called (GameWindow line 583 in the linked commit). The repeated keypress is simulated using a TTimer event, which seems a stable enough solution (especially compared to some of the other methods I tried).

I tested the actual repeat keypress again on a level with lots of objects and lots of skill actions; it's actually not that much better than the Rewind mode - there is still some drag now and again when there is a lot of drawing happening.

(also big) Savestate more often.

I'm going to try this, but I need to figure out how to do it first.

Tech & Research / Re: The Level Edges Topic
« on: July 11, 2024, 11:07:00 AM »
It depends what you define as the boundary of the level, really. If you define it as where scrolling cuts off, then yes

Wherever the lemming remains visible (not including minimap). So, at least in DOS, this would be the scroll cut-off.

Gif for the behavior for Winlemm 95 on the Right, looks like force-field, but the Lemming clips through. Current stairs were nearing the end, so maybe not fully definitive.

Thanks for testing this. I think I remember doing this a while ago and realising that the lems end up stacking bricks upwards due to the edge attempting to turn the lem but the Builder action being unhandled (i.e. not cancelled or moved out of the "turning" area as necessary). It's partly what inspired SLX's force-field edges, as I recall.

As I tried on the Left the game crashed, Maybe I try again later.

Confirmed, I get a crash as well. It seems the edges in Windows '95 aren't properly handled, and the devs either hoped nobody would bother to try making it to the edge, or it just never came up in development as a question.

if it's going to be done, it's worth making sure it gets done well :P so I could help with task B if you can give us the groups from task A as a starting point.

Agreed, thanks Proxima. Your help with this will be much appreciated!

We have all levels grouped into 4 categories in each pack now. All that remains is to order the levels within their groups. So, let's concentrate on ordering for now.

If you (yes, you!) want to take part, please grab one or both of the zips and have a look at the groups of levels. At present, they are grouped more or less correctly by difficulty, but now need to be ordered from 1-30 within each group.

However you decide to order them, please keep the level filename the same, and only change the number at the start. So, for example, let's say that it's decided that this level should be level 15:


It would need to be renamed to:


Even if you only order 1 group of levels, that's a valuable contribution to the project. Post your ordered group here in a zip or PM it to me on here or Discord.

N.B. Don't worry about the groups in Multiverse that have less than 30 levels - these can still be ordered, and the 11 additional levels can be worked in later. The important thing at this point is to get a basic order sorted, which can later be re-worked as necessary.

EDIT: Downloads removed

Hi David,

Eric has reported on Discord that the Slider fix present in NeoLemmix 12.13-RC and SuperLemmix (all versions) results in the following behaviour on level 100 Metres 18:

NeoLemmix 12.13-RC solve
SuperLemmix solve

Thought it best to bring this to your attention in case you wanted to fix this level :)

SuperLemmix / Re: [FEAT] Rewind button / hotkey
« on: July 10, 2024, 03:44:49 PM »
I still recommend savestating more frequently

Yes, I'd like to try this.

My concern is that keeping more savestates in memory might cause other performance issues...?

Also, depending on how far back a player needs to rewind, there would still be fewer and fewer savestates as they go (but, as is currently the case, they would get closer and closer to the exisiting save state, which in itself affords a performance boost).

Thanks to @ericderkovits who has volunteered for and completed Task A by himself - great work, Eric! 8-):thumbsup:

SuperLemmix / Re: [DISC][FEAT] Included Level Packs
« on: July 09, 2024, 06:42:13 PM »
Originally posted 7/7/24

Volunteers Wanted

Well... this is now the only thing slowing down the release of 2.8. I can't manage all of this by myself, so this is a shout out for help with getting this last piece in place. The more the merrier, so don't be shy if you want to get stuck in and help out!

Here's what's needed:

TASK A Completed!

:lemming: TASK A - 120 levels for Yippee! Even More Lemmings need to be sorted into 4 groups of 30 levels

Ideal requirement: 4+ volunteers including myself (30 or fewer levels each)
Minimum requirement*: 2 volunteers including myself (60 levels each)

This is by far the biggest task, and will likely take a minimum of 1-3 hours depending on how well you know the levels and how quickly you can make decisions about difficulty, etc. For now, this task will only involve sorting the levels into 4 difficulty groups - ordering is a different task and will need to be postponed until this task is completed.

TASK B Part I completed!

:lemming: TASK B Part I - Yippee! Even More Lemmings levels need ordering within their groups

Ideal requirement: 4 volunteers including myself (1 group each)
Minimum requirement*: 2 volunteers including myself (2 groups each)

There are 4 groups of 30 levels in this pack; each group of levels now needs to be ordered (i.e. the levels have already been sorted into groups). This should take about 1-2 hours per group depending on how well you know the levels and how experienced you are at building level packs.

:lemming: TASK B Part II - Lemmings Multiverse levels need ordering within their groups

Ideal requirement: 8 volunteers including myself (1 group each)
Minimum requirement*: 2 volunteers including myself (4 groups each)

There are 4 groups of 30 levels in this pack; each group of levels now needs to be ordered (i.e. the levels have already been sorted into groups). This should take about 1-2 hours per group depending on how well you know the levels and how experienced you are at building level packs. If you're relatively inexperienced, it will probably take longer, but can be seen as a very good exercise that may help you when it comes to building your own pack in the future!

:lemming: TASK C - Lemmings Multiverse needs 11 more levels

Ideal requirement: 11 volunteers including myself (1 level each)
Minimum requirement*: No minimum volunteer requirement (i.e. I'm happy to contribute all 11 levels myself if necessary), but Task A and Task B must have enough volunteers for this task to go ahead

See this post for details. If you can contribute just 1 level, that's better than nothing.

*Please note:

I'm leaving this request up until 31/07/24. The minimum requirement for each task must be met within this time for this project to go ahead.

If we only get volunteers/contributions for Task C, and none for Tasks A and B, this will mean that the minimum requirement for Task C has not been met.

If the minimum requirement for all tasks has not been met, then the DMA Compilation Pack will stay as it is (apart from grouping the Holiday levels as Tygerboi suggested, that's already been done) and the proposed re-groupings will be cancelled due to lack of interest/support.

If you wish to put yourself forward as a volunteer to get some of this done, thank you! Please reply to this post and mention which task(s) you'd be interested in helping with. The more the merrier - hopefully this can prove to be an interesting community project! :lemcat:

SuperLemmix / Re: [FEAT] Rewind button / hotkey
« on: July 08, 2024, 03:40:21 PM »
Investigating possible optimisations for SLX's Rewind feature. The high resolution and large amount of things going on in the physics map potentially cause some slowdown. In fairness, since the recent refactoring of Rewind as a game speed it's been behaving excellently (likely due to no longer advancing updates during Rewind, i.e. we don't need to rely on Pause any more), but any prospect of further optimisation is an exciting one.

As far as I can tell, the existing code (I haven't changed anything here from NL) saves the state of everything (so, no differentiating between "mutable" and "immutable" items as in Simon's example). Here's the procedure:

Code: [Select]
procedure TLemmingGame.CreateSavedState(aState: TLemmingGameSavedState);
  i: Integer;
  // Simple stuff
  aState.SelectedSkill := fSelectedSkill;
  aState.CurrentIteration := fCurrentIteration;
  aState.ClockFrame := fClockFrame;
  aState.ButtonsRemain := ButtonsRemain;
  aState.CollectiblesRemain := CollectiblesRemain;
  aState.LemmingsToRelease := LemmingsToRelease;
  aState.LemmingsCloned := LemmingsCloned;
  aState.LemmingsOut := LemmingsOut;
  aState.fSpawnedDead := fSpawnedDead;
  aState.LemmingsIn := LemmingsIn;
  aState.LemmingsRemoved := LemmingsRemoved;
  aState.NextLemmingCountdown := NextLemmingCountdown;
  aState.DelayEndFrames := DelayEndFrames;
  aState.TimePlay := TimePlay;
  aState.EntriesOpened := HatchesOpened;
  aState.CurrSpawnInterval := CurrSpawnInterval;

  for i := 0 to Integer(LAST_SKILL_BUTTON) do
    aState.CurrSkillCount[ActionListArray[i]] := CurrSkillCount[ActionListArray[i]];
    aState.UsedSkillCount[ActionListArray[i]] := UsedSkillCount[ActionListArray[i]];

  aState.NukeIsActive := NukeIsActive;
  aState.IsInfiniteSkillsMode := IsInfiniteSkillsMode;
  aState.ExploderAssignInProgress := ExploderAssignInProgress;
  aState.Index_LemmingToBeNuked := Index_LemmingToBeNuked;

  // Lemmings.
  for i := 0 to LemmingList.Count-1 do

  // Projectiles.
  for i := 0 to ProjectileList.Count-1 do

  // Objects.
  for i := 0 to Gadgets.Count-1 do

Mindless said that, for Golems, the terrain bitmap is compressed in order to save memory. I wouldn't have the first clue how to do this, but it sounds promising and is probably worth investigating.

As for more immediate things that could be done - maybe the "Gadgets" part of CreateSavedState could be refined to check only for Gadgets whose state can change (Pickups, buttons, numbered exits, locked exits, etc) and ignore those that can't (water, fire, normal exits, etc). What to do about triggered traps, though? We need to know what frame the animation is on, if any.

Pages: [1] 2 3 ... 241