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

Pages: [1] 2 3 ... 100
L2Player / Re: Lemmings 2 Data Formats
« on: December 15, 2021, 05:26:14 PM »
This looks pretty nifty already! Needed to mess with the OpenGL version a bit ("export MESA_GL_VERSION_OVERRIDE=4.1COMPAT" did the trick), and it's running very smoothly for me :D

The most obvious thing I already noticed during the video is that the builder bricks are only 4 px wide rather than 6 px; maybe fixing this would also fix the issue with the gap? Related to the builder, L2 has a funny behavior where the brick of left-facing builders is placed differently from right-facing builders: For example, at a cliff edge, in one direction you can place the first brick so it protrudes 5 px, but in the other direction only 4. The collision detection of builders with terrain feels a bit too strict as well, but I can't say for sure.

A couple of other things you might already be aware of:
- You can't assign skills to lemmings that are currently performing a task.
- A few visual things: the animation of the floater is a bit funky. Also, permanent skills (floater, climber) invert the color of the lemming (green <-> blue) in the original game.

The Return key currently not mapped to fast-forward is very noticeable to me because I use it excessively in the original game, haha.

It's great how everything is extracted from the original game, no assets you need to include with the code, and any kind of modification to the game assets itself (I guess currently that's limited to levels) are automatically supported :)

Site Discussion / Re: [SUG] Allow video embedding
« on: December 14, 2021, 11:45:28 PM »
I'm wary of supporting video embeds. One thing I really appreciate about LF is how slick and fast the site loads, which is a rarity these days. Most sites these days are bloated, laggy and resource-hungry, and to me it makes the browsing experience sluggish and frustrating. Wherever you click (e.g. to scroll) suddenly something new opens, because everything has to be interactive.
Let's keep it simple. It is really such a bad trade-off to occasionally click a link rather than playing an embedded video in exchange of having a site that renders and loads smoothly (especially if you changed your settings to displaying 50 posts per page)?

The session is starting in 4 hours! I will probably join the server ~30 minutes earlier already, if anyone wants to get started already.

Generally, the game is a lot more fun with voice chat! We'll be using Mumble for that, you can install it here:
I'll send the details of how to connect to our server to everyone who has responded in this thread. If you haven't responded and want to know the details for voice chat, PM me. :)

L2Player / Re: Lemmings 2 Data Formats
« on: December 07, 2021, 02:10:36 PM »
Attached is a save game of mine; the first one (Test) has all levels unlocked with 60 lemmings.
Also attaching the savegame format description, in case it's useful.

btw, one other advantage of putting the source on e.g. github at some point is that you could get a PR for an L2 skill or two while you're still working on those :)

Ok, let's fix it for Saturday, Dec 11th, 22 UTC, which seems to work for everyone! :8:()[:

I was thinking of starting at 18:00 UTC. But we could start maybe around 22 UTC to accommodate for Simon's sleep schedule, if he's willing to wake up a bit earlier (0 UTC is too late for me).

L2Player / Re: Lemmings 2 Data Formats
« on: December 03, 2021, 09:25:42 PM »
Wow, you're making fast progress!

If you have questions about any specific glitches or behavior, feel free to ask!

As for Linux support, it would work as its .Net Core 3.1 which works on most distros. I think the only snagging point would be the audio library. (I'd be happy to find a suitable cross-platform alternative, just need to dust off my Ubuntu VM)
Nice, happy to hear that! ;)

Apologies, but the link you referenced is discussing L2 style limitations. Is this the right link?
Yes, in the topic kaimitai mentioned they were working on an editor/modding tool. I don't know if this still progressing or on ice, but I just thought it might make sense to make sure not to duplicate efforts or write incompatible tools.

Lix Main / Re: Slow additions or experimental fork
« on: December 03, 2021, 09:20:44 PM »
Only extend the level format, don't replace it entirely.
I'm not sure I understand the point of this. If you add new level features, newer levels will not work as intended in older versions of the game, regardless of whether you replace the format or not. Similarly, if you keep the code for reading the old format, you will still have backward compatibility. Presumably this doesn't add much maintenance overhead as you will likely be making mostly additions, not changes, to the internal Level interface in the future. (Or does the server partially parse the level format as well?) It seems to me that many proposed additions, e.g. hatch-specific metadata, would be pretty awkward with the existing format.

