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.

Messages - Simon

Pages: [1] 2 3 ... 229
Tech & Research / Re: Lemmings 2 Data Formats
« on: December 05, 2021, 07:44:01 AM »
I'm the second Linux user with interest in L2.

Lovely project, I wish you the best as you push it forward. L2 tooling looks daunting to create, there are so many tiles, skills, ..., to support, and rewriting the L2 game is the holy grail.

Physics: I have no strong opinion on how close to DOS L2 is best. As soon as you change the behavior, it all becomes a question of taste anyway. Ultimately, one person has to decide what bug(fix) goes it and what doesn't. Let's see where this project takes you.

Quality of life: Replays and deterministic physics are good. Players like to share their replays with the level designers, so they can fix backroutes. Even during realtime play, consider to put all user actions into an internal replay first, and only then let the game display the outcome of that replay.

Savestates and replays are the ideal first quality-of-life features to make. Both together then lead to backwards framestepping: Lix and NeoLemmix implement backwards framestepping with frequent short-term savestates for performant short physics rollback (loading a savestate from ~1 second ago, then recompute forward to the desired frame using an internal replay), and more spaced-out long-term savestates to support occasional longer rollbacks.

Have you published the project source code? I'd be happy to compile and run it on Linux. Some years ago, I've compiled Nepster's NeoLemmix editor in C# with Mono. Thus, even if you haven't written any build documentation yet, I might get somewhere to give you feedback.

-- Simon

NeoLemmix Main / Re: [DISC] NeoLemmix sounds
« on: December 05, 2021, 05:32:43 AM »
Skill select (changeop.wav) is too loud, consider to make quieter.

Reason: I select skills with hotkeys and I need a quiet confirmation at best. I've just deleted changeop.wav altogether, but that shouldn't be standard. Rather than confirmation when it works, I have a weak preference for an error sound for when I'm trying to assign a skill that is is n/a or zero.

Moreover, changeop.wav contains an obstuse plastic click near the beginning. Such is nearly impossible to fix, but it's one more reason to make changeop.wav quieter.

Agree that swimmer-enters-water is a tad too loud.

-- Simon

22:00 UTC on Saturday is best. 22:00 on Sunday is doable but dents job work.


-- Simon

Lix Main / Re: Slow additions or experimental fork
« on: December 04, 2021, 06:42:53 AM »
Thanks for all the replies.

In the end, I'm eager to experiment with physics. Anything that allows wild forking is good, even if we don't fork, or if we fork and frequently merge features into stable. Some experimental forking is unavoidable anyway, there must be multiplayer playtesting before we decide to nail a feature onto the stable.

Level format: If I move to entirely new format, yes, I'll keep loading code, but ditch the saving code and encourage to convert levels to new formats. Otherwise, consequentially, I'd have to save in two formats whenever a level is expressible in the 0.9 format. The concerns of a level format changes are long-term; they'll bite me in 5 years when it comes to cutting support for older formats.

I have a lot of sentiment to have the game always load things even from 15 years ago. There will be no discussion of cutting ancient loading code if we only tack onto the 0.9 format. This is the main benefit of extending the format, even though it too breaks forward compatibility of 0.9 software. The main problem is that it will be painful to tack heavy nesting or too many switches onto tile lines in the 0.9 level format.

It's conceivable to write extra tools that convert levels/replays/tilesets/... that never ditch support even for archaic formats. E.g., in C++ Lix, I had --convert-and-overwrite in the main executable to make replays skill-slot-independent. Such tooling takes extra care to maintain.

The Debian problem will affect only few users, probably 0, I agree. Still, I don't want to break compatibility of 0.9 with the central server yet.

It has to be a middle ground, yeah.

-- Simon

My solution to Tinsellation wins both talismans (silver and gold) at once. It's precise, and it feels like it's a backroute; the level feels like you should be able to follow at most one of the restrictions. On the other hand, we're still early in the pack; and early in packs, authors often leave such hacking in and declare that anything goes.

-- Simon

Bugs & Suggestions / Re: [SUG][EDITOR] Lock zoom to highlighted object
« on: December 04, 2021, 03:27:53 AM »
Generally, I expect all programs to zoom so that the mouse cursor (that stays fixed on screen) points at the same map coordinates before and after the zooming.

Programs that deviate from this need good reasons.

Haven't tested the NL editor recently.

-- Simon

I'd have time on all of December 11, 12, 17, 18. But:

The issue is my sleeping schedule. I sleep from UTC 15:00 trough UTC 00:00, with free wake time before work instead of after work on weekdays. I'll refrain from voting. If you can gather players for 18:00 UTC, by all means go for it nonetheless. :lix-grin:

I'm already reserving Sunday, January 16th for another session.

-- Simon

NeoLemmix Main / Re: NL installer is considered deprecated.
« on: December 03, 2021, 12:47:44 AM »
Right, it's good to offer the game download. The game can fetch a lot itself afterwards.

-- Simon

Lovely preview images, and a quality soundtrack that very much matches the spirit of Lemmings. Thanks!

I'll solve one level per day. :D In 2018, with my/Forestidia's advent calendar pack, I suggested that players solve one level per day, and I couldn't do it myself because I already knew all the solutions.

Attached are the first two solutions. To prevent 22 extra posts, I'll add future replays to this post I'll add replays to my newest replay-containing post. When I have something to comment, I'll post the replay in a separate new post.

-- Simon

NeoLemmix Main / Re: NL installer is considered deprecated.
« on: December 02, 2021, 02:19:21 AM »
I have unstickied the installer a long time ago now, and to be honest I'm not sure how people are still finding it.

Mysteries and conspiracies... I'll blow the lid off the mysterious mystery how people still find the installer:

