[DISCUSSION] [PLAYER] Gimmicks and secret levels cull?

Started by namida, February 22, 2016, 08:56:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Simon

Quote from: namida on March 02, 2016, 07:49:08 PM
QuoteLix multiplayer trap handling
I'm meaning in terms of graphically - how does it handle drawing the correct colors?

General color handling: We generate multiplayer spritesheets at runtime from the spritesheet and a table of color replacements. This works when we constrain ourselves to 10 to 20 colors.

Traps aren't recolored like that. The trap killing anim shows whatever is drawn in the file. Looks hackish. It's expensive to implement trap recoloring in my program design.

-- Simon

Nepster

Perhaps let us first ask how important trap recoloring really is:
1) Has anyone shown an interest in changing the lemmings sprites themselves?
2) If one replaces the usual lemmings e.g. with the christmas/holiday lemmings, just changing some colors in the traps will still look bad. It will get even worse when the custom sprites are even less similar to the usual lemmings. So all trap animations would have to be completely customizable. This sounds like a lot of work to code.
So I wonder whether this will (similarly as for gimmicks) only produce lots of code with barely anyone using it?

Unless someone convinces me that there is a lot of demand for custom lemming sprites, I would just say: Use the same trap/teleport animation for both lemmings and zombies - and regardless of custom images.

namida

Completely customizing the animations would actually be easier in terms of coding than recoloring would be; but it would be harder for designers of custom lemming graphics. I'd also say that at least for the Santa Lemmings, the result isn't actually that bad - take a look at the icicle trap now added to the Xmas set; is it really noticable (when viewed in game, not when closely examined, I mean) that it's just a recolor of the normal one; no other changes? This may not hold true for all graphics, mind you.

But you are probably right that there won't be that much interest in custom sprites anyway. I would think though - if we're going to assume that there won't be that much interest in them, then perhaps the feature to do so should be culled altogether (still leaving the choice between regular and santa lemmings, of course), rather than leaving it half-way where you can customize the normal graphics but the traps end up displaying the wrong ones. Alternatively, if only these two variants exist, it's easy enough to allow traps / teleporters to specify two sets of animations - one for the regular lemmings, and one for the santa lemmings.
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)

namida

While removing gimmicks from the code (note: for now at least, I'm not stripping zombies out, but I am stripping ghosts, and zombies-on-death, sorry), I came across a few things that show just how much gimmicks have overcomplicated and made a mess of the code, introducing subtle bugs.

The Swimmer skill in particular has a lot of these. A mild example - create a level that uses the Backwards Walkers gimmick and also has Swimmers.
Spoiler
What should happen: The swimmer should move normally. It could also be argued that they should swim and animate backwards, like walkers do, since Swimmers are very similar to Walkers.

What I expected from a quick look at the code: Exactly what *actually* happens.

What does happen: The swimmers will move backwards, but still animate as if they're swimming forwards.

It should be noted that the behaviour that probably should happen, unless extra code was added to make them turn around (or they fell into the water, and got out by climbing rather than just stepping onto land) like with Climbers and Jumpers, would result in an infinite loop of "get in water, get out of water, get in water, get out of water" due to the difference in direction.

A more serious one - create a level that uses No Gravity gimmick, has Swimmers, and has some water that ends in midair without terrain at the side (the edge of the level counts as "terrain" for the purpose of this).
Spoiler
What should happen: Upon exiting the water, the lemming becomes a walker.

What I expected from a quick look at the code: The lemming will get "stuck" and swim on the spot after exiting the water, or possibly continue swimming oblivious to the fact that it's no longer in water (apart from not moving upwards to find the top of the water), but otherwise behaving as normal for a swimmer.

What does happen: The lemming continues swimming through midair, even passing through any terrain it encounters (I believe, but didn't test, that it won't ignore objects / blockers though). The only way to revert it to a normal lemming, usually, is for it to encounter water again before it goes outside the level and exit this somewhere that does have terrain at the edge. If the level has the surviving bombers gimmick too, bombing it will also return it to normal.

There's probably heaps more that, between the complexity and messiness of gimmick implementation, and their relative lack of use, have gone complelety unnoticed. I only noticed these when looking at the source code while stripping the gimmicks out. I would guess that in particular, gimmicks that predate the new skills when used in combination with new skills are most likely to have problems.
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)

namida

Alright. I've finished doing the version with most (if not all) gimmick code stripped, and I'd like it if people could help me test it.

Not asking for anything too in-depth. Basically - use it to test a few levels manually, and if possible, run a few mass replay checks with replays that you know work on V1.43n / V1.43n-B. The only situations in which replays should fail are:

