Author Topic: Lemmix  (Read 1993 times)

0 Members and 1 Guest are viewing this topic.

Offline EricLang

  • Posts: 464
    • View Profile
Lemmix
« on: March 22, 2023, 08:17:38 PM »
Working (again) on a new Lemmix version. I quit Delphi and moved to C#.
The first results are promising, but it will take a while...
I will change the mechanics a bit (goal: "perfect" mechanics), abandon the old file formats (replace that with a home grown one), create an editor and support higher resolution.
Also I will add some settings in levels like falling with gravity acceleration. That kind of stuff.
See you later :)

Offline Simon

  • Administrator
  • Posts: 3860
    • View Profile
    • Lix
Re: Lemmix
« Reply #1 on: March 22, 2023, 09:46:20 PM »
Good luck!

When you consider the rewrite serious enough, we can make a board here for it.

I warmly recommend to keep the new formats human-readable: Text, common image formats, grouped resources are directories (or zip files in a pinch, but plain directories are nicer).

Consider widespread text-based serialization formats such as Json, SDLang, Toml, ... When they have good library support, you and others can parse them more easily and write new tooling. Some things, in particular nested structures, are annoying to retrofit into hand-rolled serialization formats that don't support it, and one starts to borrow ideas from the more widespread formats anyway. >_>;;

Maybe consider a good new name for your project? Lemmix, or Vanilla Lemmix, stands for DOS-bug-compatible physics.

-- Simon
« Last Edit: March 22, 2023, 09:56:30 PM by Simon »

Offline Mindless

  • Posts: 717
  • Inactive - may respond to PM.
    • View Profile
Re: Lemmix
« Reply #2 on: March 23, 2023, 04:22:04 AM »
Funny that you mention that you're rewriting Lemmix in C#.  I'm currently rewriting the Lemmings Level Database in C#.  (It's currently written in Python 2 and runs on Google App Engine, which is dropping Python 2 support.)  I've got level rendering working, but if you're abandoning the old file formats, I guess there wouldn't be much overlap.

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #3 on: March 23, 2023, 09:29:46 AM »
@Mindless: That is interesting. Is your source somewhere on github or so? Of course I could give you my renderer if that is ever needed :)

« Last Edit: March 23, 2023, 09:37:12 AM by EricLang »

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #4 on: March 23, 2023, 09:35:40 AM »
@Simon: Thanks I will keep us posted here once in a while.
It is always a difficult choice between readable stuff like folders, images, JSON etc.
For now I created a binary png-inspired format with all kinds of records (like graphics, levels, sounds music etc. etc.).
I chose this for now for speed reasons. Loading and saving and finding objects is ridiculously fast.
But I am still not sure... this works for now.
I don't like JSON in general except for small structures.

Offline Mindless

  • Posts: 717
  • Inactive - may respond to PM.
    • View Profile
Re: Lemmix
« Reply #5 on: March 25, 2023, 01:47:04 AM »
@Mindless: That is interesting. Is your source somewhere on github or so? Of course I could give you my renderer if that is ever needed :)

I put some code into a repository on GitHub.

Offline WillLem

  • Posts: 3348
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: Lemmix
« Reply #6 on: March 26, 2023, 12:47:23 AM »
I quit Delphi and moved to C#.

Interesting. Have you ported/translated your existing code or started from scratch?

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #7 on: March 26, 2023, 10:57:39 AM »
@Will: I started from scratch. The lemming mechanics code I translated from Delphi to C#. And then some finetuning / refactoring of course. When I have a working sample I will put it on github.

@Mindless: interesting. I will open the project and check out the details. Is it compilable?
I wrote my own home-grown png decoder. I like having no dependencies. It will be quite easy - if wished - to implement levelrendering for dos lemmings as well as Lemmix, when exposing a few C# methods to you or create a little sub-project.

Offline Mindless

  • Posts: 717
  • Inactive - may respond to PM.
    • View Profile
Re: Lemmix
« Reply #8 on: March 26, 2023, 06:33:38 PM »
Yeah, it should be.  If you put the Lemmings game files in the "GameFiles" directory, build the project, and run it from the command line, you should be able to get it to get it to produce an image from a level file.

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #9 on: March 27, 2023, 07:30:09 PM »
This Lemmix will have no emulated bugs, and real indestructable steel.
And I have some crazy ideas like speedruns and recording these.

Also I would like to import and handle tribes lemmings, but got a bit stuck on the gamedata, although there is quite some documentation about it. The filestructure is still not clear.

Offline 607

  • Posts: 468
    • View Profile
Re: Lemmix
« Reply #10 on: March 31, 2023, 11:34:13 AM »
Sounds interesting, enjoy the project! :D

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #11 on: April 02, 2023, 09:39:39 PM »
Yeah thanks it's interesting. I added some nice things already. A "high resolution" minimap which shows everything live. and "swipe" skill assignment.
Also the framerate is quite high for an old fashioned programmer like me. No hardware accelerated stuff but an FPS of 200 on a fullscreen big monitor (3840x 2160). Playing in windowed mode is also possible. On smaller screens / smaller windows an FPS between 400 and 1000. Playing only mechanics is fast as well. It can handle 3 playing hours in one second :)

The Tribes however will give me headaches :)

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #12 on: April 02, 2023, 10:28:29 PM »
I was wondering if I should convert steel area's. I think most of the steel is on these "steel" tiles. Sometimes not too precise. I could make the tiles themselves indestructable, which would be more "realistic" as far as you can speak of realism in Lemmings.

Offline WillLem

  • Posts: 3348
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: Lemmix
« Reply #13 on: April 03, 2023, 12:26:23 AM »
I could make the tiles themselves indestructable, which would be more "realistic" as far as you can speak of realism in Lemmings.

If you mean what I think you mean, this is how I'd like steel to behave as well, i.e. the block itself should be indestructable.

If trolls want to hide it behind terrain, let them. People just won't play any more of their levels.

Offline EricLang

  • Posts: 464
    • View Profile
Re: Lemmix
« Reply #14 on: April 03, 2023, 10:16:26 AM »
Yes I was experimenting with it, and it works a lot better. The bashers, miners and diggers detect if there was a steel pixel encountered during the removing of terrain. If one of the pixels is steel they stop. That works perfectly.
The only difficult part is the "drawmode" of the steel block (normal, eraser, not-on-terrain, only-on-terrain). I still have to find out what should happen in all these cases.



Tricky 4. Steel behind normal terrain. How to handle that one... In the original the steel is over the whole area (i think) regardless if the steel is visible.
« Last Edit: April 03, 2023, 04:28:48 PM by EricLang »