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 ... 226
1
For 2.7, the Ballooner collision detection has been improved considerably.

The top 4 vertical pixels of the balloon are now the "poppable" area, leaving "bounce-and-turn" to only the extreme left and right edges. Previously, only the top 2 pixels were poppable, which led to the lem occasionally turning when popping was more reasonably expected. The checks are also fine-tuned to the exact shape of the top of the (low-res) balloon.

Here's a graphic to show the updated collision checks:



The changes have been tested against all of my existing Ballooner levels/replays; all 15 levels worked as before, none were broken.

With that said, if you have levels featuring Ballooners, it will definitely be worth double-checking to make sure they're still playable in 2.7.

Implemented in Commit c62f1a87e.

EDIT: Commit 3825b5e4d also adds a preference for popping in the event that both side and top collision returns true simultaneously - it's a rare occurrence, but it does happen. In this case, the lem shouldn't turn if the balloon has popped on the same frame.

2
NeoLemmix Main / Re: NeoLemmix Experimental 12.13
« on: Today at 02:37:01 AM »
Version 5

This fixes a number of bugs identified by Simon. Pending feedback, this should be the final draft.

3
OK, I've begun work on the "Turner" state. It's a 6-frame animation that smooths out the Shimmier > Climber transition whilst also making it look more intended.

As with all lemming states, though, the question now arises as to its assignability (i.e. what skills should be assignable to a lemming in this state). It's an interesting one, as well, because currently the lemming turns around on the 3rd frame, but doesn't start Climbing until after the 6th. This means that there are 4 frames of assignability with the lem facing in the opposite direction to the one they originally came...!

(Note: this has been done to keep the physics consistent with what the player can visibly see in the animated sprite).

With regards to assignability, the closest relations to the Turner are the Hoister and Dangler; perhaps anything that's assignable to these 2 states should also be assignable to a Turner. This means that assigning a Walker to a Turner during the first 2 frames will have the lem drop facing in the original direction, whilst assigning during the last 4 will have them drop facing the opposite direction.

This makes the Turner a particularly unique lem state, as it's the only one which changes direction mid-animation!

Thoughts on this? Could do with some feedback before progressing with it any further.

4
Revisited the idea of assigning Blockers to Swimmers today.

Previously, the sprite-swap was the only thing holding this back. It required an additional "Swimblocker" lem state, which was piggybacking regular Blocker code for its implementation whilst relying on the real-time sprite swap for its visual effect - messy, and the Renderer really didn't agree with what I was trying to do.

So, this time around I've opted to simply equip the existing Blocker with the ability to "tread water" - we draw the sprite behind the water object and have it move up and down slightly, achieving more or less the same effect as the previous Swimblocker sprite-swap:



Very happy with how this has turned out. Let's give it a try in 2.7 and see if we like it; we can always revert back if not.

5
SuperLemmix / Re: [SUG] Object updates
« on: March 26, 2024, 10:04:48 PM »
The intent behind Paint was to eventually cull only on terrain as a setting, with objects intended to be used this way made into paint objects.

I remember something about that, thanks for clarifying.

It may be worth flagging such objects in some way so that when NL levels using them are imported, the only on terrain attribute is applied.

Not a bad shout, but I wonder if the Editor still recognising them (and, thus, applying the Only-on-Terrain property) is enough to support at least normal use of these objects?

6
SuperLemmix / Re: [FEAT] Classic Mode
« on: March 25, 2024, 11:12:41 PM »
After a year of SuperLemmix development, this finally has its own dedicated button on the menu screen :lemcat:



The plan is to add it to the top-right corner of all menu screens, if possible. Then it can easily be toggled on/off between levels, (particularly handy when encountering a "Play in Classic Mode" talisman).

7
SuperLemmix / Re: [SUG] Object updates
« on: March 25, 2024, 03:51:09 PM »
Actioned the change from "EFFECT BACKGROUND" to "EFFECT DECORATION" Player and Editor side; all existing styles containing these pieces have been updated as well. The effect is exactly the same, it's only the name that has changed. This has been done mainly to provide clarity in both the Player and Editor codebases (in fact, "Decoration" is already used in the NL Editor as a mouseover tag for Background objects). So, to be clear: Background objects are now known as "Decoration."

Meanwhile, the Player has been updated to interpret "EFFECT PAINT" as a decoration object, albeit one that's drawn only on terrain; the magic here is done Editor-side, so as far as style design is concerned, "PAINT" objects are still a thing. In case anyone is wondering what these are, it's essentially a no-trigger image/animation that's drawn only on terrain by default.

All existing styles have been updated to reflect these changes - so, if you're the author of an existing style that's been available in SuperLemmix prior to the date of this post, you don't need to do anything. And, rest assured that your style pieces will continue to behave exactly as intended.

