Author Topic: jLevelBuilder 1.76  (Read 37999 times)

0 Members and 1 Guest are viewing this topic.

Offline mobius

  • Posts: 2354
  • relax.
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #30 on: June 16, 2013, 08:30:50 pm »
You’ve added a lot of really helpful features  :thumbsup:

I just thought about two more important features you might include: (I can’t remember if I already mentioned this or if it's already included or not)

-Instead of having a “no-overwrite” option, be able to order any terrain or object back or front as many places as you want. Makes it much easier and quicker to create levels.

-Make it easier to “partially overwite” What I mean by this is the way, in Lemmix, you can make an eraser piece cover something but reveal something else but it’s sort of tedious to do; (took me and everybody else a while to figure out)
1. create your top layer
2. create the piece that will be the eraser
3. create the pieces that will be the bottom layer and make them no overwrite.
It must be done in this order or it doesn’t work. I have no ideas how to make this easier however. Perhaps making a “non-eraser” option that makes erasers have no effect on this terrain.
"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"Yeah, well, that's just, like, your opinion, man"
-the Dude


Offline LJLPM

  • Posts: 372
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #31 on: June 16, 2013, 11:41:57 pm »
Thanks for the feedback!

why do some of the snap lines appear on the mini-map? It's only a small problem, but maybe that's one you could fix.
Yes, I had a quick look at this issue, and didn't want to spend too much time on it because it's not a big problem. Actually, it happens because the mini-map is a mini view of what is on screen (grid lines included... :)). Since it's not too annoying, I'll check this issue later...

Also do you only have the dirt terrain set or are the other sets available too?
Yes, I test the level editor with 2 tilesets only: brick and dirt. It's easy to add more, but since the app is not ready yet to create full levels, I just use these 2 tilesets atm :)

You’ve added a lot of really helpful features  :thumbsup:
Actually, I've just added one more cool feature: additionally to the already-coded standard selection method (click on an item to select it), there is now a rectangular marquee selection tool (drag your mouse to select the items which are fully located inside the purple rectangle you're drawing / see screenshot below). Very nice feature to make quick selections!

Instead of having a “no-overwrite” option, be able to order any terrain or object back or front as many places as you want. Makes it much easier and quicker to create levels.
This is exactly what the "Swap (insert_position)" option is for. Entities with a low "Insert#" have been inserted early in the level, while entities with a high "Insert#" have been inserted lately in the level (and, hence, they could mask early entities). Using the "Swap (Insert#)" of two entities helps to arrange entities' visual priorities. 

Make it easier to “partially overwite”
I'm not sure to add this one: sorry...  :-[

The new selection tool:

Offline Simon

  • Administrator
  • Posts: 2710
    • View Profile
    • Lix
Re: coding a Lemmings clone + its level-editor
« Reply #32 on: June 17, 2013, 12:29:05 am »
Make it easier to “partially overwite”
I'm not sure to add this one: sorry...  :-[

I don't think this can be made much easier. The desired effect is to have terrain piece A, cut out a little with eraser piece B, then on top of this, draw C with the no-overwrite flag, so C only draws into the gap cut by B, but not over any leftovers of A.

Without no-overwrite, this cannot be done, the objects would have to be drawn in the order A < B < C < A. With no-overwrite or any proposed shortcut, you'd still have to assign three certain roles to A, B, and C. I don't see how to add a good shortcut over just manually assigning B the eraser flag, C the noow flag, and arrange as A < B < C. Interface is already starting to get cluttered. ;-)

-- Simon

Offline LJLPM

  • Posts: 372
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #33 on: June 18, 2013, 11:16:04 am »
Since it was a few-minute-only task, I've just coded the "No Overwrite" and "Only On Terrain" options (it was really quick to do, I should have done it earlier...)
So, if I got the idea, you'll find the "Partial Overwrite" feature in the screenshot below (following the 3-step process previously explained, the rock is A, the circle is B, and the steel is C). I don't think I can make it easier or quicker to use.

PS: in the last 2 cases, I switched the steel's state between "Only on Terrain" and "No Overwrite"

Offline LJLPM

  • Posts: 372
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #34 on: June 19, 2013, 09:45:21 pm »
Will it load Lemmini level files?

I took a look at the Lemmini level files, and it was no big deal to load them in the level-editor, so I've just added a "Open Lemmini level" option :)
This feature is not finished yet, but the first results are encouraging: I still have to handle the entrance and exit doors, the steel location, ...

Here are some screenshots (WIP):