Introduce physics changes only when well-tested in singleplayer, and move all culture to the new stable.
This might not be feasible if you have features affecting multiplayer, e.g. explicit assignments of hatches to players, or neutrals. If you want to incrementally build and test new features together with the community on the central server and expect to iterate over/tweak the details, you'd either have to bump up the minor version all the time (and have a server that allows different versions to connect), or have the experimental fork with its own server (and merge an experimental feature into main whenever you're satisfied with it). Even with an experimental server, it seems more sensible to work on one feature at a time, and with the expectation that after playtesting said feature will be merged into main as soon as you're satisfied with it, or scrapped. (And thus allowing multiple versions to connect to the same server seems like a sensible addition regardless of the Debian situation, which in practice probably affects ~0 users.)

An experimental fork that has a whole bunch of features some of which we want to keep and some of which to scrap sounds like a mess, and stable and experimental being out of sync for ages sounds like a bad idea.

L2Player / Re: Lemmings 2 Data Formats
« on: December 03, 2021, 08:29:24 PM »
Exciting to hear about this! I'm afraid I don't have any more information about the .ANM file format.
Is this needed for anything beyond the intros? If I recall, Lemmix started out as an editor with a playtest function, which I think is really what the community needed back then considering the focus has always been custom content creation, and the LemmixPlayers only came after (I might be wrong about this though).

It's a fair point. My intention from the start is to recreate the physics exactly (As far as possible). As to if I achieve that, is another matter entirely, given the number of skills to replicate. Currently using frame-by-frame analysis to determine physics.
I believe Lemmix was able to replicate the L1 physics exactly by using a disassembly and translating parts of it into Pascal, basically. I guess EricLang and ccexplore would be the people to know more about this. I don't know if anyone looked into disassembling L2, if anyone, I guess ccexplore would be the person to ask, though he hasn't been active in a while.

The main value of this is that people could use your L2 replica to do valid L2 challenges (e.g. save max amount of Lemmings, or use the minimum amount of skills to solve a level) with the benefit of the QoL features, as has happened with Lemmix in the past. At the same time, L2 has a whole bunch of weirdness that you might not want to replicate (and without a disasm probably wouldn't be able to replicate): For example, pausing can get lemmings stuck in cannons; you can pause in 1-frame intervals to bypass trigger areas of traps (e.g. to save 100% in Sports 1); the rules determining which lemming under the cursor is assigned a skill are dumb, etc...

So unless you want to replicate all of this, it might make sense to make some deliberate choices to get rid of some glitches along the way (e.g. use divers or hoppers to glitch into a wall).

As for QoL features: Replays are definitely a big thing for any community creating custom content. Multiple fast forwards sound useful too. Some more challenging features (that were definitely well appreciated when added to other engines) are savestates and going back 1 frame/second/some other interval. (Taking them into account already early during the design process might make them easier to implement in the future.)
Loading up individual levels via commandline parameters (and batch verifying validity of replays, if replays are implemented) should also prove useful for level designers. Might also be worthwhile checking in with kaimitai who was working on a new level editor/modding tool:

The player and tools will be windows initially and run on .NET Core. Aside from a thin wrapper around OpenGL to push the frame buffer, it's all managed. All rendering is done in a custom and fast blitter.
Any chance this might reasonably run on Linux, e.g. using mono? Even within this forum, it feels like L2 is somewhat niche, and at least two people who appreciate L2 are using Linux :)

Either way, excited to hear about how this is progressing! Not sure I can be of much help, as I think you've already found all the documentation that is out there, but maybe I have some other stuff lying around or some obscure knowledge that occasionally could be useful...

It's been forever since the last session, and December is the one month I have nothing going on this year...
Would be nice to another one, even if it's small.

Assuming we go for evening European time (~6 pm UTC), which day(s) do people prefer?