Player commit 6308febd2
Editor commit 5be10a7

8
Neat! I somehow remember the "R" icon that grows and shrinks, but I don't know from where. Was that a SuperLemmix feature? Or from SuperLemmini?

It's from the Lemmini lineage, which itself borrows the graphic from Windows 95 Lemmings. The animation in the panel is a simple 2-frame animation, so it absolutely could be changed to be the shrinking/growing "R" instead if people prefer that. Or, we could add is as an alternative user mod in the graphics sharing topic.

Also, I see you were having fun toying around with the new skills on "The Grand Puzzle" from Lemmings World Tour... 8-) (I assume you took the level file from the unofficial conversion by jkapp

Yes, it's from jkapp's conversion; the original NL version does work in SLX anyway, though. It's a great level, and it's come in very handy for experimenting with various features! :thumbsup:

9
SuperLemmix Bugs & Suggestions / Re: [SUG] Invincibility
« on: March 24, 2024, 11:17:57 PM »
I agree that pre-placed invincible lemmings should be possible.

For now, I've decided not to go ahead with this. I'm not sure if it's possible to enforce "only allow 1 invincible lemming per level" code-side without introducing potential bugs. Note that the Editor would also need to support this as well. There would also need to be code to ensure that the lem isn't invincible and a zombie/neutral, which also adds mess.

With that said, if you want to have a pre-placed invincible lem, simply place a regular lemming in exactly the same place as a single collectible, ensuring that the lemming is positioned over the collectible's trigger area. When the level starts, they will immediately grab the collectible and become invincible - this will also trigger the sound effect, letting the player know that something is different.

Yes, this means we can't have multiple collectibles and "pre-placed" invincible lems in the same level, which I realise nerfs the collectibles feature somewhat if people end up wanting to use it just to make pre-placed invincible lems. I might reconsider this decision later if there's demand for it, and if this ends up being a regular use case.

this can be vital for enforcing solutions

With SuperLemmix, I'm aiming to encourage designers towards "multi-solution" levels. If a feature ends up helping to enforce "single-solution" levels, I'll most likely want to remove or seriously revise it! ;P

10
Implemented this today. Here's how the proposed Swimmer recolouring looks when compared to a regular lemming:



Currently, this is "preferred" over regular athlete recolouring even when the Swimmer lem has other permanent skills. This can always be changed later if people think it necessary.

Meanwhile, Swimmer lems will continue to be recoloured using the normal athlete recolouring by default, so it's a purely optional thing; users will need to mod their copy of the default scheme.nxmi to apply the swap. Here's what needs to be added to make it happen. N.B. Be sure to leave all other data inctact, this is to show which sections the additions need to be in. Leave $SPRITESET_RECOLORING as it is, and add the following under $STATE_RECOLORING:

Code: [Select]
$STATE_RECOLORING

  ...

  $SWIMMER
    FROM x4040E0
    TO xB49EFF
  $END
 
  $SWIMMER
    FROM x00B000
    TO x288F75
  $END

Furthermore, Swimmer recolouring won't be a requirement for custom sprites in the same way that athlete, zombie and neutral recolouring are; it will remain optional design-side as well.

Implemented in Commit a4ddb52c1

11
SuperLemmix / Re: [SUG] Object culls
« on: March 23, 2024, 02:49:10 PM »
I think there is a confusion here. WillLem is talking about the "background" object type, not backgrounds!

Precisely the reason I want to merge these into a single "Paint" object type (which will retain Background object properties - i.e. speed, direction, draw ability, etc) - it avoids exactly this confusion!



With Portals/Teleporters, I'm currently thinking that the best thing to do would be to update Teleporters to be able to function as Portals, if desired by the object designer.

2-way Teleporters have previously been a thing anyway; I think Portals can be optionally 1-way or 2-way, so the code should exist to optionally add this functionality to Teleporters. Design-side, we may need an additional Editor button and a line of text in the Teleporter/Receiver's .nxmo, but that's about it.

Meanwhile, giving a Teleporter a single-frame animation effectively makes it behave like a Portal in terms of how quickly it can process lemmings, but there may be some important differences in how it's actually implemented that I'll need to look at.

Essentially though, if it's at all possible, I'd prefer these to be one and the same object with designer-side options for specific behaviour. I hope people can agree that this would be better than having 2 different object types to maintain.

12
SuperLemmix / Re: [SUG] Object culls
« on: March 23, 2024, 02:26:46 PM »
But I’m glad to hear you, WillLem, immediately accepted GigaLem’s comment and Splitters and Teleporters appear to be safe now. ;)
---
The thing about backgrounds is that not only do some packs rely on them for aesthetics; some tilesets actually rely on backgrounds to be functional.

Ultimately, I want people to be happy with SLX and want to make levels for it. So, if a cull would potentially put people off, then it's something to avoid.

