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.


Topics - Charles

Pages: [1]
1
Lemmini / Levels or LevelPacks with Vertical Scroll?
« on: November 06, 2021, 03:22:33 AM »
Can anybody share a level or levelpack that requires vertical scrolling?

2
Lemmini / Stats to show during play (hatch, saved, required, ...)
« on: October 25, 2021, 05:33:27 PM »
Responding here to keep the code discussions out of the release thread.

The new enhanced status bar is a great addition to SL, nice work! :thumbsup:

Please can you let me know whereabouts this is in the code?

I'd like to see if I can combine the "required" and "exited" info into one bar entry, so that it shows a minus number in red until the save requirement is reached, and then continues to count up as more lemmings exit. NeoLemmix shows the information in this way, and it definitely seems to make more sense than having the two numbers separate (especially since the top menu bar shows the number of lems to be saved anyway).

I'd also like to see if I can modify the original status bar to display the number of lemmings remaining in the hatch. If you like this idea, it could also be added to the Enhanced bar as well. This is what I'd be aiming for eventually (the current Enhanced status bar could show this information using the existing icons that you've already added):

IN: lemmings still in hatch, yet to spawn (hatch icon)
OUT: lemmings on the screen (lemming face icon)
HOME: lemmings saved - save requirement (exit icon)



Alternatively, the save requirement could be left off the status bar altogether, and HOME could simply display the number of lems saved. The red figures could instead be used to show when too many lemmings have died; i.e. the OUT number could turn red if there aren't enough total lemmings available in the level for it to be completed (taking hatch lems into account as well).

This would removed the need for minus figures, and also removes potential confusion when a player has saved X lemmings, but the OUT display shows X - n (n being the level's save requirement). This can occasionally cause confusion in NeoLemmix, until one remembers that the display is showing the total saved - the save requirement.


Check out /src/lemmini/LemminiPanel.java:line 801
The original code is surprisingly simple... it is just a text string (converted to the green lemming font), with appropriate space padding to fit where needed. (That's what the %-15s means, for example... a string with 15 spaces padding)).

There's some leftover dead code where I tried to put the Required total into *that* line, but it didn't look great.

To use the icons (and the red highlighting) I chose to draw each element individually, then place it in the appropriate place, so there's a lot more code needed.  I also needed to add a new graphic file to root.lzp, for those 4 icons.  (Technically, it didn't need to be included in root.lzp -- I could have just included it in my local resource path in the right folder structure or it's own .lzp file, but for the redistributable, it was much easier to just have it in root.lzp.)

I don't mean to be dismissive to your ideas, so please forgive me if it comes across that way. A lot of what you're saying were things I considered before settling on what I did for the status bar. I'd like to take a second and remark on them.  That said though, I know you've been involved in the SuperLemmini community far longer than I have (and have been very welcoming to me, so thank you). I know you have a bunch of ideas you've wanted to see implemented for a long time, and I'm happy to help you implement them yourself however I'm able.  SuperLemminiToo is really just changes to things that stuck in my own craw.

Honestly, I'm not really concerned with with NeoLemmix does. I admit I've only used it once -- and that was before they added hi-res lemmings, but the whole thing felt over-cluttered and unnecessarily complicated ... like just 1 bridge too far removed from the original lemmings I grew up with.  Almost like a Lemmings Speed-Runners tool or something.  I'm making changes to SuperLemmini that I personally feel lend themselves more to casual players with a nostalgic familiarity with the original Lemmings -- or at least to me as a casual player who can be quite nostalgic.  Negative numbers in the status bar don't really feel intuitive to me, but to each their own.

Technically speaking, as you mentioned, the Required number isn't needed on the game screen anyway, because it is there in the title bar... and they tell you in the intro screen, too. But who really reads the intro screens anyway?  And the title bar is more akin to Metadata as far as I'm concerned. It's outside the game window and if a fullscreen mode is ever implemented then the Metadata dissappears. Truthfully, it is essential information that you need during the course of the level, so it should be there in some capacity.

I like showing it as a fixed "required" number because that's how it's shown everywhere else... metadata in the title bar, line on the intro screen.  If you have "Never show percentages" turned off then that number shows as a percentage. I like it for those connections to the original, rather than a complicated backwards counter or something.

Also, turning the Out number red if too many have died doesn't feel right either... and what about edge cases where technically you have enough lemmings out, but one of them is a blocker and you have no way to make him a walker again? Should the engine detect those possibilities?  Too much programming guess work for something I personally feel doesn't help the player anyway.

Even the icons themselves, yes... the exit icon would be equally appropriate for "Required" as for "OUT"  but the SNES/Genesis used them for "OUT" so in keeping with that continuity, that's what I did too. The Lemming head is a pretty weak connection to "Required" but oh well.  With it being a fixed number that matches what's said on the intro screen I assume new players will catch on to what it means quick enough.

3
Thought I'd take Simon's advice and create a new thread for programming related questions.

I didn't create the SuperLemmini codebase, but I have looked through enough to make my own changes to it, and I'd love to help other people get started being able to do the same.

First step, you'll need the code:

You can download my fork: https://github.com/Blazingstix/SuperLemminiToo
Or you can get the original Lemmini: https://bitbucket.org/fade0ff/lemmini/src/master/

As far as I know Tsyu's SuperLemmini isn't on any source-control, however he has shared links to google drives with all his versions zipped up.  I have also included those versions previous revisions in my SuperLemminiToo source.

Second step:
You'll need something to edit and compile the Java code in. I recommend Eclipse, but I'm sure there are others.
https://www.eclipse.org/ide/

Once you have the source code, and you've set up Eclipse, make sure you have all the proper dependencies hooked up. I've tried to include all the dependencies in my github (along with all their respective licenses and source code where I could).

SPECIAL NOTE
If you're using my SuperLemminiToo code base, you'll need to copy the /data folder into the /bin folder, for SuperLemminiToo to recognize it.

After that's all set up, and you're able to build the code, you're ready to start playing. I recommend looking through the code, or even running step by step through it.

4
Lemmini / SuperLemminiToo v1.51
« on: October 08, 2021, 05:32:45 AM »
EDIT2:
I've pushed bugfix release v1.51. This fixes the infinite skills decreasing during replays.

EDIT:
I've pushed a new version v1.50. This is primarily a bugfix for loading/saving level stats when levels are skipped (or when the group name has a comma).

I also tweaked the title screen to add a yellow scrolling marquee ticker-tape, reminiscent of the original Amiga title screen.
END EDIT

I've been working on my own fork of SuperLemmini to address some of the changes I personally wanted to see. Mostly the return of Timed Bombers, and some graphics enhancements.

I'm not intending this to replace SuperLemmini by any means. I understand Tysu is still working on SuperLemmini as he is able, and I eagerly await his next release. This was more to tide me over in the meantime, and I know a few select other users felt the same as me about Timed Bombers, so I wanted to share.

I cannot thank Tysu enough for all his thousands of hours of work on SuperLemmini -- all I've done by comparison is hack up a couple lines of code.

I've posted my code in github: https://github.com/Blazingstix/SuperLemminiToo for anybody else who wants, but I've more or less scratched that itch so I've no immediate desire to add/remove any more features.

I'll just copy the rest of my README here:

SuperLemminiToo v1.51 2022-Dec-14

This is SuperLemminiToo: a fork of SuperLemmini, which is itself a fork of Lemmini.
I made this because there were some minor features I wanted to see in SuperLemmini, which didn't appear to be in the original author's immediate timeline.
I'm not really taking requests, but I'm releasing because I figure some other users may want the same features I did.

==USAGE===========

SuperLemminiToo uses the same ini file as SuperLemmini. You can extract this program to its own folder and it will read in all your existing settings from SuperLemmini.

Java 15 or higher is recommended, but the game is compiled against Java 1.8.
Install Instructions: https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html

==FEATURES========

Timed Bombers!

The main feature I wanted to restore was Timed Bombers. Not everybody shares this desire (which is why the feature is selectable, under Options), but I feel strongly that in *ORIGINAL* lemmings levels, it is 100% intentional that you need to use a blocker then a bomber if you want to have precise placement of your bombers. Look no further than "Fun 6: A task for blockers and bombers" for proof.
I felt so strongly about it, in fact, that I created this fork.  Everything else changed was just extras once I started looking under the hood.

Visual SFX!

The oft-forgotten feature added *only* in the "Lemmings for Windows 95" release (AFAIK). Graphics cues are displayed on screen to match the sound effects being played. Most important for when builders have hit their last 3 bricks, but also neat all-around.  I even added some graphics that weren't present in Lemmings95. I may have gone overboard.

Enhanced Status Bar!

Removed clunky full text saying In, Out, Time and replaced with with slick icons. This feature was 1st seen in the SNES and followed about a year later by the SEGA Genesis. Interesting fact, both versions used different icons!  I modeled these after the SNES versions.
And because of the space gained by using icons, I added a 4th icon for number of lemmings needed.
Also, as an extra visual indicator, I made the "In" number Red until you've saved enough Lemmings to pass the level.

Enhanced Icon Bar!

The icon bar has been resized to give a less cramped look. Also the skill counters have been lowered ot be part of the icon buttons now, instead of hovering above them in the black space. The order of icons has changed too, to match the Lemmings for Windows 95 release (which was the last official release for PC, I believe). Now it's Minus, Plus, all 8 skills, then Pause, Fast-Forward, Nuke, Restart, ScrollLock. This pairs like-minded icons together (game speed icons: pause/fast-forward; level restart icons: nuke/restart; and then the scroll lock icon nearest to the map (also farthest away from the others, because it's only applicable for vertical levels... which are specialty levels, and don't even exist in any of the original official Lemmings levels.

Animated Icons!

The icons on the icon bar are now animated!  These are straight from the Lemmings for Windows 95 release (with minimal changes to more easily blend in with different themes)!  Never before seen on modern releases (probably... I dunno)!!  If you have a mod enabled (such as Xmas theme), then the engine will check for animated icons in that mod, then static icons in that mod. Failing to find any mod-specific icons, it will then use animated standard icons, and lastly for the few icons that are not animated (i.e. plus, minus, restart, and vertical scroll lock) it will fall back to the standard static icons.

Icon Labels!

A little bonus feature to go with the new Enhanced Icon Bar. You can toggle on or off text labels to go with all the icons.

All levels unlocked. (Also a toggable option.)

In SuperLemmini this was considered a "cheat" that was enabled with a secret level code.  The "cheat" code also enabled a bunch of special debug features, which I didn't want.  I figure the game's about having fun, so why shouldn't people be able to skip a level they're having difficulty with. Who's to tell them no?
The game still keeps track of levels you've completed or not, so it's still up to you if you want to complete every level.

Minor UI/Gameplay Tweaks.

  Added "Disable Scroll Wheel" option.
  I found it annoying how my scroll wheel would accidentally change my selected skill when I was trying to middle click.

  Added "Disable Frame Stepping" option.
  Here's where I really started to get a bit nit-picky.
  When paused, if you click anywhere, the game will advance by one frame. Didn't like that feature, so I made it togglable.

  Minor feature, I added some ToolTips to the checkboxes in the Options dialog. I wasn't exactly sure what some options meant at first glance.

==THANKS==========

I want to stress that this program was truly written by Volker Oth (Lemmini) and Ryan Sakowski (SuperLemmini), over a combined total of more than twenty years. All I've done is hack a couple lines of code. None of this could be possible without the literally thousands of hours of work done by those two individuals, and their making the source code freely available. Thansk you both for letting me re-live some joy from my childhood in a new way, and for letting me share it with my kids.

Also special thanks to WillLem from the LemmingsForums.net for providing the updated title graphic, and being all around supportive of this endeavour and SuperLemmini in particular.

Special thanks as well to jkapp76 from the LemmingsForums.net for making title icons. I modified them slightly to incorporate them into Icon Labels toggle in SuperLemminiToo.

==KNOWN ISSUES====

I've read (but not tested) that Java 15 produces different png files than Java 1.8, so if you've never used SuperLemmini before and need to extract the resources from Lemmings 95 (aka WinLemm), you'll need to do that through the original SuperLemmini.  Then once that's done, you can continue with SuperLemminiToo.  Good news though, you don't need to extract the resources manually anymore -- SuperLemminiToo includes the full root.lzp right in the zip file.

I didn't test anything related to Replays and External levels, as those didn't personally interest me.

5
Lemmini / SuperLemmini Source?
« on: January 08, 2021, 02:13:23 PM »
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)

Pages: [1]