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 - WillLem

Pages: 1 ... 5 6 [7] 8 9 ... 22
91
Added a poll. I'd personally rather not allow background-colour-changing (as it overrides creator content), but if there's enough demand, I'll add an option to set the background colour to whatever the player prefers.

Note that, if implemented, this option would be global, so would affect all levels in all styles.

92
Other Projects / Lemmings Revolution clone, anyone?
« on: April 04, 2023, 12:39:53 AM »
There seems to be a bit of an upsurge in forks/clones/romhacks recently, which is great to see :thumbsup:

Whilst we're at it, would a Lemmings Revolution clone (complete with level Editor) be a project someone might be interested in taking on?

93
Steps to reproduce:

1) Go to Config menu and hit "Activate Classic Mode" (relevant checkboxes will be disabled)
2) Click Apply, OK
3) Exit the Config menu
4) Re-enter the Config menu

The checkboxes are enabled again.

94
SuperLemmix / [FEAT] Rewind button / hotkey
« on: March 19, 2023, 09:38:16 PM »
I'm currently in the process of adding a Rewind button to the panel. Progress has been slow but significant, and it will likely need extensive bug-testing as it's not only a brand new feature but one which calls upon and interacts with existing features (that weren't purpose-built) for its functionality. So, I feel it warrants its own topic.

Hotkey support will also be provided, of course.

Unsure yet whether to allow this in Classic Mode. Currently leaning towards yes, since the aim is for it to feel much more like a real-time control than a "player-assist" kind of feature, and I think that more people will use Classic Mode if they know that there is a way to undo mistakes, albeit a relatively elementary one. Maybe this decision can be made after we've had a chance to test it out a bit.

Here's what we have so far:

:tal-gold: Fully-functional TTimer-based Rewind mode which performs a repeated -3 Framestep every 50ms.

:tal-gold: Rewind uses backwards Frameskips to function, so Replay-After-Skip mode is cancelled when Classic Mode is active.

:tal-gold: Dedicated panel button & hotkey controls.

Still need to do:

:tal-silver: After implementing this via the TTimer method, button responsiveness is up to about 95% (from about 75%). Still room for improvement, but it's way better.

:tal-gold: Panel display occasionally glitches out (the lem counts and timer flicker between values whilst the Rewind mode is active). This is now fixed as of 2.1.

95
Non-Lemmings Projects / Retro Game Clones
« on: March 16, 2023, 06:06:04 AM »
So, I've been advised to start with a smaller project to build up some more beginner-level experience.

At first I was reluctant to follow this advice, because a) I'm impatient, and b) I have a slightly naive/narcissistic/idealistic (you decide) belief that I can do anything I want to as long as I put my mind to it.

Whilst I certainly am tenacious enough to learn most things, I have to admit that I have my limits, and sometimes it is good to take things back to basics, build up a bit of experience and confidence, and then move forward from there.

Anyway, with all of that said, I've decided I'm going to make clones of 3 of my favourite retro games! Namely:

Pong!
Space Invaders
Tetris


As I finish them, I'll upload them here in this topic. I'll also regularly post progress updates to track where I'm up to.

96
Copy-pasted from Discord

Quote from: WillLem
Noticed a bug in NeoLemmix ages ago but never mentioned it because it seemed so minor and likely only affected me because of the custom panel graphics I use
But now that I know a bit more about how NL works, I wonder if I might be able to help fix it
Basically, if you swap the current “selected button” icon graphic with a paint-bucked-filled semitransparent one, and then hit backwards frame step a bunch of times, the graphic will load again and again, making the pause button appear darker and darker
I’m guessing this might have something to do with Delphi’s need to “free” the graphic…
Because a backwards framestep, as I understand it, loads the replay and plays it up until 1 frame before the current one, then pauses the game
If this is done repeatedly, then the “select button” graphic is getting repeatedly loaded over the pause button
If I have that right, I’ll try to fix it myself and the code can be backported to NeoLemmix

