Plans for V1.35n

Started by namida, June 04, 2015, 07:51:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

So, what would you like to see in V1.35n?

One of my main goals for it is to reduce the font size for the text above the skill panel, and thus include some more information there. Proposals for what to have, so far, include always displaying information on which permanent skills a lemming has (not possible due to space limits with the current font size, hence the system of "hold alt and highlight a lemming to display it"), how many lemmings have been lost, and how many lemmings need to be saved to pass the level. One other thing I was thinking was the time taken so far - although this could instead be done similar to Lix, in that on levels with time limits it stays exactly how it is now, while on levels without them it displays a counting-up timer that shows how long you've taken so far.

Aside from that, I also hope to replace the MAIN.DAT format, similar to how I've done with levels and graphic sets, to be more flexible (and support 32-bit images, although like with graphic sets NeoLemmix will probably not implement support for alpha values other than "fully transparent" or "fully solid" for now). It'll be done in such a way that future additions to it don't require losing support for older files; aside from that, one thing I was considering adding is supporting (but not requiring) seperate lemmings graphics for zombies - at the moment, zombie graphics are based on a hard-coded recolor. One thing I'll need to think about is how to handle the effect seen in the MAIN.DAT files of LPIII / LPIV / LPOmega, where the color of certain elements of the skillbar changes between different graphic sets. The hardest part will be how to edit this in a user-friendly way, more than simply how to make it work in NeoLemmix. As you probably know, I plan to make a better MAIN.DAT editor than LemMain, similar to how I replaced LemSet with a more user-friendly graphic set tool; but I'd like to actually have the new format implemented (rather than just planned) before doing this.

Another thing that one person has been repeatedly requesting is an option (for custom packs) to disable direct-drop. While I don't particularly like the idea of having those kind of mechanics-options (indeed, I was reluctant to even add a "timed bombers" option), I do see how constantly designing levels to avoid the possibility could be a pain in the ass, so I might look at adding such an option.

Needless to say, it makes sense to introduce these two changes at the same time, since changing the font size itself would require modifications to MAIN.DAT's structure.
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)

Minim

I personally think it would be nice to see the return of colored backgrounds like it was seen in earlier versions (I wonder why that got removed earlier) either in a text document, or in the password menu.
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

namida

It can be done by turning cheat mode on and entering a certain code. IIRC it was BG then the hex values of the color you want (eg. FFFFFF for white), but I don't remember for sure. I'll check when I can.
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)

Wafflem

#3
Any of these:

Quote from: namida on January 02, 2015, 01:28:38 PM
Currently noted suggestions:
> A proper readme (or documentation on the website)
> Split / improve Force Gimmick/Skillset option
> Multiple saves
> Some method of viewing the link between teleporters and receivers
> Gimmick warnings
> "Killed" counter on skillbar


Currently known low-priority bugs:
> When cheat mode is used to access non-existant secret levels in NeoCustLemmix, they act like clones of the first levels of each rank

Aside from the proper readme/documentation, which you have been working on (the NeoLemmix Editor guide, the level formats, etc.).

The splitting/improving the force gimmick/skillset can be tricky, but I think this can be more easily done for skillset since there are only 16 skills.

