Menu

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.

Show posts Menu

Messages - Mindless

#1
Quote from: WillLem on January 15, 2025, 02:00:29 AMLook decent! What's the engine that the levels are played on (or does it differ depending on platform)?

It's just Golems compiled to WebAssembly.

When uploading a level pack, you can pick which (DOS-based) game variant the level pack should use (though almost all the level packs that were already uploaded have been set to the "Golems" variant, which is mostly compatible with CustLemm but slightly nicer in my opinion).

Integrating a player into the LLDb was actually the original purpose of Golems.  The only reason I released it as a Windows application was so that creators could test their level packs in the "Golems" variant since there's no other engine with that mode.  (Not that there seem to be any new level packs being created for Lemmings/Lemmix, but I do hope.)
#2
Levels for other engines / Re: Scattered Levelpacks
January 15, 2025, 01:37:15 AM
I uploaded a bunch of levels created by ssam1221 and Deceit.  Thanks to ssam1221 for providing me with the level files.
#3
I finally added a proper search function to the LLDb.  You can search for a level pack name, creator name, and/or level name.

There was also a major redesign of the LLDb last year.  It was mentioned in another topic, but I probably should have posted about it here.  You can now play levels on the LLDb, and (if you're signed in) it will keep track of which levels you've solved and your solutions.
#4
Quote from: WillLem on November 30, 2024, 06:33:46 PMAnyway, I've managed to get the image down to 36KB and it still won't upload.

I just uploaded a 36 KB avatar and had no problem.  There is probably something wrong with your file.
#5
Quote from: WillLem on November 30, 2024, 06:13:27 PMYou saved the compressed versions. The originals are likely to be bigger.

That's the whole point!  The originals are *likely* bigger, but nobody can see them.  Everybody only sees the resized versions, so that's all that matters.  There's nothing magic about the resizing that happens on the server or in the browser.  If you resize the image yourself, you at least get to control the resizing algorithm.


Quote from: WillLem on November 30, 2024, 06:13:27 PMAnyway, I went to upload my Xmas-themed avatar to get into the festive spirit, and have ended up having a days-long discussion about it instead. Great. :eyeroll:

That was your choice.  Another choice would have been to just resize the image to a reasonable size using one of the more-than-adequate resizing algorithms in Paint.NET, upload it, and be done with it.
#6
Quote from: WillLem on November 30, 2024, 05:40:01 PMOK, but I'd suggest applying that limit to all current avatars so that we can see how many people are affected by the change and have something to say about it.

Ex post facto rules are generally frowned upon, but FWIW, I saved all the avatars in this thread, and the largest was Simon's at 23 kB, so it really would not be so unreasonable.
#7
If there's a file size limit, I'd suggest lowering it to 20 kB to reduce wasted Internet traffic.  Nobody needs a 480 kB avatar, especially on a forum dedicated to a retro video game.  The entirety of VGA-only Lemmings for DOS is ~460 kB.
#8
Quote from: EricLang on November 09, 2024, 12:15:43 PMI am curious if you pre-allocate a large memoryspace before starting the game to fit in the history for each second.
The game snapshots are allocated on-demand.  I don't think there would be much benefit in pre-allocating memory for the snapshots, and it's easier to work with when it's just a List<GameState>.

Quote from: EricLang on November 09, 2024, 12:15:43 PMBy the way: are you aware of these new fixed-buffers in C# and this parameter-attribute [ConstExpected] (or [ContantExpected])?
I didn't use InlineArray or ConstantExpected at all in Golems.  I could probably use InlineArray in a few places, but it's not easy to use.  ConstantExpected has almost no value for application developers.

Quote from: EricLang on November 09, 2024, 12:15:43 PMQuestion: how do i activate FF and going back etc.? Is there some doc with keybindings?
The keyboard controls are in the first post (or when playing on the LLDB you can get them by clicking the "?" button).  I'm thinking of changing the keys around a bit for the next version -- I keep accidentally pressing Ctrl+W instead of Shift+W while playing on the LLDB, which closes the tab.
#9
Quote from: EricLang on November 08, 2024, 02:57:10 PMDid you measure it?
A fair question.  I didn't measure it until now.  I replayed every solution on the LLDB and measured the time:
  • debug: 107.8 real-clock-min/sec (92.4 game-clock-min/sec)
  • release: 142.4 real-clock-min/sec (122.0 game-clock-min/sec)
Looks like I'm leaving a bit of performance on the table.  Doing some CPU profiling, I see that half of the time is spent copying memory to emulate the effects of terrain changes happening after the terrain is already drawn.  (See attached screenshot of DOSBox where lemmings appear to be falling into the ground 1 frame after an explosion.)  I can probably improve the performance of that part with a bit of additional complexity so that I only copy the parts that matter.

Quote from: EricLang on November 08, 2024, 02:57:10 PMThe rewinding mechanism is interesting. The question is: is it worth it?
I think so, but I'm also biased by sunk cost ;).  Using snapshots changes stepping back one frame from O(n) to O(1).  It's not that much additional complexity or memory or processing.

Edit:
After getting rid of that lazy memory copying:
  • debug: 360.6 real-clock-min/sec (308.9 game-clock-min/sec)
  • release: 720.6 real-clock-min/sec (617.2 game-clock-min/sec)
A nice improvement!
#10
Quote from: EricLang on November 07, 2024, 02:18:14 PMIs there sourcecode somewhere?

I'm working on refactoring and tidying up the code.  It'll probably be some time next year that I publish it.
#11
Tech & Research / Re: Decompression question
November 03, 2024, 10:28:03 PM
The num_bits_in_first_byte field is 7 so you need to throw away the last bit of the first byte, which the leaves you with 1110000 01000000 or 111 00000100 ....
#12
Lemmings Main / Re: The Neverending Lemmix Story
November 03, 2024, 08:23:17 PM
Quote from: EricLang on November 01, 2024, 11:01:21 AMC# (no control over memory, too slow: discarded)
C# is definitely viable for game development.  The only heap allocation that Golems (programmed in C#) does in the main game loop is the creation of save states for rewinding; everything else is pre-allocated or is allocated on the stack.  And .NET is definitely not too slow -- it can outperform C in some cases.  There can be challenges, for sure, but don't write it off.
#13
Quote from: WillLem on October 31, 2024, 03:12:15 PMscrollers are a particularly good go-to that are somewhat reminiscent of the Lemmings UI.
Notably, the text in the marquee in Lemmings doesn't contain anything of critical importance.

Marquees have been widely recognized as providing a bad user experience on the web for a long time now.  Their only value at this point is providing some nostalgia for the mostly-static-punctuated-by-animated-GIFs web that was.
#14
Tech & Research / Re: Decompression question
October 31, 2024, 05:13:00 PM
111 00000100 ... is what I see for the first operation in decompressing the first segment of MAIN.DAT (of Lemmings and Oh No! More Lemmings).
#15
Quote from: Flopsy on October 27, 2024, 07:04:03 PMSimon was also giving the statues a clean also, especially the Lemming on the top!

Take good care of my Lemmings  ;)