It's the biggest, most obvious thing to click directly on

-- Simon

Lix Main / Re: Slow additions or experimental fork
« on: December 01, 2021, 03:25:48 AM »
Nessy recommends the careful approach.
Flopsy isn't sure, weakly suggests the careful approach.

It's possible to start the careful approach with the multiplayer server, then decide again for the client side, e.g., for physics.

In the long term, I'd like one server program to handle several client versions anyway. It makes a lot of sense to start here, then. Once the server supports different physics in different rooms, we can still fork an experimental client with physics features, or proceed with careful iterations even on the client side.

-- Simon

Lix Main / Slow additions or experimental fork
« on: November 30, 2021, 06:12:09 AM »

here is some very-high-level strategy for the future of Lix: It's not the high-level 2022 roadmap, but even higher level.

How will I introduce breaking changes? I've been really conservative, I haven't changed the physics at all since 2017. Why is that? And how will the next 5 years look like?

Debian problem: Every 2 years, Debian, the linux distro, allows major software updates. We have a package with Lix 0.9.x in Debian, thanks to tarzeau. :lix-cool: Debian shuns non-bugfix patches in-between the releases, therefore Lix's physics updates will only land in the Debian Lix package every 2 years. The Lix game server (running on a machine that I rented, has nothing to do with Debian) accepts players from all operating systems, including Debian, but requires that everybody has the same minor version of Lix (either all have 0.9.xx, or all have 0.10.xx, ...). Therefore: If we change the physics in stable Lix releases more often, Debian players will not be able to play on the server. But I want them to be able to play.

The Debian problem is paramount in my Lix project planning. I want the Debianists to play. I don't want to lock them out of the server for over a year.

Therefore, I see two possible paths forward:

Careful addition:
  • Rework the existing server to accept players from different minor versions (0.9.xx, 0.10.xx, ...) and ensure that you only join rooms with same-version players. If this takes weeks to be nice, so be it.
  • Work on the existing problems one-at-a-time.
  • Introduce physics changes only when well-tested in singleplayer, and move all culture to the new stable. Ideally, create some unittests for physics.
  • Only extend the level format, don't replace it entirely.
  • Introduce neutral lix only after careful assession how they fit best into the existing level format.
Massive feature bloat:
  • Immediately split an experimental from stable, and run two multiplayer servers.
  • Add neutral lix, add unstable features, add new skills
  • possibly cut/change/merge skills to make room in hotkey layout
  • Change level format in whatever incompatible way I want.
  • Expect the stable and the experimental to be split for years.
The 5-year-old child in me wants to bloat 7 features and then cut 3 of them. I haven't done this in software for years. It's refreshing to make features without spending 90 % of the time on how to make it agree with the rest of the software. We can bloat dumb features and ditch them if they suck!

The software architect in me isn't so sure, warns that those 90 % will be spent anyway in the future, and wants more caffeine now. Also, I don't know if I have the free time for enough features that warrant a fork.

The community priest in me wants everybody under the same nice comfortable stable version, and no arguments that feature X will be cut in any experimental version. Debianists will always enjoy the same perks as those who run the hottest new stuff, because only highest-quality hot stuff leaves the factory in the first place.

-- Simon

Infinite, always-active: This feels like has wider applications than single-use. Example: Put the always-active neutralizer on all connections to a certain area where you want to forbid all skill assignments.

Compare this with a naive nonassignment area: That would be an area-filling gadget where you can't assign inside. Such a naive area would lead to problems with visualization. You'd want to pad a large area of the level, both terrain and air, with naive nonassignment areas. Most visualizations for such a large area would become obstrusive. One-way arrows already catch your eye aggressively, and the naive nonassignment area would likely be harsher on the eye.

I have no strong opinion on the value of either the infinite neutralizer or the infinite deneutralizer. Looks like they can be tools to prevent backroutes as well as central level themes. I'll leave any stronger argument for the level designers.

-- Simon

Lemmings Main / Re: Most annoying Lemmings level to you (any game)?
« on: November 29, 2021, 02:35:36 AM »
Immediately Give Up, yes, it's by me, and I discorage everybody from trying.

ccexplore can fan ballooners with inhuman precision and has eternal patience. He found the min-skill solution to Lemmings 2 Space 5, The Stainless Steel Lemm, where you had to balloon and fan, rope in-between the fanning, and then immediately go back to fanning and blowing the ballooner down further.

I wanted to research the limits of ccx's godly skill, and built Immediately Give Up. IIRC, ccx solved it, and nobody else.

By now, Immediately Give Up has brought cultural damage, not merely research knowledge: Kieran found it and seriously attempted it. Others might also try. Therefore I warn:

Don't play it. The sense of this is: Don't consider yourself a bad player if you don't solve it. Hint for playing because some people heed no warnings: While fanning, pause with the P key, then you keep the option to unpause with the spacebar to have the fan immediately at max speed.

If you build similar levels for some reason, at least don't let them run wild without warnings, like you would with normal packs. These levels will propagate into normal level culture. People will find your level and seriously attempt it, but it only brings rage and sorrow. Also you won't look good as a designer. Hint: Put the obvious first skill in the first slot, so the engine selects it automatically on every of the tedious restarts.

-- Simon

I didn't expect the sudden close. Given the history in its topic, I expected namida to ask for input 1-2 more times whether (talismans for killing all zombies) is worth it before closing for lack of interest.

Reason: Half-done ideas get buried frequently on the forums. Other people way well assume that the feature is in the oven and won't prod unnecessarily. It's normal to have only a few posts even in an important issue.

I'm neutral on the feature itself (talisman for killing all zombies).

-- Simon

Pages: [1] 2 3 ... 229