I would be nice to figure out how to view the link between teleporters and receivers (most especially in the Space tileset, I'm not too sure about using the numbers as terrain pieces to indicate which teleporter goes where, especially if you want to make a Space level that has many teleporters/receivers); one way to do that could be a modifier key and hovering it over the teleporter to show which receiver it is linked to, and vice versa, which is slightly similar to holding a modifier key for the Athlete lemmings to indicate which ones they are.

The "killed" counter would go very well with your proposal of reducing the font size above the skill panel.

For gimmick warnings, how would this work? Perhaps put it somewhere in the level preview screen? And how should the player be warned? Should they simply be told that the level has a gimmick, or should it specify which gimmick(s) the level is using?

Additional suggestions:
mobius suggested the skills turning white when there aren't any left instead of displaying "00", something which can be a configuration menu option.

A hint system would also be nice; this was something that was discussed months ago. How would the hints be displayed is the question. Perhaps pressing another key, then it will show a dialog box with the hint. Then there are also the hint arrows that came from Cheapo; how would those work?

I don't like how you have to hold Shift to assign only one skill to each lemming. Instead, I feel that it'll work better if you simply press Shift to make it the one-skill mode, and press Shift to make it normal mode.

Also, perhaps add the 16-color LPII graphic sets to the NeoLemmix styles folder in a very similar manner to how you added the Genesis version of the Orig styles?
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

Simon

Rant dump for completeness. Nothing in it is urgent.

[17:09] <SimonN> wtf, neolemmix has too many undiscoverable keys
[17:10] <SimonN> Mantra: for each function that you bind to a key, make an on-screen button with the same functionality, maybe give it a tooltip with the hotkey
[17:10] <SimonN> You can break this guideline for really, really obvious things like ESC menu
[17:10] <SimonN> even for that, some games have an OSD button
[17:12] <SimonN> discoverable == you will somehow find the thing during your normal use of the program, and curiosity will lead you to trying it. A row of OSD buttons is very discoverable
[17:13] <SimonN> the mantra is broken in Lix with directional select, and that is bad, ideas are welcome on how to teach the newb (tutorial not sufficient)
[17:14] <SimonN> and no no no, don't display hints in a modal dialog box, modal boxes suck unless they're preventing you from data loss
[17:14] <SimonN> (modal == popup that forbids clicks to everything behind it)


-- Simon

Nepster

Quote from: Simon on June 05, 2015, 03:24:04 PM
[17:09] <SimonN> wtf, neolemmix has too many undiscoverable keys
Yes, explaining them in the NeoLemmix topic here in the forums is not enough. Players like me don't want to pause playing to search for infos on the internet!
On the other hand I don't think that one needs a button for everything (e.g. for turning the music on or off). But it would be nice to have a HELP-button, that presents a list of all keys along with their functions. In order to avoid modal boxes, these hints can e.g. be displayed as a small-size text in the top left corner overwriting the actual level screen. Then it would not even be necessary to pause the game.

And of course a proper readme coming along with each NeoLemmix player (and not only on the NeoLemmix homepage) would be nice...

Simon

Right, many functions don't need buttons on the main in-game interface: Sound, music, save/load replay, etc., even if they react to hotkeys during the game.

Super-important stuff gets a button on the main playing screen, and less important stuff gets a switch in some in-game menu. Such a menu isn't needed often, so it can be bigger and clunkier than the in-game panel. In-game hotkeys can be described there, which makes it useful as a help screen, too.

-- Simon

Nepster

Currently NeoLemmix has so many functional keys, that directly relate to modifying the interaction with lemmings, that even restricting to buttons to such keys won't work. These keys include: Ctrl, Shift, Enter, Backspace, Spacebar, Minus, B, N, P, Left, Right and right mouse button.
So there needs to be some kind of help menu that can be accessed during game-play.

Minim

Quote from: namida on June 05, 2015, 07:59:25 AM
It can be done by turning cheat mode on and entering a certain code. IIRC it was BG then the hex values of the color you want (eg. FFFFFF for white), but I don't remember for sure. I'll check when I can.

I've checked this myself, and it works! Thanks very much.
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

namida

Quote> A proper readme (or documentation on the website)
> Split / improve Force Gimmick/Skillset option
> Multiple saves
> Some method of viewing the link between teleporters and receivers
> Gimmick warnings
> "Killed" counter on skillbar

Readme isn't really too connected to any specific release. But it makes sense to keep anything too detailed until as much as possible is probably not going to change anymore.
The killed counter and gimmick warnings could tie in fairly well with the MAIN.DAT upgrade. Perhaps the improved forced skillset / gimmick option could too.
As for viewing the link between teleporters and receivers, I still need to decide on the best way to do this.

Multiple saves may also be another thing that's more viable with improved MAIN.DAT, since a menu redesign could go well at the same time.
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

So, I've been thinking about how I'm going to handle this. As I've said in several places, a lot of the NeoLemmix code could do with a rewrite, for several reasons (general tidiness, more user-friendly making of custom packs, easier expandability, not needing a seperate EXE for every game, much more customizability in Flexi, etc). Now - rather than try to introduce this piece by piece (such as the MAIN.DAT thing), it might make more sense to do all of that in a single, major update (which would most likely become V2.00n rather than V1.(current number + 1)n).

As such, I'm wondering if for V1.35n I should just stick to some smaller things that are really overdue and don't require overly huge changes (though they would be enough to label it V1.35n rather than V1.34n-D), then have it as the "final" V1.xxn version while I work on V2.00n, and get everything out of the way in a single go. This may mean that V1.35n remains the newest version for quite a long time; though I could do small (-B, -C etc) updates in the meantime to fix bugs of course.

What's everyone else's thoughts on this?
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)

Wafflem

Quote from: namida on June 10, 2015, 01:56:59 PM
So, I've been thinking about how I'm going to handle this. As I've said in several places, a lot of the NeoLemmix code could do with a rewrite, for several reasons (general tidiness, more user-friendly making of custom packs, easier expandability, not needing a seperate EXE for every game, much more customizability in Flexi, etc). Now - rather than try to introduce this piece by piece (such as the MAIN.DAT thing), it might make more sense to do all of that in a single, major update (which would most likely become V2.00n rather than V1.(current number + 1)n).

As such, I'm wondering if for V1.35n I should just stick to some smaller things that are really overdue and don't require overly huge changes (though they would be enough to label it V1.35n rather than V1.34n-D), then have it as the "final" V1.xxn version while I work on V2.00n, and get everything out of the way in a single go. This may mean that V1.35n remains the newest version for quite a long time; though I could do small (-B, -C etc) updates in the meantime to fix bugs of course.

What's everyone else's thoughts on this?

That would be a great idea, especially since the MAIN.DAT really would require an overhaul. I can't wait for the new update with the improved interface. What are the smaller things that you plan to add to V1.35n?