Offline mobius

  • Posts: 2354
  • relax.
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #35 on: June 20, 2013, 01:38:03 am »
the partial overwrite looks great  :) It's not a big deal if that isn't made easier to implement, I didn't realize it's already easier than Lemmix with the easy changeable layering you already have.
this already looks like it's going to be a great program anyway  :D
"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"Yeah, well, that's just, like, your opinion, man"
-the Dude


Offline LJLPM

  • Posts: 372
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #36 on: June 22, 2013, 09:26:46 pm »
this already looks like it's going to be a great program anyway  :D
Thanks!

Until today, the level-editor dealt with "Terrain" items only.
Today, I've added the management of "Object" items (special items such as entrance and exit doors, wall arrows, decorative flags, etc...).
For example, in the screenshot below, I loaded a Lemmini level file, and as you can see, everything is in place :)

Unfortunately, I noticed that Lemmini seems to always draw "Object" items after "Terrain" items (hence the required use of the "NoOverwrite" option to mask exit doors behind terrains, for example). In my game and in the level-editor, I draw items according to their respective "Insert #" (first item being drawn has Insert# = 0, then we draw #1, #2, #3, ... whatever it is a "Terrain" or an "Object"). So in order to correctly load Lemmini files, I had to make a quick & dirty fix, but I'll have to think again about this issue and handle this in a better way...

Anyway, on the screenshot, you can also see that I've added 2 new sortable columns in the list, "NoOverwrite" and "OnlyOnTerrain" (it's handy for quickly finding specific items), plus a new "Rotate 90°" option for rotating items (for my Lemmings-like game).

Most of the features are here now :) Among the main things still to be added, there is the management of steel areas.


Offline geoo

  • Administrator
  • Posts: 1331
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #37 on: June 23, 2013, 01:32:21 am »
Looking really swell so far!

Can you add support for .lvl files too? The format is documented here: http://www.camanis.net/lemmings/files/docs/lemmings_lvl_file_format.txt
Or alternatively, give me the relevant code so I can see the class architecture and write the code myself for you (should be pretty straightforward).

As for the no-overwrite function and this weird terrain layering trick, something that'd be notably easier to handle would be if you take an entity (say a single or multiple terrain pieces) together with a bunch of erase pieces that erase part of it, and allow to turn this stuff into a new entity, so the new entity will be a bunch of terrain with something bitten out of. Basically it then acts like a new terrain piece. Then have the eraser terrain piece only act on the terrain pieces of the entity while not affecting other entities (terrain). It'd also allow to group terrain pieces together into one which sometimes might be desirable.
Of course, you'd have to adapt the level file format accordingly, and .lvl and .ini don't support this (but exporting would still work fine as long as you don't use these functions).

Offline mobius

  • Posts: 2354
  • relax.
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #38 on: June 23, 2013, 03:06:56 am »
LJLPM, I like your layering mechanic. I don't like the old way of objects automatically being underneath or over top of terrain.

As for the no-overwrite function and this weird terrain layering trick, something that'd be notably easier to handle would be if you take an entity (say a single or multiple terrain pieces) together with a bunch of erase pieces that erase part of it, and allow to turn this stuff into a new entity, so the new entity will be a bunch of terrain with something bitten out of. Basically it then acts like a new terrain piece. Then have the eraser terrain piece only act on the terrain pieces of the entity while not affecting other entities (terrain). It'd also allow to group terrain pieces together into one which sometimes might be desirable.
Of course, you'd have to adapt the level file format accordingly, and .lvl and .ini don't support this (but exporting would still work fine as long as you don't use these functions).

^^this^^    :o 8)
"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"Yeah, well, that's just, like, your opinion, man"
-the Dude


Offline LJLPM

  • Posts: 372
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #39 on: June 23, 2013, 03:53:26 pm »
Can you add support for .lvl files too?
I took a look at the .lvl file format, and now that the level-editor is looking good, I'll add support for these files.

you take an entity (say a single or multiple terrain pieces) together with a bunch of erase pieces that erase part of it, and allow to turn this stuff into a new entity, so the new entity will be a bunch of terrain with something bitten out of. Basically it then acts like a new terrain piece.
You meant this, right?  8)
-> new "Group" option added: see the list of level's entities: one group is made of the 15 first items (including "eraser/noOw/OoT" attributes), and, then, acts as a single normal item (the very first tree on the left is made of 15 items, whereas the 5 next trees are single items / inserted item #17 is selected)
-> and as you can see, the new "Rotation 90°" option is also shown in the screenshot

Offline Proxima

  • Posts: 3425
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #40 on: June 23, 2013, 05:33:02 pm »
Very interesting! So, how do downward (and for that matter upward) one-way walls behave in this game? Can entrances, exits, traps and water objects be rotated? If entrances can be rotated, how do they behave?