I went through Medieval, Classic and Egypt.

Videos are here:

I was positively surprised by Classic (I generally don't care for L2 classic), and Egypt is my favourite tribe so far.

Lemmings Main / Re: Most annoying Lemmings level to you (any game)?
« on: November 29, 2021, 11:01:44 PM »
ccexplore solved this level first try, even:
Ok, that was much easier than it looks.  Not only did I solve it, but I solved it on my first try without any restarts.  I might even consider re-attempting it with the climbers replaced with rock climbers and see what happens (though that might perhaps be a bit of a stretch).
Source thread:

Then he went ahead to do it again to record his solution. I uploaded ccexplore's solution to Immediately Give Up:

Admittedly, at least the level doesn't have narrow chutes to go down in.

To get back on topic, I hate levels that make you redo a lot of stuff over and over again if you mess something up.
Without savestates, this applies to pretty much all long builder fests, like a good portion of L1. With savestates etc, this is much more limited, but you might still have levels where you need to get an early skill placement/timing right, but you'll only know whether it's right much later after having done a bunch of other stuff. But more generally, I also find long levels with a lot of obvious skill placements boring.

Hidden traps are an obvious annoyance, but what is worse is invisible/hidden terrain that is required in a solution, because that you do not necessarily encounter sooner or later. Case in point is Lacktardo's "Derangement of Science", a level with a simple skillset that I initially was in awe of as I spend hours on it without finding the solution, even though it seemed so simple. Turns out that it had terrain hidden behind the hatch that you needed to use. So all these hours I spent I basically wasted. It'd be a decent level if it was honest, but due to that I guess this is the one level I despise. (This was before clear physics mode and the like.)

Lemmings Main / Re: Info regard old custom levels
« on: November 02, 2021, 08:57:39 PM »
I only have (what I think is my own) recordings of Eymerich's levels. I'm not sure whether these solutions are intended.

For Yawg I only have Yawg06 which I think you have as well.

In L2, the levels are arranged as a grid of 16x8 tiles. The style files come with these tiles arranged into groups of more user-friendly pieces, and I assume that's what NeoLemmix is using?
While most of the time the L2 tiles are arranged to resemble these groups, I assume this is not always the case, so you'd have to work around this somehow.
Does NeoLemmix have tile groups like Lix by now? If yes, then you could just cut up these larger pieces into their 16x8 components using eraser terrain and then lay those out exactly as in the L2 maps. If not, things might get a bit tricky.

Tech & Research / Re: Lemmings 2 style and\or level file limitations
« on: September 24, 2021, 02:59:24 PM »
While I've messed around with the formats a lot to reverse engineer them back in the day (btw let me know if you want any of that code or notes, if they are not floating around somewhere, though you seem to be on top of everything in this regard), I'm not sure of what the limits are for various things.
It might be worthwhile to figure out how to take a RAM dump of the game in progress to understand a bit better what's going on there. For example, I remember blockers use some space in RAM that overlaps with parts of the level RAM if the level is too large (or has vertical scrolling, not sure anymore), so levels break in similar ways like you outlined if they have blockers.
One thing I noticed about your style file is that it's just a little above 128 KB, while all the officially ones are smaller. Bit of a stab in the dark, but if it's directly loaded into RAM, maybe some of it gets overwritten or overwrites something else?

One a different note, I'm not sure how far you are with the editor tools already, but there is this generic map editor called Tiled which has plugin capabilities (in javascript). I wrote a plugin for Kid Chameleon at some point, and so at some point I was contemplating adding L2 map editing functionality to it, which would probably just take a day or two. Then you get a really good user interface for free, and it also supports "tile stamps", which is exactly what L2 has encoded in its style files (and you can easily add additional custom ones), i.e. groups of tiles that you can just paste onto the map. Adding custom style support would probably be just a bit of extra work: if you have the tile/object images being processed by a tool into L2 format, you could probably produce some output that's convenient to process in Tiled. Let me know if you're interested and want to discuss more details.

Pages: [1] 2 3 ... 100