SuperLemmini Source?

Started by Charles, January 08, 2021, 02:13:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Charles

Does anybody have earlier source code for SuperLemmini?  The main thread only has the v0.104a source.

I've been trying to compile that source, and I'm having some difficulty.  First, I had a heck of a time finding some dependencies (specifically the IMXB MOD Player, but I think I've got that sorted)... Now I'm having trouble getting it to play the .ogg files I'd downloaded in the main SuperLemmini thread.

I'm also curious to see the progression from as early as 0.90.

My ultimate goal is to add back in the bomber timers. And I figure it'd be easiest to just regress that part of code from an earlier version.

(Edit, fixed typo in title)

LanaAndCo

Welcome! :D

Sadly no, I don't think anybody has it. Maybe WillLem can help you on this topic?

As for adding back in the timers, I would still wait for a bit, since Tsyu, the developer, said that it could be in the next update. But there is no way to know when they will come back or if they are still working on the engine...

If you want, you can check Lemmini, the ancestor of SuperLemmini. Also programmed in Java, with timed bomber and Open Source. Here's the site : http://lemmini.de/

I'm sorry I couldn't help you more than that.

WillLem

Hi Charles, welcome to the Forums!

The original Lemmini source code (upon which SuperLemmini is based) can be found here. It's also worth giving the page that Lana linked to a read if you're going to use it, since it gives information regarding source licensing (Apache 2.0).

From what I understand, as well as the addition of instant bombers, SL fixes a lot of Lemmini's bugs and also adds a few more options and a bunch of level packs, otherwise the two are pretty much identical.

What's your experience with Java? I'm currently learning it myself.

IF (knowsJava = true) {
        System.out.tellWillLem!;
}

Charles

Thank you LanaAndCo,
I'm actually quite familiar with Lemmini; I found it about a year or so ago, and really enjoyed it's attempt to bring the Windows 95 Lemmings look to modern engine.  I was so enthralled by it that I started work porting it to .net, so I could add features in an environment I'm more comfortable with.  I soon abandoned that from lack of time.

I introduced Lemmini to my kids, and they've really enjoyed playing Lemmings for the first time, through it.

It was only a couple weeks ago or so that I stumbled upon SuperLemmini (and the other clones/ports). SuperLemmini has so many things built on top of Lemmini that I would love to switch over to it, but a couple minor things make it a show-stopper for me (mainly the lack of bomber countdown, but partly also the tiny default cursor).

I saw Tsyu say he was going to add that back in in a future version, but I also saw that he hasn't posted in a few months, so I figured what the heck, why not take a run at it myself. I've always preferred an active role if possible, rather than just waiting. Maybe I'd be lucky and it would be an easy fix.

Unfortunately, for the little amount I've poked around the code, it looks like he didn't just set the default timer start to 0 as I'd hoped, but ripped out the timer code for bombers entirely.  When I tried adding it back in, from Lemini's code, it wasn't enough...  a countdown would only start if they were in the process of falling... otherwise, instant explode.  So, it'll take more time to figure out exactly what needs to be added back in, and where.

WillLem, maybe there are only a handful of differences/bugfixes from an end-user standpoint, but from what I've seen comparing both code bases there are hundreds if not thousands of tiny changes all throughout the code. It would definately be a whole lot easier/quicker to revert the bombers if I had the source code from only a revision or two back. Hence my reaching out.

I'm not super knowledgeable in Java (as I said, my strength is .net), but I know some stuff. I'm not opposed to diving in, but there's only so many hours in a day, and so many things to spend one's time on. ;)

Thanks for welcoming me to the forum. It's really cool to find other Lemmings fans, and a community like this.

namida

Everyone wants timed bombers back when they first join the community (and often, other fake difficulty features too, but timed bombers is by far the most common one). I propose instead just give it some time - it won't be long before you're wondering why you ever thought they were a good thing. ;)
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)

Charles

I appreciate the sentiment, but timed bombers isn't something I'm going to change my stance on.  Other quality of life improvements, sure, but not that one.  I won't bother getting into it, because I know there are several arguments for and against.

For me, I'm only interested in playing the original official levels at this point (Original, ONML, XMAS, COVOX, etc). And I keep coming back to the original level Fun 6: A task for blockers and bombers.  Removing timed bombers completely changes the context of that level.

Maybe at some other point I'll explore custom levels and be interested in untimed bombers for those.

LanaAndCo

#6
Timed bombers are a gameplay mechanics. If you get rid of them, some levels aren't puzzles anymore, because yes, knowing when the lemmings will explode when activating the timer is a puzzle, because you have to guess it and calculate it. Plus, you can use them to do synchronised puzzles and even synch it with the music of the level (hard to pull off but sooo satisfying).

Of course this is only my opinion but, there are some people who likes the timer! Certainly way less than the others who thinks it's useless and constraining, but it would be nice to have a choice at least. :(  Maybe it's possible to have a boolean tied to the level, like with the superlemming mechanics.

WillLem