For "not needing a seperate EXE for every game", would this mean, for example, all Lemmings Plus games (including Bonus Packs, HLP and LPO, except maybe LPF), all in one EXE?
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

namida

Quote from: DynaLem on June 10, 2015, 03:00:52 PM
For "not needing a seperate EXE for every game", would this mean, for example, all Lemmings Plus games (including Bonus Packs, HLP and LPO, except maybe LPF), all in one EXE?

Basically, my thoughts here are for the EXE and the game data to be seperate. This wouldn't be a setup along the lines of what Lix / (Super)Lemmini have of having thousands of files per pack, but it could perhaps be more compared to how Hungry Software's game Ducks works; each level pack is basically distributed as a single file which contains all the data relating to that pack. The EXE basically lets you load a file, either through a typical "Open File" dialog box or maybe a setup along the lines of what WinLemm has.

As well as files that contain entire games, it could also be possible to have files that simply contain extra musics, extra graphic sets, etc, so these too don't need to be seperately included with each game. For this, of course, I'd want it to go either way - a game data pack could contain them, or simply rely on an external one.

Most likely, I'd still embed the default files in the EXE, for simplicity's sake. An addon pack, or a custom game, could override them if need be.



As for the smaller things - music by names, seperating the things that currently re-use a single data field (eg: currently, the same data field is used for both oddtabling and bait-and-switch, meaning you can't have a bait-and-switch level that also oddtables another one; another example would be the clock gimmick not working too well together with VGASPECs). I'd also like to implement some way of checking replays are for the correct level that works with NeoCustLemmix (since for obvious reasons rank / level numbers don't work too well there), and at the same time avoid the checks failing when levels are simply reordered. I'm also very strongly considering making it simply give a warning, rather than outright refusing to load the replays, as long as the replay is a valid replay and the only issue is that it's for (or at least appears to be for) a different level. Perhaps a few new gimmicks too, which if it's more than one would mean a need to allow for more than 32 gimmicks... just because Lemmings Plus IV didn't use gimmicks doesn't mean there can't be some new ones for LPIV Bonus Pack, after all...

In fact, a lot of this is already supported as of V1.34n-B, but it's mostly supported only to the extent of "NeoLemmix will not throw a fit when trying to load a level containing this extra info" rather than "NeoLemmix actually makes full use of this extra info". An almost-unnoticable glitch in the support for this is what caused the major oddtabling issue in V1.34n-B (I say almost unnoticable because, it wouldn't be expected to have any impact on oddtabling; the only effect it would have is unpredictable results in clock gimmick levels that have no objects and don't have this extra info, which in practice is unlikely to ever happen since a level without objects isn't exactly of much use...), as well as the far-less-major issue with the music in levels that use oddtabling in V1.34n-C.

And, of course, fixing any bugs that show up, as usual.
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

So in regards to the music-by-names thing - supporting simply specifying a filename rather than a number is very easy to implement (and already implemented :P), but how exactly use of that should be made is a bit less clear.

I'm thinking that, for V1.35n, all I'll do is support it for use in Flexi packs, so that people who prefer to use a name can do so. I'll need to sort out some system to determine the order of tracks in such a case. For non-Flexi, I'm thinking a simpler solution is to just have a "..." button next to the music number entry in the editor, which would bring up a list of tracks (in the NeoCustLemmix ordering) which can be selected from. The larger parts - completely overhauling the way music is handled - is something that I feel would be better saved for V2.00n, otherwise any major stuff done now is probably going to just have to be re-done for that upgrade anyway and/or introduce some new data element that exists for just a single version. Perhaps it might even be better to just leave the music-by-name feature out altogether for now (but still add the user-friendlier selection in the editor).
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

#14
So, yeah, leaving the music-by-name and redesigned interface / skillbar / etc for V2.00n.

V1.35n is pretty much ready (both player and editor), apart from needing some more testing and perhaps adding a few new gimmicks. This will be the last major version before V2.00n, but minor updates (-B, -C etc) can occur if there's a need for bugfixes. The level files for all players have been updated to the V1.35n structure, although this isn't nearly as major an overhaul as V1.33n's - V1.35n levels will work almost perfectly on V1.33n (only issues that may occur are with post-secret-level redirects, and the bait-and-switch and clock gimmicks), and should work completely perfectly on V1.34n-B/C.

As suggested, I've somewhat redone how the replay checks work. For replays that were saved in older versions, it uses the existing method as a fallback. For replays made in V1.35n or higher, it instead checks a unique ID assigned to each level - a level that doesn't have an ID (because it's never been modified with editor V1.35n-A+ or dumped from player V1.35n+) will be assigned one on load, which, provided the level isn't changed, will remain consistent every time the same level is loaded. This also means that NeoCustLemmix can also do replay checks now. At the same time, I've also made it so that, if a replay isn't invalid / corrupt, but merely appears to be for the wrong level, it won't refuse to load; it'll just give a warning. Once a level has an ID, it keeps that ID even if moved to a different position or if the level itself is modified (but the editor does have an option to reset a level's ID).

EDIT: So far, seems like everything is fine! :)
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)