General Loap progress discussion topic

Started by namida, January 08, 2022, 11:18:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

Note: This topic originally began as the Loap announcement topic on the "Other Projects" board, before Loap got its own board.

Early days yet. No promises this will eventuate - many of my projects do not, as you all would know by now.

But I figured - I'm wanting to learn some 3D graphics / coding anyway, and need to do something as a practice / learning project. The ideas that came to mind were either this, or a 3D remake of my RPG. The latter would require far more modelling / etc work than I feel confident taking on at this stage, so the L3D clone was the way to go. It started as "display some blocks, make lemmings walk around", but the more I did on it, the more I felt that I wanted to make it playable, too.

So, yeah! I figured this is far enough along now to at least make a topic. It's still in early stages yet; currently, it can display blocks, which lemmings can walk around on. Said lemmings can exhibit exactly three behaviors at this time - walker, faller, and splatter. They respond correctly to the level layout (eg. things they can ascend / can't, or deflector blocks) - there is one intentional difference from L3D's behavior here, not just a pre-set path or similar.

Hopefully, at some point, this will become a fully playable L3D clone, easy to use on modern PCs (and unlike NeoLemmix, it's being made using a cross-platform framework so Linux and Mac builds are a very realistic possibility), with better camera controls. I should stress that this is not going to be a Lemmix-style clone, in other words, it will NOT replicate L3D's physics exactly; it'll be more like somewhere between Lemmini-style and NeoLemmix-style, a bit closer to the Lemmini side.

(And if you were wondering about the name? It comes from "Lemmings on a Plane". You know, because a plane is a 3D surface, but also a subtle reference to "Snakes on a Plane"... also the only other names I could think of either weren't that great or were too close to "Lemmix".)

Here's a few videos showing what I've achieved so far. Be warned that I decided to have a bit of fun with the textures and video names/descriptions in a few cases. These links are in order from oldest to newest, and there are no new ones that I haven't shown off on Discord for those who were following there. More videos are posted throughout the topic.

https://youtu.be/t_QOBhVdqzM
https://youtu.be/FX8bKtbAuaI
https://youtu.be/4wlU9nYyl3k
https://youtu.be/DhTJhBc2cV4
https://youtu.be/MaNz7OD_0n8
https://youtu.be/kBX-FvxV6xg
https://youtu.be/misH9oaJjxU

---

There is no release build available (even of an experimental / demo nature) yet, however the source code is available here: https://bitbucket.org/namida42/loap/
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

And another video, this one showing an L3D level (semi) successfully being imported.

https://youtu.be/a45_qEf29F8
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Simon

#2
Looks promising, with a considerable part of the work already in place: You can import the terrain from L3D and have similar lemmings physics on it.

Good luck with the many details that will now follow!

Loap is a nice name, wise and short because one will type this often, and no danger of audible confusion (Lemmings, Lemmins, Lemmix, ...).

Quote from: namida on January 08, 2022, 11:18:41 PM
lemmings
walker, faller, and splatter
one intentional difference from L3D's behavior

What is the difference? I'd guess that you want to make falling (after walking off a cliff) straight vertical, with no lateral velocity, and have them land at the exact same lateral coordinates regardless of how far they fell.

Max ascension for walkers is 1/4 of a square block, I imagine you want to keep that. (Do we have a name for that 1/4 of a square block? One slab? Or would that term already denote a builder slab...)

-- Simon

namida

QuoteWhat is the difference? I'd guess that you want to make falling (after walking off a cliff) straight vertical, with no lateral velocity, and have them land at the exact same lateral coordinates regardless of how far they fell.

There is a pyramid block shape with a 1x or 1y : 2z slope (Z is up). Despite that a slab (essentially a 1:16 slope) is walker-friendly, this pyramid shape is not. I have decided to allow walking on this shape, provided all other usual conditions of being able to move are met (ie: not stepping up more than one slab to get onto it).

As far as Loap is concerned, one "slab" is in fact just a block. Editor would need to abstract this away, but under-the-hood, a block is simply 4 times as wide/deep as it is tall. The various L3D block shapes (as well as three additional ones I have added - two that feel like they were missing in L3D but were prohibited by technical limitations of its engine, one of these being the vertically-inverted version of the other; and a narrower regular block intended for use in many of the cases where the aforementioned pyramid's non-walker-friendliness was important to physics).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

WillLem


namida

One thing I want to make clear - except for those in my pack (because it's my pack :P ), I will not be adding support for importing custom L3D resources. I will add support for importing custom L3D levels, but anything else custom - including levels that *use* custom assets - would need to be done manually.

In other words - if you're making custom content in anticipation of this (and I don't advise that in general), make sure it's only levels, using only the official resources (texture files, etc). To avoid any doubt, Winterland resources are fine; and custom metablocks are fine as long as they only use official textures.

Also, it will not be possible to export Loap levels back to L3D - conversion will, much like with NeoLemmix, be a one-way thing.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Ryemanni

Aah, this is looking great. Lemmings 3D is my all time favourite lemmings game so seeing this project (even tho it's still in it's early phases) is such a joy. Best of luck with it, and I will be sure to support it all the way. :thumbsup:

Back in the day I also dreamt of making a Lemmings 3d "remake" or something similar, but that never happened due to life and other game projects. I still do wanna tackle that idea at some point tho, but it wouldn't be a Lemmings game anymore but something original instead.

You mentioned you're using a cross-platform framework for this. Which one is it, if you don't mind me asking?

namida

Quote from: Ryemanni on January 10, 2022, 07:53:04 PM
You mentioned you're using a cross-platform framework for this. Which one is it, if you don't mind me asking?

MonoGame.

Screenshots unrelated but show some progress. :)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

NieSch

Wow, this is awesome. Good luck with it. :thumbsup:
My NeoLemmix packs: All You Need Is Lemmings - Long Live Lemmings! - Yippee! More Lemmings
SuperLemmix: Tomb Rodents featuring Lemmina Croft

namida

Hidden face culling. :D

https://youtu.be/R1OMgICzBC8

It was pointed out to me that it would probably be more efficient with modern GPUs, to not cull the hidden faces. However - aside from that doing this eliminates some rendering artifacts, too - this claim relies on the assumption that overlap data is calculated every frame. In fact, even the overall block mesh is not calculated every frame - both the overlap data and block mesh are calculated only once at the start of the level (in the future, this will extend to "recalculated every time a destructive skill changes the terrain", but this is still far from "every frame").
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Sky graphics are working!

First, the normal type - where a sky meets the sea. Does this one look the best when pitching vertically? No. Does it at least work and not have an abrupt cutoff into empty space? Hell yeah it does. :D
https://youtu.be/iaKiTw9fSK8

And then the full-height type, found in levels that are "in space". This one was much easier to do. :P
https://youtu.be/ZFe-oTgwHt8
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Ron_Stard

Amazing! I've never played L3D because of the chaos of the camera views, the controls, and also because of the blocky graphics. But this clone seems to be very smooth and enjoyable! :thumbsup::tal-gold:

namida

I added another skill. :D

https://youtu.be/s0P2D3SnKn8

(No way to actually assign them yet; it's just debug code that automatically makes every 2nd lemming a floater and every 3rd lemming a climber. I have some ideas for how to address the graphical glitches.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)