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 4 ... 276
16
Site Discussion / Re: Lemmings Forum Discord
« on: April 01, 2024, 09:46:34 PM »
Hmm, right, you should avoid naming the problematic Lemmings-unrelated names.

Giga: May I add formatting (e.g., invisible extra super-small text) to your first post? That keeps the Lemmings-unrelated names easy to read for humans, but makes it harder to index for search engines.

This sounds moderately urgent. If you don't tell me yes/no within 24 hours, I'll add such formatting.

It's a worthwhile shot, although it's not guaranteed to help. Those off-topic joiners can come from elsewhere: People share links to Discord groups, and IIRC Discord has a global group search.

-- Simon

17
Good catch, thanks. Link is fixed. I had put 3 'a' in a row by mistake.

WillLem: Written summary of the feature testing will follow here tonight. Then you need not watch it all.

-- Simon

18
I playtested version 5 on stream on Monday, April 1st. This was short notice and I didn't expect anybody to see this in time. Sorry, was busy all week!

Stream is over, a short stream of 1.5 hours.

Recording will remain for 14 days at:
https://www.twitch.tv/simonnaar

-- Simon

19
Lemmings Main / Re: DOS Game Club on Lemmings 1
« on: March 24, 2024, 04:09:16 PM »
Recording done. Editing usually takes a few weeks for them. I'll link it here when it's published.

Mostly Lemmings 1 with its history and oddities. Some tenets of custom level design. Short glimpse into L2, L3, other licensed games.

-- Simon

20
write the current desktop resolution next to the input fields to minimize user errror.
get_desktop_resolution

Yes, this sounds like a great idea: Print the monitor's native resolution as a hint, but allow the user ignore it. The game doesn't try to be smarter than the user then.

get_desktop_resolution is the A4 way; the A5 way appears to be al_get_monitor_info. I'll have to research what to do with multiple monitors.

-- Simon

21
SuperLemmix / Re: [SUG] Object culls
« on: March 23, 2024, 06:25:29 AM »
Splitters are particularly problematic code-side

What issues do you see code-wise?

At best, I see how splitters can be boring when you send too few lems through: 50 % of the time, a splitter does nothing but prepare itself for the next time. namida grabbed it from L3D, where it rotates by ±τ/4 all of the time instead of 50 % of the time, in hope that it works well enough in 2D. Reminds me of how I hopefully took the walker from L3, where it either turns or cancels, but oddly never both.

-- Simon

22
Lemmings Main / Re: DOS Game Club on Lemmings 1: Want to join?
« on: March 22, 2024, 03:25:48 PM »
12:00 UTC on Sunday, March, 24th we will start the call and the recording. Ideally,

-- Simon

23
Lemmings Main / Re: DOS Game Club on Lemmings 1: Want to join?
« on: March 21, 2024, 10:03:37 PM »
WillLem, yep, happy to have you join. Haven't yet heard back from you yet. How is it?

Would somebody else be up to join if WillLem can't make it? It's well possible that you're deeper into custom levels than I've been, that you've been around Lemmings Forums longer, ...

In a pinch, it's fine if I'm the only one from the forums here to join.

-- Simon

24
I found no bugs in your attached executable. Nice! Haven't tested for the config-loading bug yet. Happy to playtest more.

Issues with my snippet: Ah, right, I forgot that we already talked about how NL's nuke doesn't set LemmingsToSpawn to 0; NL's nuke merely prevents the unspawned lemmings from spawning. We must account for this.

Replace: and (LemmingsToSpawn = 0)
with this: and ((LemmingsToSpawn = 0) or UserSetNuking)

It looks strange to test the nuke in two different lines of this expression, but it expresses reasonably succinct: No more lems to spawn and no more zombies about to get nuked.

-- Simon

25
Lemmings Main / Re: DOS Game Club on Lemmings 1: Want to join?
« on: March 19, 2024, 10:09:33 PM »
Right, we fix bugs in the physics nowadays. Indeed, the cultural difference is surprising in hindsight. Thanks!

MazuLems, I haven't played it properly. >_>;; I'll try to remember it for the podcast, but I'm not sure if I'm the most qualified to bring that one up. Which brings me to:

Who would like to join?

