2022 Roadmap

Started by Simon, December 30, 2021, 10:37:15 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Simon

2017 -- 2018 -- 2020 -- 2022 -- 2023




Hi,

before the happy new year 2022, here is the Lix development roadmap for 2022. Thank you for all of your input at Slow additions or experimental fork!
  • Make the game server accept different minor versions. In a room, everybody should still have the same minor version. Users of the current minor version, 0.9, should still be able to connect to this server and see other 0.9 users. I need a flexible server anyway to support physics experimentation with our community, thus it's not that far a stretch to also make it 0.9-compatible.
  • Stabilize the physics changes that have been on the backburner since 2017, and release a stable 0.10.x with singleplayer fully proof-covered. 0.10 will not have neutral lix yet.
  • Offer an experimental version with neutral lix in multiplayer. It's okay if it takes until 2023 or later to merge anything like this into stable. It's probably okay to have a strange level format for neutral lix before neutral lix stabilize, but that's a separate concern, I'll think about it when the time comes.
  • Add HTTPS to lixgame.com. Some reasons, also I want to learn it and lixgame.com is the obvious learning project, and the knowledge is remotely related to my day job.
-- Simon

Flopsy

I would still also like to help with categorising the Lix multiplayer levels if that is even on the agenda anymore?

Also I'm going to take this opportunity to publicly announce that I am no longer creating any NeoLemmix content and want to focus full time on Lix. I'm changing my "field of study"

I want to continue creating multiplayer levels for the community, help categorise the existing levels with input from the Lix community, and maybe even delve into single player content in the future :).

namida

QuoteAdd HTTPS to lixgame.com. Some reasons, also I want to learn it and lixgame.com is the obvious learning project, and the knowledge is remotely related to my day job.

This is by far the easiest task on here, and should be something you* can figure out and implement in the space of a few hours, if that.

Look up LetsEncrypt as your starting point.

* just to be clear, I specifically mean "you" as in Simon here; someone with less technical background knowledge might not find it this easy
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)

Simon

Quote from: Flopsy on December 31, 2021, 02:55:57 AM
categorising the Lix multiplayer levels if that is even on the agenda anymore?

Yes, since you're pushing for it, I'm happy to support that even before I work on the server. If we have tags per level, that will be easy to implement with good backwards-compatibility onto the existing level format. Older Lix versions (= the current 0.9.40 and older) will discard the tags and interpret the remainder of the level exactly the same as tag-supporting Lix.

mobius made a thread in 2019, Organize Multiplayer Levels, I'll post there within 0-2 days.

Quote from: namida on December 31, 2021, 04:45:44 AM
QuoteAdd HTTPS to lixgame.com.
Look up LetsEncrypt as your starting point.

Right, that is the plan: Update the webserver, install its extensions that handle HTTPS, and look into Let's Encrypt.

-- Simon

Simon

https://www.lixgame.com has HTTPS.

Next task is to make the game server support different client versions. I've looked at the networking code and already have some first ideas.

--  Simon

Simon

Lots of server code refactoring behind the scenes.

The first goal is to allow both Lix 0.9 and Lix 0.10 on the same server. I have many things in place for this already. Lix 0.9 will only see 0.9 rooms; the server will continue to use the 2016 networking protocol with Lix 0.9 and hide extra information that 0.9 cannot use.

Chatting in the lobby between 0.9 and 0.10 will work. :8:()[:

For Lix 0.10, there is a choice:
  • Use the 2016 protocol, too. Then 0.10 won't see 0.9 rooms either. This is easiest for the client-side UI, nothing has to change. I can still support physics changes that have nothing to do with the lobby.
  • Move 0.10 to the 2022 protocol. This is more work now. I dearly want to show all rooms (including those you can't enter, with their games versions) and support handicaps sometime, therefore I'll do this work anyway. The sooner Lix clients use the 2022 protocol, the sooner I can cut server-side support for the 2016 protocol.
I'm well on time with the roadmap regardless of what protocol 0.10 will use.

I speculate that I'll cut server-side support for outdated protocols 3 to 6 years after introducing a Lix version with a (partly or largely) different protocol. Such ancient Lix clients can still host for each other.

-- Simon

Simon

Gist from my 2022-08 post in Handicap in Multiplayer:

0.10 will be the first version to use the new networking protocol. Reason: Handicapping needs this change, and I want to introduce handicapping to offer a good reason to upgrade to 0.10.

The server will support both 0.9 and 0.10 in different rooms. Practically done, but needs thorough field testing in November 2022.

In December 2022, I'll start to develop the experimental version with neutral lix. It's a short timeframe, but anything goes for an experimental version. We'll refine this in 2023. Before neutral lix can become stable, we need a level format change, or at least a format extension, anyway.

Networking interface ♥



-- Simon

Proxima

#7
If neutral lix are added, should the community pack be updated to include them somehow?

I know there are long-standing remaining issues in the community pack (especially backroutes) that need addressing, and unfortunately I don't know when I will have time to have a proper look at them. Right now I'm busy with a programming course, and when I have free time again, I have other Lemmings commitments as well. But I definitely want to make sure that all remaining issues get addressed at some point to help make the community pack as good as it can be.

Simon

Hmm, the community pack should remain the flagship pack, and its quality is already high enough so that we won't find 10-20 easy ditches to pepper the community pack with neutral lix.

Into existing good levels, I believe it's hard to retrofit neutrals and still keep the level's main idea. I'd rather turn a worthwhile result into a second, independent level. Thus, we can extend the pack with completely new levels, or instead add them as a standalone pack/rank.




Luckily, we don't have to rush either the decision nor any design work. Before I have a concept for singleplayer, we'll iterate on the multiplayer physics with the experimental versions. There are many questions in the design still, and it's not clear what will pull its weight in multiplayer:

Should there be different types of exits? One that takes normals, one that takes neutrals, one that takes both? Should players' lix still count normally when there are neutrals on the map? How should the neutrals spawn, do we have hatches for them, or can we add stragglers to the map directly? Should the level format extend, or even change entirely, to support stragglers?

I'm 50:50 on a format change around 2023/2024 to support all this. That wouldn't be a light decision, and it needs a thorough battle plan. By then, we'll likely have a clearer picture in mind for neutrals in singleplayer.

-- Simon

Simon

It's also possible to let the community pack develop naturally: If you find, e.g., 1-2 really good Lovely levels with neutrals, we can include those and keep the remainder of the pack neutral-less. It feels odd as designer, but it's okay. Then you aren't forced to ditch solid levels.

We already have this with runners and batters: Few levels have batters in the community pack. On the other hand, the batter is rarely central to singleplayer level ideas, it never felt like a loss to have fewer batter levels.

-- Simon

Simon

#10
I've finished handicapping in October 2022. I'll start in December 2022 towards rudimentary experimental physics with neutral lix.

2023 roadmap candidate:

  • Continue with neutral lix. Continue with hatch/exit binding to seats in the level format. Don't rush to stabilize these. Let's not change/extend the level format too often in stable Lix.
  • Fix some long-standing bugs from the bug tracker that need their time. I won't hard-code particular bugs here, but I have some candidates in mind.
  • Avoid spectacular new features besides the work on neutral lix. Small features are okay; small features are like bugfixing anyway.
The past years all saw a huge feature per year: 2019 had the replay tweaker, 2020 had undo-redo in the editor, 2021 had the end-of-singleplayer screen that proposes next levels, and 2022 had the many-version-accepting networking server and handicaps.

Let's fix bugs in 2023 and focus on the small things. Maybe 2024 will bring a big fancy feature again.

-- Simon