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 ... 277
NeoLemmix Main / Re: Crane's ideas about porting NL to Unix-likes
« on: May 22, 2024, 04:20:59 AM »
Sounds great. I'll happily try the Lazarus build. Crane, let me know when you have something to test.

The GR32 port wouldn't be urgent for me. Everything here runs on x86_64.

-- Simon

Your showcase animations are always excellent. Thanks for taking the time to make them!

-- Simon

NeoLemmix Main / Re: NeoLemmix V12.13.0-RC Released
« on: May 21, 2024, 09:34:44 PM »
I can't run V12.13.0 RC both on my pc and laptop.
This is the error message I got:

Idea: There are at least two new images in the RC1:


Do these exist in your NL tree? Or did you take the executable from the download and nothing else?

Even if you installed the entire RC1: Maybe NL calls into outdated graphic libraries on your system. I don't know if it's possible with PNG to run into new compression formats, but, as a wild guess: Open the images in a graphic-editing program of your choice, then re-save them as PNG. Does that make NL happy?

(It would spoil the wild goose chase if the message told you which image it tried to load. On the other hand, it doesn't seem to be entirely NL's fault; grepping the source for variations of "Unknown image format" finds nothing. Looks like it comes from within one of NL's libraries.)

-- Simon

NeoLemmix Main / Crane's ideas about porting NL to Unix-likes
« on: May 21, 2024, 09:17:17 PM »
In Future of NeoLemmix development, Crane wrote:

One thing I would like to do one day is get NeoLemmix working on the Raspberry Pi.

It is a bit of an undertaking though because besides porting the source code over to the Free Pascal Compiler, [...]

That's interesting -- I've always thought that NL builds (1) only on Windows, (2) only for Windows, and (3) only with certain compilers/IDEs. You sound like none of these 3 restrictions need be set in stone, and removing the 3 restrictions is a medium-scope project for an experienced Pascal/Delphi developer.

Background: I spent one night on installing a Delphi toolchain in Wine on Linux and failed because the graphical IDE wouldn't run. I wouldn't mind trying again, and trying it with different versions of the Microsoft toolkits that the IDE needed.

But even better would be to build NL on Linux from the command line without installing any fat IDEs.

It's okay if it generates Windows binaries (i.e., we crossbuild from Linux to Windows) because the Windows binaries run well in Wine. Linux binaires would of course be nice, but they aren't essential yet. It's also okay if I can't change the GUI dialogs without installing an IDE or a graphical GUI editor.

-- Simon

Lix Main / Re: Lix chat history
« on: May 20, 2024, 07:49:53 AM »
In 0.10.23, chat lines will be colored according to player colors.

I haven't touched the line wrapping behavior for 0.10.23. Only the first display to receive chat wraps correctly. After you return from play to lobby, the lobby will obtain the chat lines (which the game's chat display has wrapped) and chop long lines, which is the bug.

-- Simon

General Discussion / geoo visits Simon, May 2024
« on: May 18, 2024, 04:45:00 PM »

geoo will pay me a short visit next week. He'll arrive on Thursday, May 23, and leave on Saturday, May 25. With only two days, there isn't much time, but I'm looking forward to:
  • Discussing Lix development. What is important? Which bugs are most nagging?
  • Discussing Lix physics. We have some long-open small physics oddities. Let's fix at least some for 0.12, whenever that will release.
  • Testing a top-secret work-in-progress feature. Well, it's only semi-secret because I'll give you a hint:
To get into the mood, here's our topic from the February 2023 visit.

-- Simon

I get this error when I try to run any of it, including drag-dropping the .DAT files onto lemzip.exe:

It's a DOS executable. The Linux file command tells me:
lemzip.exe: MS-DOS executable, MZ for MS-DOS

Thus, I've tried running Lemzip in Dosbox. When I run it in Dosbox without arguments, it says: [De]Compress Utility for Lemmings II The Tribes Resource Files. V0.90
Parameter Error. USAGE: LEMZIP c|d|h source_file dest_file

Running it with h, i.e., lemzip h, prints some help, and I conjecture that c stands for compression and d stands for decompression. Thus, to uncompress things, try running Lemzip with three arguments in Dosbox:

lemzip d nameOfCompressedFile desiredOutputFilename