Quote from: namida
It won't be to do with freeing. It'll be that the selected graphic is redrawn without redrawing the unselected button first (which doesn't cause any issues unless semitransparency is involved, hence why it would have gone unnoticed)
It very likely isn't loading it again either; just drawing it again

Quote from: WillLem
AFAIK the pause button is the only one for which this happens, and then only when backwards framestepping. So, it should be easy enough to isolate the code and find a fix.

Quote from: namida
It may be that the full "redraw original button" is only triggered when unpausing specifically
But for some reason, redrawing the frame is called after a backwards skip

Quote from: Dullstar
@WillLem adding to what Namida said: in pretty much every 2D graphics libraries I've used, whenever you draw something, it just plops it right on top of what's already there. Thus, the "safe" thing to do is clear the screen and redraw it each frame. But: you can be a bit more efficient if you only update the parts you actually need to change.
Typical NeoLemmix graphics really only use 0 and 255 alpha: pixels are either transparent or they're not, no semitransparency involved. In that case, you plop it on top of whatever was there before, and it looks the same as it would have if you'd actually cleaned up and cleared the screen first (well, at least for everything in that area)
Under these conditions, if you draw the same thing on top of itself, nothing really happens so it goes unnoticed. A little wasteful, but whatever, and hey, it's better than clearing everything and redrawing unnecessarily.
But once you add more options for the alpha channel, now the end color for each pixel depends on its starting color, so it changes every time you do a redundant draw call.
Thus, when redrawing a semitransparent object (sometimes it's necessary, maybe something moved) you need to redraw whatever was behind it too (and even a solid background would count as something behind it)
In this case, though, it's probably as Namida said and it's just being drawn unnecessarily many times, in which case dealing with that's the best fix. If for some reason you can't fix that the hacky fix would be to redraw the button before drawing the semitransparent graphic on top of it.

Quote from: namida
This is probably something I should fix in NL too tbh. Semitransparency is meant to be supported in most places where it would be sane to use it.

97
SuperLemmix / [FEAT] Kill All Zombies talisman added to SuperLemmix
« on: March 06, 2023, 01:43:08 AM »
The previously redacted Kill All Zombies talisman has been reinstated, so SuperLemmix now has this feature! It will require some testing and possibly further development due to the issues namida raised in the linked topic, but from what I can see so far it work a treat and is potentially a lot of fun!

I've also added support for this Talisman to the Editor, so when the next version of SuperLemmix is released we can get creating zombie-killing levels straightaway :lemcat:

In the meantime, please do read the linked topic and then let me know here in this topic if you have any suggestions or comments relating to this feature.

98
SuperLemmix / [SLX] Upcoming features | Release schedule
« on: March 03, 2023, 12:57:28 PM »
Upcoming Features - Implemented for next release (2.8)


Nothing to see here yet.

99
SuperLemmix / [SLX] SuperLemmix Level Sharing Topic
« on: March 02, 2023, 02:21:31 AM »
A topic for sharing your levels made for SuperLemmix

Please note:

:lemming: Please use this topic to share individual or non-grouped levels only. Any packs, however small, should be shared in their own topic.

:lemming: SuperLemmix only ships with the styles, music tracks, sounds etc to run its included levels. If you wish to use different assets please include them with your level.

:lemming: Please note that some styles from NeoLemmix which include custom sprites will be incompatible due to missing the "dangler", "freezer", "looker", "thrower" and "timebomber" sprites. If you wish to update these styles to include the sprites so that you can use them in your levels, be sure to get permission from the style creator first.

:lemming: Be aware that whilst SuperLemmix will be able to run most NeoLemmix levels, some may not be cross-compatible. If you wish to share your NeoLemmix levels, please check compatibility with the latest version of SuperLemmix before posting. Here is a topic addressing the specific issues you may encounter when porting levels across. There is also a handy list of the main differences between NeoLemmix and SuperLemmix here, for easy reference.

Thanks, and enjoy sharing your levels!

Here's a very quick and fun level just to get the ball rolling 8-) ;P

100
SuperLemmix / SuperLemmix 2.7.3 | Editor 2.7 | Styles 2.7.3
« on: March 02, 2023, 01:38:33 AM »
A fork of NeoLemmix featuring new skills, a Classic Mode option and an updated level Editor


Other useful links:


SuperLemmix gameplay, physics and interface are greatly influenced by the Amiga and Windows 95 versions of Lemmings, but with all the QOL features we've come to appreciate from NeoLemmix still at our fingertips. Here's a list of everything that has been implemented for SuperLemmix so far:

New & Modified Skills (click to show/hide)

Classic Mode (click to show/hide)


New Objects (click to show/hide)



Zombie Updates (click to show/hide)

Updated Game Mechanics (click to show/hide)

Updated Game Controls (click to show/hide)

New Talismans (click to show/hide)

Updated panel (click to show/hide)

Updated sounds (click to show/hide)


DMA Compliation Packs (click to show/hide)

Editor Updates (click to show/hide)

Revised & Culled Features (click to show/hide)



Upcoming features / wish list.

101
SuperLemmix / [FEAT] Changes to the Config Menu
« on: February 27, 2023, 02:25:53 AM »
As well as implementing Classic Mode, which globally deactivates a number of features (some of which can be individually deactivated when not in Classic Mode), a number of changes to the Config menu have taken place:

:lemming: Removed support for Online Features - Default sprites and styles are different in SuperLemmix, so it doesn't make sense to keep it connected to online features for NeoLemmix (not to mention that there's no reason that namida's NeoLemmix website should continue to support other forks such as SuperLemmix). Styles will therefore be manually updated periodically, and there will always be an up-to-date all-styles download available from the release topic.

:lemming: "Don't Replay After Backwards Frameskips" has been re-named "Replay After Backwards Frameskips", and the checkbox function has been inverted to match.

:lemming: Support for "Force Default Sprites", "Linear Resampling In-Game" and "Hide Advanced Options in Level Select" has been dropped. For the most part, this is to tidy up the menu a bit, but it's also because I'd personally rather not support these options in SuperLemmix.

Note that most of these have currently only been "soft-removed", and the code is still in place but has been commented out. I can always add these options back in if there's enough demand.

:lemming: Graphics Options now has its own tab, to keep the interface tidy.

:lemming: A "Reset Window" button has been added which auto-checks Reset Window Size and Reset Window Position at the same time.

:lemming: Added option to choose between "Yippee!" and "Boing!" for the Exit sound.

102
SuperLemmix / [EDITOR] Updates to the Editor
« on: February 26, 2023, 05:56:28 PM »
Editor updates:

The SuperLemmix Editor is based on the NeoLemmix Editor, and uses the same codebase. It's mostly the same, but here's a list of everything that's changed so far:

:lemming: Custom Piece Move: Pressing Alt+Arrows now allows pieces to be moved a custom amount, which users can set to their liking in the F10 Settings menu

:lemming: Horizontal and Vertical Drag: Pressing Ctrl+Shift then dragging pieces allows them to be dragged Vertically (along the Y-axis only). Pressing Ctrl+Alt then dragging pieces allows them to be dragged Horizontally (along the X-axis only)

:lemming: Freezer, Grenader, Spearer and Timebomber added to skillsets

:lemming: Kill All Zombies talisman added

:lemming: Wider theme/styles dropdowns for easier reading

:lemming: Some of the fields, buttons and labels have been re-named slightly (their functionality remains the same)

:lemming: "Clear Backgrounds" button has been moved to the piece selection area

:lemming: "Tools" and "Options" menus have been condensed into one (labelled "Options"), so Snap-To-Grid now appears here

:lemming: Play Level and Validate Level have been moved to the File menu, and Validate Level now has its own hotkey (Ctrl+F12)

:lemming: Stoner support removed

:lemming: Auto Screen Start is now unchecked by default - the plan is eventually to set this back to checked by default, and automatically uncheck it if the user edits the screen start values

Wish list for the future:

:lemming: Make "Lemminas" another type of lemming (like Zombies, Neutrals) which can be added to levels alongside regular Lemmings (this will also need player support as well, obviously)

103
SuperLemmix / [FEAT] New Exiting Mechanics (Direct Drop, etc)
« on: February 24, 2023, 03:51:41 AM »
Found the single line of code today which prevents Fallers, Splatters, Jumpers and Reachers from exiting upon contact with the exit trigger :lemcat:

:tal-gold: Direct Drop re-implemented in Commit 2fb7a1fc5 along with Jumpers & Reachers being able to exit.

104
- The Laserer will be given (effectively) infinite range; this will need to be fully tested as it will likely affect the duration of the laserer state

- If the extended Laserer range proves to be effective and useful, the Fencer skill could potentially be removed. I've decided against removing skills from the engine. Doing so is just as difficult as adding stuff; I'd rather cap the available skills at 16, as per the (potential) new panel layout, but ultimately keep all of them available Editor-side.

What I might do is modify the less-popular skills so that they become more interesting versions of what they already are:

- The Stoner will be replaced with the Freezer, detailed in this topic.

- The Disarmer could be a single-use skill rather than a permanent; so, a Disarmer can disarm the first trap they come into contact with, but then none thereafter. Thoughts?

- I'm looking at changing water objects so that orig_fire is lava (so, unswimmable), and orig_marble (as well as a few others) will become poison water. The idea is that a Swimmer entering poison water will be changed into either a zombie or a neutral. This makes interesting use of existing features whilst also bringing a bit of added value to the Swimmer skill, puzzle-wise. Non-Swimmer lems will simply drown, as usual, so the objects would be Swimmer-specific. This is just an idea at the moment, I have no clue how to implement this, but it's worth keeping in mind as a potential idea.

- The Fencer remains mostly obsolete as a result of the much better Laserer skill; however, Fencers can be cancelled to create a steeper and more carefully defined staircase, so they're still pretty good on a microscopic level.

Where I'm up to with this:

:tal-gold: Laserer range is now increased to 3200px, which is effectively infinite since .nxlv levels have a size cap of 2400 x 2400; SuperLemmix will not run levels that are bigger than this, I've tried! (I also think the level size cap is ultimately a good thing, so I won't be changing this no matter how much my inner kid wants me to!)

It doesn't affect the time that a laserer spends lasering as much as I thought it might, since the laserer will stop when it either reaches steel, or the edge of the level.

:tal-gold: The Freezer skill is ready! It looks like this:



See this topic for details.

105
SuperLemmix / [FEAT] Included Level Packs
« on: February 14, 2023, 10:19:01 PM »
SuperLemmix will ship with the following packs:

:lemming: DMA Compilation Pack - all OG levels fully restored and with relevant logos. This project is in progress and is nearly complete.

:lemming: SuperLemmix Welcome Pack - this will include levels showcasing any engine-specific features that don't appear in NeoLemmix.

Pages: 1 ... 5 6 [7] 8 9 ... 22