With that said, I still think that revisions can be made to some of the existing objects. In particular, Paint and Background really don't need to be 2 different things: "Background" objects can in fact be drawn over terrain (and still have the moving animation, etc).

What's very likely is that I'll rename "Background" to "Paint" and then get rid of Paint objects. This will retain the functionality of Background objects whilst giving them a more appropriate name: at the moment, it's easy to confuse them with actual backgrounds, especially code-side. I don't think this change will upset anyone when it comes down to it - it's a very easy swap and I'm happy to update all existing Background objects myself; it can be done very quickly with a text editor.

Especially now that WillLem has also taken over some responsibility for NeoLemmix, as far as I’ve understood it? :lem-shocked:

Simon and I have been working on this, but that's as far as my NeoLemmix contribution will go. Namida has quite understandably ruled out any other changes to the "official" version - he doesn't want to have to maintain other people's work. And, I'm beginning to see myself with SLX that it's possible to just keep adding stuff endlessly - he had to call it somewhere, I totally get it.

With that said, if there's enough demand after the final version of NL is released, I might make a "NeoLemmix +" or "NeoLemmix CE" which will be identical to the final version of NL, but will add some more QOL UI stuff that has been widely requested. If I were to go ahead with this, the game itself would remain unchanged.

WillLem wasn’t here during the Culling Frenzy, but that memory is a reason why I continue to be this allergic against any proposition of culls. :D To relate this to GigaLem’s comment, back during the Culling Frenzy, the developer literally said: “Existing levels are unimportant”.

To be honest, I took that same stance myself when I first began SLX development (i.e. existing levels shouldn't inhibit development). However, I've since realised that it's far better to compromise and respond to what the community actually wants. I've obviously got a considerable amount of leeway as SLX isn't one of the "main" Forum engines, but I ultimately don't want to put people off wanting to get involved and give SLX a try.

So, my current stance is still to prioritise ideas and development, but take each idea on its own merit in terms of how much it might impact existing content. With something like culling an existing feature, if I get even a small amount of pushback I won't go ahead with it.

13
SuperLemmix / Re: A SuperLemmix levelpack?
« on: March 23, 2024, 02:07:44 PM »
the ability to assign Blockers to Swimmers was being discussed back then — I don’t know if that’s still a thing at the moment or not

Glad to hear you're thinking of making a pack for SLX. It would be good to have some original packs rather than just NL-to-SLX conversions, and I'm sure you'll enjoy making use of the new features in your levels! :lemcat:

Assigning Blockers to Swimmers is definitely something I still want to do - I just need to overcome the challenge of swapping the sprite. I got very close with it last time, and will absolutely look at it again in a future update.

Aside from that, the only skill changes will be adding the Propeller (likely) and the Batter (this one will be a much greater challenge), and it's looking very likely that I will go ahead with adding a transition state for Shimmier > Climber; at the moment it looks like a bug, so I want to make it clear that the behaviour is intended - an 8-frame sprite similar to the hoister is all that's required here, and I very much doubt it will unfixably break any existing levels.

The wish list contains everything that's currently being considered as possible future additions to SLX: this is about the maximum that the engine will get from here on out.

14
SuperLemmix Bugs & Suggestions / Re: [SUG] Invincibility
« on: March 23, 2024, 01:53:30 PM »
a combination of things that were last seen in NeoLemmix 1.43: Ghosts (ignoring objects) and non-lethal Bombers; I think I also recall an “Invincibility” gimmick that had many of these effects

It's quite different from Ghosts; ignoring objects is pretty much where the similarities begin and end. Invincible lems can be assigned skills and don't turn other lems away.

I suppose the state is an amalgamation of several 1.43 gimmicks in a single lem state, which to my mind makes it less of a "gimmick" and more of an outright feature, especially when combined with collectible diamonds. But, I'm sure there are those who would disagree ;P

After some consideration, I'm thinking it would be best not to go ahead with pre-assigned lems/hatches for invincibility, instead keeping it to only achievable with collectibles. I like the idea that only one lemming can be invincible at any time; it keeps the state unique, interesting and valuable; for instance, it means it's better to avoid the exit if the player wishes to keep the invincible lem active in the level.

I suppose we could make it so that only one pre-placed lemming can be assigned invincibility (this would avoid the need to place a single collectible next to a pre-placed lemming in order to achieve the same thing*), and then don't include hatch assignability. For now though, 2.7 will have invincibility as "assignable via collectibles only."

*With that said, the sound cue that would result from this might actually be helpful in letting players know that something is different.

15
From Discord:



OK, we'll give dedicated Swimmer recolouring a try in 2.7

Whenever a Swimmer has additional skills, for now we'll "prefer" the athlete recolouring, but this may be changed later.

Pages: [1] 2 3 ... 226