Quote from: LanaAndCo on January 08, 2021, 06:42:21 PM
Timed bombers are a gameplay mechanics. If you get rid of them, some levels aren't puzzles anymore, because yes, knowing when the lemmings will explode when activating the timer is a puzzle, because you have to guess it and calculate it. Plus, you can use them to do synchronized puzzles and even synch it with the music of the level (hard to pull off but sooo satisfying).

I agree, I really enjoy getting a timed bomber placement just right. Instant bombers can be great as well though, having gotten used to them I wouldn't want to go back to timed bombers at the exclusion of untimed ones; both is good! For instance...

Quote from: LanaAndCo on January 08, 2021, 06:42:21 PM
Maybe it's possible to have a boolean tied to the level, like with the superlemming mechanics.

This is a great idea, and could work for sure. It might be even better to have both as separate skills, though, so that you can create puzzles which make use of both timed and untimed bombers in the same level. In the panel, the bombers with timers can have the explosion symbol but with a "5" in it, so you know which is which.

IchoTolot

The exact recreation of the original games is the central argument for timed bombers in my opinion.

If you are especially looking for that, with some quality of life additions and timed bombers, I would recommend Lemmini. I don't think the hassle of editing SuperLemmini is worth it just for that option.

Sticking to Lemmini and rebuilding the missing original levels would be much more efficient.

In fact quite a lot of the original levels are quite poor puzzles and more like dexterity tests. They go more for execution difficulty rather than puzzle difficulty and exactly there is the point of clash between old and new. The difference between the originals and near all custom content.

At the point you go beyond wanting to replay the original levels in true fashion, throw the timed bombers into the fire. There are just a hassle beyond that point if you take off the nostalgia glasses.

Simon

#9
Quoteregress that part of code from an earlier version.

Lemmini on Bitbucket, but SuperLemmini isn't anywhere in source control where I would know it. Would be good timing to finally put SL under source control, several people want to hack it all of a sudden.

Tsyu wasn't 100 % clear whether he wants execution difficulty or no execution difficulty. You can always ask Tsyu later, if it comes to other people contributing to you, or to distributing modified versions of SL.

QuoteJava? I'm currently learning it myself.

Enjoy, and ask lots questions. The first language/ecosystem to learn is always the hardest. Hacking SL is a nice choice of project; the best possible motivation is always to fix/make what you care about most.

QuoteIF (knowsJava = true) {

And now we find the bugs!

-- Simon

WillLem

Quote from: IchoTolot on January 08, 2021, 09:45:44 PM
The exact recreation of the original games is the central argument for timed bombers in my opinion.

If you are especially looking for that, with some quality of life additions and timed bombers, I would recommend Lemmini

I have to agree with this, to be honest. Lemmini is perfectly fine, I've used it a few times recently and it still holds up. SuperLemmini has more potential for being generally more up-to-date, though, since it is already a few leaps ahead in terms of under-the-hood fixes.

Quote from: IchoTolot on January 08, 2021, 09:45:44 PM
Sticking to Lemmini and rebuilding the missing original levels would be much more efficient.

Which levels were missing? Incidentally, I'll be including the custom entrances and exits for the "special graphics" levels with the upcoming SL version of Reverse Lemmings Classic Edition; I think it would be great to get these included in the OG as well, so hopefully Tsyu appears very soon!

Quote from: IchoTolot on January 08, 2021, 09:45:44 PM
At the point you go beyond wanting to replay the original levels in true fashion, throw the timed bombers into the fire. There are just a hassle beyond that point if you take off the nostalgia glasses.

Again, I agree to some extent. Yes, timed bombers are often a "nostalgia" thing, but they can still be a good fun game mechanic if used well in a level's design. Again, I'd want to see both existing in the same engine, then you get the best of both worlds.

What this discussion ultimately proves is that there is still an audience for "I want the original games, but on a modern PC, nicer looking and with some quality of life features." (Super)Lemmini does still fill that niche, and is perhaps the best thing to do so; it's a far better choice than that awful Windows 10 port, anyway.

Quote from: Simon on January 09, 2021, 12:41:25 AM
(re: WillLem learning Java)
Enjoy, and ask lots questions. The first language/ecosystem to learn is always the hardest. Hacking SL is a nice choice of project; the best possible motivation is always to fix/make what you care about most.

Agreed! And thanks!

Just to be clear, though, I have no intention of doing anything with SL without Tsyu's permission. If I do make any tweaks, it'll be on my own unreleased version (and I'll likely make lots of mistakes anyway!).

Quote from: Simon on January 09, 2021, 12:41:25 AM
QuoteIF (knowsJava = true) {

And now we find the bugs!

:crylaugh:

Tsyu

Here are all the current and previous releases of SuperLemmini:

https://www.dropbox.com/sh/52rwl5ztnawqpo1/AAAHbhfy6T0sKI7QXB7EZUqDa?dl=0

And I do intend to add bomber timers back in, either outright or as part of a difficulty mode.

Charles

Hi Tsyu,

Thank you very much for posting those.  I'm glad to hear too that you're still working on SuperLemmini. I look forward to seeing where you take it.

WillLem

#13