Offline Minim

  • Posts: 1442
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #41 on: June 23, 2013, 07:08:02 pm »
That's an interesting question! We know that lemmings can dig through left and right one-way arrows, and that they can't mine towards arrows facing the opposite direction. I think for the upward arrows only bashers can go through it, and miners can't. I believe that the downward arrows will make no difference at all since there is no upward digging skill (apart from bombers) in the set, unless we can give it a mechanism which only allows downward motion digging skills such as miners and diggers.
The user formerly known as minimac

Offline mobius

  • Posts: 2354
  • relax.
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #42 on: June 24, 2013, 04:58:24 pm »
Since we're used to being able to mine and dig into horizontal arrows, I say we should be able to dig and mine into downward arrows, but not bash. Otherwise it's pointless  ;P The downward arrows in Lemmings Revolution operate like this; apparently they're either broken or serve no useful purpose.
If gravity pads are introduced then an entrance, upside down or facing right or left could have lemmings starting off going in that direction. And an exit that is facing X direction can only accept lemmings going in X direction.
---------
Here is something which would be nice, if it doesn’t mess up other stuff which I fear it will;
It would be really nice to be able to bash into a miner’s tunnel (e.i. bash into the hill facing away from the direction the miner went). I find it annoying that you can’t do this in DOS or Lemmini (well you can in Lemmix technically but it’s really hard)
I think you could in Lix but then it also became harder for bashers to stop (because they continue bashing even if the terrain is very low.

another simple one I thought of a while ago that may be a preference matter; make the basher/miner/digger, maybe even bomber’s masks visible during gameplay. I was thinking of having a colored rectangle appear when you move the cursor over the lemming for that skill. This could also be an option you turn on and off.

Earlier you said you'll be making your own terrain, which is great but could you possibly keep the old terrain as well. I lot of us love the old terrain still and it would be necessary to load Lemmix and Lemmini files
"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"Yeah, well, that's just, like, your opinion, man"
-the Dude


Offline LJLPM

  • Posts: 372
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #43 on: June 24, 2013, 06:07:16 pm »
In the screenshot, the rotated arrows are just a visual example for showing the "Group" & "90° rotation" features. Atm, a "Group" entity acts as a standard "Terrain" item: therefore it's 100% diggable, and arrows shouldn't be grouped actually.
So, for my game, I think I'll make "Object" items non-rotable and non-groupable. But I'm interested in adding new skills and/or new special "Object" items! I'll see this later when I'm back on coding the game...

make the basher/miner/digger, maybe even bomber’s masks visible during gameplay. I was thinking of having a colored rectangle appear when you move the cursor over the lemming for that skill. This could also be an option you turn on and off.
In the early version of the game, I've already coded this for debug purposes when dealing with collisions. So, ok, I'll keep this feature.

Earlier you said you'll be making your own terrain, which is great but could you possibly keep the old terrain as well. I lot of us love the old terrain still and it would be necessary to load Lemmix and Lemmini files
My goal is not to re-code Lemmings: there are already the original Lemmings games (old+newer) + adaptations such as Lemmini. I have nothing new to bring in re-coding the Lemmings we already know. Plus, as you know, in the Lemmings games, there are a lot of glitches ; and trying to re-code them wouldn't be a fun/interesting part. So, when the editor is finished, I want to make a new Lemmings-like game, with new graphics ... but maybe it's too ambitious... we'll see... (actually, what started as a little "challenge" turned into a very time-consuming project).
About the things still to be added to the editor, there is the "Save Lemmini file" option, and I want to add support for .lvl files too (load & save). When everything is in place, I will release the app, so you will be able to create levels for Lemmings/Lemmini with the original terrains. :)

Offline mobius

  • Posts: 2354
  • relax.
    • View Profile
Re: coding a Lemmings clone + its level-editor
« Reply #44 on: June 24, 2013, 07:55:37 pm »
I'd be happy to help test the program and see if things work/ find bugs and what not.  :)

(for the most part I don't have strong opinions about the minor details like hotkeys, so make those as you'd like or how they best seem fit. I just was making suggestions).

only one more thing: If you're making sound/music whether using old or new, could you use a file format that is easy to work with like mp3, wav, MIDI etc. That would make it easy for users to create their own music and or sounds
[yes I know MIDI sounds different on different machines, and some of you think mp3 is bad again these are just minor things; it's better imo to have to deal with that then MOD files Lemmini uses, or some other obscure file format that's difficult to work with] Plus is a game so it doesn't need to sound pristine  ;P
"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"Yeah, well, that's just, like, your opinion, man"
-the Dude