1. If the level uses any gimmick other than Zombies.
2. If the level *doesn't* have the Zombies gimmick set, but does have some pre-placed lemmings or windows with the Zombie flag (because it no longer checks if the Zombie gimmick is set).
3. If the replay also fails on V1.43n / V1.43n-B.
4. (EDIT) Possibly if the level uses triggered exits, two-way teleporters or single-object teleporters; or is a replay that gets to a secret level trigger rather than solves the level.

(Perplexing 29 from Lemmings Plus Omega is an example of case 2, so replays from it should fail. In my tests, once I ironed out a few bugs that initially showed up, every Lemmings Plus replay except Perplexing 29 passed.)

If you do happen to notice any other leftover relics of any gimmick, let me know, no matter how minor they may be. Once again - the only gimmick that should remain, in any form, is Zombies. (This even includes that Classic Zombies, Zombie-on-Death and Ghosts should not.) Likewise, if you encounter any replays (other than those that are expected to fail due to one of the above reasons) that fail, or notice any unusual behaviour in general, let me know - be sure to send me the replays, if you're able to do so (obviously, if they relate to unreleased levels, that might not be possible, but in this case please at least try to describe the situation where the V1.43n / V1.43n-B behaviour is different from the behaviour in this test version). Do not bother to make new replays / modify the level, if it works on V1.43n / V1.43n-B and does not fall under any of the above categories, because this is a bug - the mechanics of this version should be identical to V1.43n / V1.43n-B outside of the removal of gimmicks and those few specific object types.

Note that while this copy is marked as an experimental release of V1.43n-C, I can promise that if there is an actual V1.43n-C release, it will have the gimmicks completely intact. Removing them absolutely warrants a new version number. But I probably won't release this until further work is done in other areas.

Also note - this doens't mean for sure zombies are staying. But since there's stronger arguments to keep them than anything else, unlike the others - which are going to go eventually - I'm open to keeping these, as a general gameplay mechanic. Precedent for alternate types of lemmings exists in Lemmings Revolution and Lemmings Touch; Zombies have shown themself to have a lot of potential beyond just "here's a weird twist"; there is far more content using them than there is for any other gimmick; and as far as coding goes they are very simple.

EDIT: I should also mention that triggered exits, secret level triggers (but not secret levels via talismans), single-object teleporters and two-way teleporters have also been removed in this copy.
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)

IchoTolot

Tested Reunion + PimoLems + a few single levels (including some teleporters).  ----> All replays are still working!

namida

Quotea few single levels (including some teleporters).

Regular teleporters will still work fine. It's only the two-way teleporters and single-object teleporters that are affected. :)

Anyway, great to hear that! :)
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)

namida

Alright so - I think at this time, I'm going to decide that zombies can stay. We'll let content designers decide over time whether they should be considered a main feature, or reserved for special zombie-focused packs (like Doomsday Lemmings / Resident GigaLems / etc).

In regards to secret levels, as you can tell from the test version above, secret level triggers are being removed. I still haven't come to any final decision on whether or not to remove secret levels altogether, or to continue to allow them via less-annoying methods (such as unlocking a secret level when a talisman is obtained).
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

Zombies: I don't see why they should be excluded to only being allowed in certain packs. They're a great main feature. I don't think they clash with anything in the game play in any way.

I didn't even get to see what ghosts are like yet. Though they sound very similar to zombies so I guess I don't care.

What are triggered exits? You don't mean closed door exits with buttons? I love that feature!
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

QuoteZombies: I don't see why they should be excluded to only being allowed in certain packs. They're a great main feature. I don't think they clash with anything in the game play in any way.

I wasn't meaning as in "enforce them only being in certain packs", but rather, just letting it naturally go whichever way it does - similar to how there's nothing forcing you to have unlimited time instead of setting a 9 minute time limit on tiny levels, but the general community guideline is to use unlimited time in such a case.

QuoteWhat are triggered exits? You don't mean closed door exits with buttons? I love that feature!

No, that's locked exits. Triggered exits - think of a cross between an exit (in that the lemming is saved) and a trap (in that only one lemming can use it at a time). I can assure you that locked exits will be staying.
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)

namida

I'm going to close this topic now, since the decision on gimmicks is pretty much finalised - they're all going except for Zombies, which will be considered a core mechanic (but we'll let conventions develop as to whether they're used in regular packs, or only dedicated packs in the style of Doomsday Lemmings). I see precedent for this in the form of the different types of lemmings in eg. Revolution and Touch; there's plenty of content made for them already; and they have plenty of ways in which they can make great puzzles.

Two other cases that remain for discussion, but in the context of general mechanics rather than as gimmicks:
- Wrapping. I'm open to implementing a wrap-around, but most likely in a way more similar to how Lix implements it than how the Wrap gimmicks worked. This will be discussed at a later date.
- Level edges. In the case of non-wrapping levels, I want a single, standard behaviour across all levels. But I'm open to discussion on exactly what that should be. (Level edges discussion topic)

I'll open a new topic for discussion of secret levels. (EDIT: Made it.)
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)