-- Simon

Other Projects / Re: Golems — a DOS Lemmings game engine
« on: May 17, 2024, 05:27:51 AM »
FF buttons be hold-down instead of toggle, how I thought they always should've worked

Interesting observation. In Lix, I hold the 10-second framestepping, too, and it becomes fast-forward for me. Hard to say if it's worthwhile to turn toggle-on fast-forward into hold-to-fast-forward. I imagine that toggle-on is better for recording solution videos, but that's niche. Even in livestreaming, I prefer hold-to-framestep instead of the toggled fast-forward.

I haven't played Golems enough yet to decide if I want a super-fast hold-to-fast-forward in Golems.

snapshot basically only needs to store the accumulated changes to the terrain and effect maps along with the (uncompressed) creature states, gadget states, and various other small bits of game state.

There is wisdom here: Separation of all level state into an immutable and a mutable section. It's enough to store the immutable section once, at the beginning. We store the mutable section in regular intervals, possibly compressed.

We can push this further in all of our engines.

E.g, hatches and water don't need to be part of the mutable state at all. Their animation is only dependent on the number of physics updates since the beginning. We can keep them in the immutable section, and only prepare them just-in-time during the drawing step. It's common to have 10 to 50 water tiles in a level; Lix can omit many allocating deep copies here.

Traps must remain in the mutable section because they eat lemmings at unpredictable times, and both physics and graphics depend on such recent eating. Theoretically, traps can split into an immutable location and the mutable number of the physics update of recent eating, at cost of even more complication.


-- Simon

Thanks for the quick merge!

-- Simon

We refactored the three bools into one enum.

I tested the Exp 8 (from WillLem's previous post) and it all looks good. The default behavior is to exit if save requirement met. Options load and save correctly, and behave accordingly during play. Icho's Lemmings United mass-tests identically in this Exp 8 as it did in the Exp 6, i.e., everything looks good here, too.

Pull request is up for namida to review. WillLem and I are both happy to give high-level overviews of the source changes; namida: Ask here or in IRC or anywhere. The diff is moderately large: 9 files changed (7 source files and 2 new images), 211 insertions, 61 deletions, but overall it stayed surprisingly manageable.

Thanks, WillLem, for your patience and for ironing it all out!

-- Simon

Yes, Wednesday, 15th, not 16th, sorry. All right, 18:00 UTC it is, i.e., 19:00 English daylight savings.

See you tomorrow!

-- Simon

what an enum is

Like a Boolean, but with 3 values instead of 2 (true, false), and you get to name the 3 values yourself.

-- Simon

All right, leaving Mumble and going to bed.

another evening this week I'll make sure to get it in the calendar.

Wednesday, 16th, from 16:00 UTC is good. I'll have time until 21:00 UTC. Please choose a definite starting time beforehand, and I'll confirm it.

-- Simon

I'm sitting in Mumble. Join anytime.

BRB in 20 minutes (17:30 UTC). Back.

-- Simon

I tested the Exp 6-A. Everything looks good:
  • Default option out-of-box is exit if save requirement met.
  • All three choices of the option behave during play as they should.
  • Text file contains one line only, which loads back as it should.
  • Mass replay verification produces byte-for-byte-identical files like the Exp 6, at least for Lemmings United and PimoLems. Haven't re-tested the others yet with the Exp 6-A.
In the end, it's up to you how much of today's feedback (my 2 earlier posts today) you still want to implement.

I can't estimate, e.g., how hard it is in the NL source (mostly in the code for the options dialog) to turn the 3 bools into an enum. Maybe it's sensible to address only the worry ("One way to avoid that worry is to remove the if/else entirely and write:").

If you touch the source at all before making the PR, then I'd rename the text-file option from "ExitToPostviewOption" to "ExitToPostview". It's easy now to rename it (there are 4 occurrences in the code), it'll be harder after release when people have the old string in their files.

Remember to rebase/to add the recent commits to the ExitToPostview upstream branch when you make the PR. They're still sitting on top of the Graphics32 update, but that was fine for me today to review.

Happy to schedule the evening on Monday, 13th for a review session in Mumble. Anything from Monday, 16:00 UTC through Monday, 22:00 UTC I can make.

-- Simon

Pages: [1] 2 3 ... 277