Author Topic: [SUG] New Lemming type - Rivals!  (Read 2495 times)

0 Members and 2 Guests are viewing this topic.

Offline WillLem

  • Moderator
  • Posts: 3566
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New Lemming type - Rivals!
« Reply #15 on: May 22, 2024, 11:56:09 PM »
Made some more decisions/progress with Rivals today :lemcat:



Scenario A: The level provides only 1 Lem type (Normals/Rivals), and 2 Exit types (Normals & Rivals).

Resolution: All Exit types are treated as if they're the same as the Lem type, regardless of assignment.



Scenario B: The level provides 2 Lem types (Normals & Rivals), but only 1 Exit type (Normals/Rivals).

Resolution: The save requirement for the level is defaulted to {the total number of Lems that match the Exit type + any Neutrals + any Cloners} or {the existing save requirement}, whichever is lowest.

The save requirement is also adjusted for Exits with Lemming caps. This took a fair bit of doing, and could probably still be optimised further for readability/simplicity, but it's bug-free in every scenario I tested (multiple Exits, multiple Lem types, multiple Lem caps - all behave well).



Meanwhile, I've decided to leave the Exit marker data as it is. So...
  • SLX first looks for an Exit marker in the style's "effects" folder (if the folder exists). If it doesn't find one, if uses the one from the default style's "effects" folder (which, at present, is the blue/red flag)
  • Marker position is tied to the individual Exit's .nxmo - this makes the most sense, since a style may feature multiple Exits, and each one will need its own marker position
  • Marker frames are specified in the style's theme.nxmi file - still fairly unsure about this one, but for now it's better than adding more paperwork in the file system
Not much longer now and this one will be ready for fully showcasing, testing, and implementing as part of a level pack project. Next step is to make sure that the styles with custom sprites have Rival recolouring data. That's a job for tomorrow :sleep:

Offline WillLem

  • Moderator
  • Posts: 3566
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New Lemming type - Rivals!
« Reply #16 on: May 23, 2024, 12:24:01 PM »
Quote from: WillLem
At present, the plan is to not allow a lemming to be both a Neutral and a Rival.

Do you have deneutralizers? What happens when you neutralize a rival, then deneutralize him: Will he be regular lemming or rival?

Had a bit of a brainwave today regarding this.

Neutrals currently count as +1 in a normal Exit and -1 in a Rival Exit. However, if we allow Neutrals to count as +1 in both Exits, then it might be OK to allow Rivals to become Neutrals. Furthermore, this scenario also makes more sense from a general gameplay point-of-view (i.e. Neutral lems shouldn't care which Exit they're in, because they're Neutral).

So then, assuming the NL 12.XX Neutralizer & De-neutralizer objects work as I imagine they do (I haven't implemented or tested them code-side yet), a Rival that becomes a Neutral and is then De-neutralized will become a Rival again (i.e. we won't remove the Rival tag from the lemming).

If this goes ahead, Neutral will have to be the "preferred" state if a lem is given both tags. This will then render them un-assignable to, save-able in both Exit types, and only potentially a Rival iff the level provides a De-neutralizer.

Given all current mechanics, and what could reasonably be expected from the game as "normal" behaviour, this seems to be the best way to handle the presence of both Rivals and Neutrals in the same level (and, indeed, the same lemming).
« Last Edit: May 24, 2024, 12:49:47 AM by WillLem »

Offline jkapp76

  • Posts: 393
    • View Profile
Re: [SUG] New Lemming type - Rivals!
« Reply #17 on: May 23, 2024, 07:47:14 PM »
I like neutrals working like this. It feels very "neutral" of them to work the same for any side.
...Jeremy Kapp