Since yesterday night, we have an open seat. Patrick, the player from their community who built a CustLemm pack, has dropped out of the planning. Nobody else but the two main organizers and I are on it, and they would be happy to have a 4th person on the podcast. The recording will be this Sunday, March 24th, some time during the European afternoon. Podcast participant guide, they use a Jitsi conference call that runs in the browser, and you're supposed to record yourself locally and submit the ~2-hour recording to them afterwards.

Hop on IRC: #dosgameclob on AfterNET.

-- Simon

26
Code: [Select]
function TLemmingGame.StateIsUnplayable: Boolean;
begin
  Result := (LemmingsOut = 0)
            and (LemmingsToSpawn = 0)
            and (DelayEndFrames = 0)
            and (fParticleFinishTimer = 0)
            and not (UserSetNuking and CheckIfZombiesRemain);
end;

Code: [Select]
procedure TLemmingGame.MaybeExitToPostview;
begin
  if fGameFinished then
    Exit;
  if ShouldWeExitBecauseOfOptions then
    Finish(GM_FIN_LEMMINGS);
end;

According to my understanding, this is now all that we need. I've moved your zombie logic into StateIsUnplayable, which is where I really believe it belongs. Let's chat about it tomorrow evening. E.g., it's still not clear if LemmingsOut = 0 is good, or if you need that lengthy addition.

ShouldWeExitBecauseOfOptions isn't touched; it's the same as in your latest commit 6091bd7887.

-- Simon

27
Quote
So - for whatever reason, UserSetNuking seems to be needed wherever it currently appears in the latest commit.

I agree! From digging the source: UserSetNuking is indeed part of the physics, not the UI. It's good that it's part of the physics, then it makes it the prime candidate to check in StateIsUnplayable, ShouldWeExitBecauseOfOptions, ..., which all care only about a reached physics state (and maybe options), never about UI.

UserSetNuking tells you if a nuke has been applied from the replay to the physics state, either now or during any earlier physics update. This is exactly what you want to know: Is the nuke active. (And it's not: Has the user double-clicked the nuke button on this main loop iteration.)

There is also ExploderAssignInProgress, which becomes true when UserSetNuking becomes true, but eventually becomes false when physics have run out of lemmings that can receive countdowns. Thus, this ExploderAssignInProgress isn't useful for us.

Let's still have a session tomorrow as planned.

-- Simon

28
Yes, Cascade 100 % is more notable than, e.g., The Great Lemming Caper. Cascade 100 % is such a drastic difference of intended solution (already not trivial) and what the community can find.

This will indeed tie in nicely with the community research on DOS L1 min-skill solutions, physics bugs, ... It's been a while that we investigated DOS L1 full-time, but in the early 2000s, we dug into L1 thoroguhly with excellent and surprising results.

Right, DOS is one of the first ports, and the development was on Amiga. DOS cuts many water objects. And DOS gives 12 builders on Triple Trouble, where Amiga gave only 10. With 10, Triple Trouble is far harder to execute.

-- Simon

29
What happens to this option when we start NL with empty options file/new installation/...?
Same thing as with every other option: a default is set (in this case, Always Exit To Postview).

Consider to change the default to: Exit only if won, freeze if lost. namida agreed that this can be a sensible default.

That will then happen to match what I saw in the settings menu after supplying the exp 3 config. If we want to debug this properly: My hunch is that you hardcoded the defaults in two different places (e.g., once in the options menu, and once in code that loads config files) and the two defaults don't agree.

Quote
@Simon - Let me know if you'd like another session on this.

I'll be available tomorrow (Tuesday) evening from 18:00 UTC through 23:00 UTC. I'll also be available Wednesday from 18:00 UTC through 23:00 UTC. I'll sit in Mumble at those times.

Alternatively, at these same times, I can stream playtesting. If you're really fast with the bugfixes, a stream may be more useful than code review in Mumble. But I'll plan for looking at code via Mumble.

-- Simon

30
Avoiding unnecessarily sharp time limits ties well into the general high-level advice: Don't make the level restrictive unless you need it to enforce a core idea. I'll see if it finds its place in the podcast.

After all, the custom level culture and game/software design is my personal background, and it's fine if personal backgrounds make it in. It's not supposed to be a purely objective review. But yes, mainly it will be about DOS L1.

-- Simon

Pages: 1 [2] 3 4 ... 276