Lemmings Forums

Other Lemmings Projects => Loap => Closed Loap Bugs / Suggestions => Topic started by: namida on February 07, 2022, 01:00:05 AM

Title: DireKrow's missing feature list
Post by: namida on February 07, 2022, 01:00:05 AM
Copy-paste from Discord. Updated as I work on things with strikeouts / new additions.

Quote
Main things L3D has which Loap currently doesn't:
- Virtual Lemming. (added in commit 2504296 / for V0.0.14.0)
- Hilight Lemming. (added in commit 7f92b4c / for V0.0.14.0)
- Proximity-based sfx volume. (added in commit 71cdae5 / for V0.0.14.0)
- Solid camera physics. (added over several commits, can be considered complete as of 5b44093 / for V0.0.15.0)
- Display a lemming's assigned skills on hover. (added in commit 1ec80a3 / for V0.0.15.0)
- Automatic level exiting. (added in commit 7f9334b / for V0.0.15.0)
- Visible cameras. (added in commit 7df92ec / for V0.0.15.0)
- Hatch opening animation / sound. (added over several commits, merged in a6a7460 / for V0.0.18.0)
- Main menu. (added in commit 321c524 / for V0.0.18.0)
- Automatic replay saving. (added in commit b2d8bb3 / for V0.0.16.0)
- Options menu. (added over several commits, completed in 687ffb2 / for V0.0.22.0)
- Minimap. (implemented over several commits in a seperate branch, merged in 1e33ecc / for V0.0.21.0)
- Level select, including records. (virtually complete in V0.0.23.0; record display will be included in V0.0.24.0)
- Hotkeys menu.

For options, chiefly I'd say display and render resolutions, fs/windowed, vsync/framelimiter, music/sound vol, key & mouse rebinding, camera sensitivity, cursor lock on drag, cursor trap in window are the main things you'd want for this in v1.0.

NL features that are not in L3D but are desirable in Loap:
- Save state and load state.
- (Mass) replay check. (implemented in a side branch, merged in commit f4f9261 / for V0.0.23.0)
- Button to hold to assign to walkers only. (implemented in commit 5a8100c / for V0.0.23.0)
- Go to next shrugger button. (implemented in commit 1e4fd59 / for V0.0.24.0)
- Hilighting currently selected lemming on hover. (not going to happen)
- Changing climber/floater/etc's color. (not going to happen)
- Clear physics mode equivalent.
- Insert mode and replay editor.

Then there's the editor, if you choose to make one.
Title: Re: DireKrow's missing feature list
Post by: namida on February 11, 2022, 04:43:28 AM
Aside from updating this list, I've also sorted it into the order I suspect these features will get implemented it - though to be clear, that's not a promise that it'll be this order.
Title: Re: DireKrow's missing feature list
Post by: WillLem on February 28, 2022, 09:14:20 PM
The only things I'd suggest adding to the list at this stage:

(EDIT: Strikeouts are because I didn't realise these were already possible!)

- Forwards and backwards framestepping (these would be an absolute Godsend for this game!)
- Restart level (rather than having to nuke out each time)
- Allow camera to look directly down from above (not sure if this is possible to implement, but it would be very helpful)

Suggestions for the distant future:

- Autocamera (I've not finished imagining how this would work yet because I haven't played enough of the game, so don't consider it a full-on suggestion yet. Maybe you could assign the camera {or one axis of it} to a lemming, and it would move according to where that lem goes, all you'd have to do is zoom in and out {and control the other non-automated axis}, something like that...)
- Immediate skill assignment (I get that it's an L3D clone, and L3D works in blocks, but that's one of its drawbacks IMHO. I'm not sure if the game physics would allow on-the-spot assignments, of course, so maybe this isn't possible)
- 3D models for the lemmings, objects and terrain (this is dreamland really, but it would be cool)
- Or at least, better 2D animations (I'd be happy to look at this if others want it as well)
Title: Re: DireKrow's missing feature list
Post by: namida on March 01, 2022, 06:30:55 AM
Quote
- Allow camera to look directly down from above (not sure if this is possible to implement, but it would be very helpful)

This is not possible until/unless all objects are 3D models rather than 2D sprites. Then, I want to retain the option to support 2D sprites for the sake of custom content. So ultimately - this won't happen. However, the intention is there to add minimap in future versions, which should help a bit with this.

Quote
- Autocamera (I've not finished imagining how this would work yet because I haven't played enough of the game, so don't consider it a full-on suggestion yet. Maybe you could assign the camera {or one axis of it} to a lemming, and it would move according to where that lem goes, all you'd have to do is zoom in and out {and control the other non-automated axis}, something like that...)

Hm, so, like Virtual Lemming but at an arbitrary distance / angle / etc from the lemming...? This idea has potential and should be split off into its own topic. Very much a long-term rather than near-future goal.

Quote
- Immediate skill assignment (I get that it's an L3D clone, and L3D works in blocks, but that's one of its drawbacks IMHO. I'm not sure if the game physics would allow on-the-spot assignments, of course, so maybe this isn't possible)

Not going to happen to any further extent than it already does (there are a few cases, in particular with floater, turner, blocker and bomber assignments, where the exact timing can make a difference).

Quote
- 3D models for the lemmings, objects and terrain (this is dreamland really, but it would be cool)

This is something I'd like to do at some point, actually! I picked up a Blender course from Humble Bundle a while back, and was going through it but got sidetracked by developing Loap. But when I get further along in that, much like how Loap itself is good practice for 3D logic / rendering code, making models for Loap will be good practice in modelling. Of course, if other people want to help out, I won't say no, when the time is right (and by that, I'm thinking that support, let alone provided model files, for models instead of images for objects is likely to be a V2.X feature rather than V1.X).

Quote
- Or at least, better 2D animations (I'd be happy to look at this if others want it as well)

...and for that reason, this one is not worthwhile.
Title: Re: DireKrow's missing feature list
Post by: WillLem on March 02, 2022, 03:49:12 PM
Quote from: namida
Quote
- Allow camera to look directly down from above (not sure if this is possible to implement, but it would be very helpful)

I want to retain the option to support 2D sprites for the sake of custom content. So ultimately - this won't happen

Quote from: namida
Quote
- 3D models for the lemmings, objects and terrain (this is dreamland really, but it would be cool)

This is something I'd like to do at some point, actually!

If 3D models are implemented, then surely camera-from-above should also be. If any custom content doesn't provide 2D sprites/objects/etc then camera could just revert to normal. Or rather, iff all graphics are rendered in full 3D for the currently-loaded level, then the full camera control becomes operational.

Quote from: namida
Quote
- Autocamera

Hm, so, like Virtual Lemming but at an arbitrary distance / angle / etc from the lemming...?

I'm not sure what virtual lemming is, I haven't tried this out yet. Ideally, the player needs as little "babysitting" to do as possible. At the moment, the camera control demands a lot from the player even before they are working their way through the level. IMHO highlight lemming, far from being helpful, adds another thing for the player to worry about. Is virtual lemming similar to this?

Quote from: namida
making models for Loap will be good practice in modelling. Of course, if other people want to help out

I have to confess, I have no experience working with digital 3D models. But, it would definitely be fun to give it a try! Plus, I feel like a truly 3D lemmings game is definitely something that would be worth taking the time to learn for! Let me know when you're ready :thumbsup:
Title: Re: DireKrow's missing feature list
Post by: namida on March 02, 2022, 06:47:56 PM
Quote
IMHO highlight lemming, far from being helpful, adds another thing for the player to worry about. Is virtual lemming similar to this?

Virtual Lemming is the icon next to highlight. When enabled, the camera moves to essentially see through the lemming's eyes. If you don't make use of moving the camera through walls, you'll need this in particular on the practice level "Claustrophobic" and the LP3D Fun level "Arctic Mission". ;)
Title: Re: DireKrow's missing feature list
Post by: NieSch on March 02, 2022, 06:48:03 PM
I'm not sure what virtual lemming is, I haven't tried this out yet.

Virtual lemming is the best thing about Lemmings 3D; it's being a lemming! 8-)
Title: Re: DireKrow's missing feature list
Post by: WillLem on March 04, 2022, 10:04:01 PM
Virtual lemming is the best thing about Lemmings 3D; it's being a lemming! 8-)

Haha, super cool! 8-) Nice feature, this would be great if the camera axes could be arbitrarily set according to the lem's perspective.
Title: Re: DireKrow's missing feature list
Post by: namida on March 16, 2022, 11:21:57 PM
Quote
- Hatch opening animation / sound.

Implemented over the course of several commits in its own branch; merged into the master branch in commit a6a7460.
Title: Re: DireKrow's missing feature list
Post by: namida on March 17, 2022, 09:42:50 PM
Quote
- Level select, including records.

Partially implemented in 8662fd2 and 92dc7b7. Specifically, records and progress are now tracked, though the only ingame indication is the color of the level title on the level select screen changing based on not attempted vs attempted vs completed. (You can however view the records by opening the save file in a text editor - they're tracked, just not displayed.)

This is still using the "hacky" level select menu for now.
Title: Re: DireKrow's missing feature list
Post by: namida on March 18, 2022, 01:11:40 AM
Quote
- Main menu.

Implemented in commit 321c524.
Title: Re: DireKrow's missing feature list
Post by: namida on March 24, 2022, 06:58:33 PM
Made some more improvements to the level selection yesterday. It still lacks scrolling (instead, splitting over two columns, and just can't handle more levels than can fit on two columns), but it now turns the mouse-overed level title / folder white much like L3D itself does.
Title: Re: DireKrow's missing feature list
Post by: namida on August 08, 2022, 03:11:54 AM
Minimap has been implemented over several commits (in the wip/minimap branch) and merged into the master branch in commit 1e33ecc, for inclusion in the V0.0.21.0 update.

The following commit, cd7595a, makes the minimap hide/show setting carry over between levels, and even between sessions. Unlike in L3D, it cannot be toggled during a level that disables the minimap (L3D would still toggle the visible/hidden setting when the red button in the corner was clicked, even though the minimap would remain hidden if the level disabled it - Loap does not do this, and does not even show the button on minimap-disabled levels).
Title: Re: DireKrow's missing feature list
Post by: namida on August 19, 2022, 08:26:25 AM
Mass replay check has been implemented over several commits (in the wip/mass-replay-check branch) and merged into the master branch in commit f4f9261, for inclusion in the V0.0.23.0 update.
Title: Re: DireKrow's missing feature list
Post by: namida on September 19, 2023, 10:09:50 PM
The remaining things at this point are:

Hotkey menu - I'm hoping to do this for the next update. Been tossing ideas around and have a fair idea of how I'll do it, it's mostly just about actually doing it now.
Go to next shrugger button. - Should be relatively simple to implement, no reason not to look at it soon.
Hilighting currently selected lemming on hover. / Changing climber/floater/etc's color. - Grouped these together as the hard part here is the recoloring code; everything else is trivial. Unfortunately, on-the-fly recoloring isn't nearly as easy with MonoGame's graphics as it is with Graphics32 (library used in NeoLemmix). Proportionally changing RGBA values for an entire sprite is easy enough, but the "search-and-replace" type functionality NL uses for these features is not so easy, even without accounting for the higher complexity in terms of colors used in L3D graphics compared to the DOS sprites NL uses. Given that, I wouldn't consider this too likely to happen.
Clear physics mode equivalent. - This would be nice to have eventually.
Insert mode and replay editor. - Insert mode is easy enough. Replay editor on the other hand would be a lot of work, especially given that Loap can't make use of Windows forms like NL does for that kind of menu. However, possibly a "suspend mode" that can be toggled similar to insert mode, which while active, any replay assignments that would occur are cancelled.
Title: Re: DireKrow's missing feature list
Post by: namida on September 20, 2023, 10:00:02 PM
^ Commit 1e4fd59 now adds skip to next shrugger (or rather, skip to next frame where a lemming that's currently a builder is no longer a builder, whether that's due to shrugging or hitting head or dying or being assigned another skill). It also adds backwards skip to last skill assignment.
Title: Re: DireKrow's missing feature list
Post by: namida on September 21, 2023, 05:48:13 AM
I've split the remaining things off into their own individual topics; closing this one.