Page 1 of 1

Vertex limit way under 60008 for me...?

Posted: Tue Dec 30, 2014 5:53 pm
by mike8887123
I keep having this happen. It happened to another level today! And I'm PO'd now! I described this problem on this following thread/link here:

viewtopic.php?f=22&t=21402

Synopsis: after so many segments have been added (and it varies per level), when I go to add another one, the vertices fling all over the place and attach to vertices waaaay far away in the level somewhere. The segments that automatically attach are all distorted and warped.

So I figured I'd try separating the vertices (separate points) and moving them back to where they're supposed to be (big confusing mess, but possible), and when I tried the separate points option, it said "cannot separate points because the max allowable points has been reached" (or something similar). How did I hit the max points if there is a 60008 vertex limit? I'm only around 3000 points and about 1038 segments. I'll post exact specs next (I have to go back and look again), but these are pretty close.

This is a problem if I cannot finish levels I've worked hard on. Its also a problem because when I start any other level in the future, I have to worry about this happening right from the start. I have to say to myself, "Don't get too excited about this level because it might screw up." I also say to myself, "Don't work too hard on any specific room because it might cause problems later." It makes me hesitant to make rooms as detailed as I want them even in the early stages of a level because I know that I have to compromise to obey limits (which I'm not even supposed to obey). So something is wrong here.

I'm about to try a different editor. Are there other Descent 2 editors besides DLE and DMB? I'll need them to be able to open all my already-made levels that were made in DLE. Isn't there one called Devil? I don't need DLX capabilities... just ordinary D2. What would you suggest? Another thing: on the linked-to thead above, Sirius mentioned opening tickets on SourceForge. Maybe I'll have to find out about this.

Let me now go and look harder at the specs of this level and I'll post exact numbers in a few minutes. But it seems like a point-limit (vertex limit) that I'm not supposed to have.

Thanks

Re: Vertex limit way under 60008 for me...?

Posted: Tue Dec 30, 2014 6:27 pm
by mike8887123
I looked again: the error message reads "cannot unjoin points because the max number of points is reached." After viewing this problem occurring in 3 different levels, this limit seems to be around 3608 vertices. One happens at 3606, another at 3607, and the 3rd at 3608 (before spawning the problematic segment).

So what is happening is clear now: since spawning a segment adds 4 new vertices, if the current count is within 4 away, it takes however many of those 4 would be over and automatically joins them to already-existing vertices thus keeping the count less than or equal to 3608.

So my problem is that DLE isn't allowing me to exceed 3608 vertices without joining them to others (which seems to be in a randomly selected manner).

Can you other guys check your levels and see if anybody has over 3608? Maybe the limit really is 3608 for us all and nobody noticed yet? I doubt that, but can someone please reassure me?

Another question: if DLE says 60008 vertices allowed, then why is DLE telling me I've exceeded the limit at 3608? The error message that comes up is done so with code written in DLE obviously-- right? I mean, its not Windows telling me that DLE can only do 3608 vertices. This is an error message programmed into DLE.

By the way, this error occurs in both 1.11.69 and 1.11.81. Those are the only 2 versions I use.

Anyway, at least now we know why my DLE is doing this...

Thanks guys

Re: Vertex limit way under 60008 for me...?

Posted: Wed Dec 31, 2014 12:48 am
by Sirius
3608 = (900 x 4) + 8... that would be the number you'd have with the least efficient possible D2 level with contiguous level area and the maximum number of segments, so basically it's probably what the limit "used" to be. But it is supposed to be a "soft" limit - you can exceed it (and, more meaningfully, 900 cubes), but it may not load in regular D2. It looks like you've found a case in which that limit is being enforced more strongly than it's supposed to be; that is probably a bug in DLE.

You aren't likely to find many other people who routinely encounter this issue, though, because not many people make D2 levels with more than 900 cubes. It wasn't even supported until a few years ago when the major source ports started increasing the segment limit, and it still won't work in D2 under DOSBox. Many people consider that an acceptable tradeoff, which is why DLE allows this (or is supposed to - again, bug).

The most frequently used alternative editor is DEVIL, yes - I think the most compatible (with modern PCs) version of that is SDLDevil (http://sdldevil.sourceforge.net/). It does take a while to learn, though, and I'm not sure how actively maintained it is at present.

Re: Vertex limit way under 60008 for me...?

Posted: Thu Jan 01, 2015 8:23 pm
by mike8887123
***edit*** throughout this post, I said "DLX" when I really meant "D2X" as in D2X-XL... sorry for the mix-up!

Thanks Sirius,

So how do you, or others, make levels with more than 3608 vertices that can be played in rebirth as a 'regular' D2 level? I've never counted, but The Enemy Within has some pretty big levels. I've seen on youtube that Enemy Within is played in DLX (with the enhanced graphics), but I play it on rebirth too without the graphics - like a regular D2 level.

So what I'm led to believe is that you can create levels for DLX that exceed this limit, and they can also be played in rebirth as a regular D2 game - assuming the player accepts the loss of functionality associated with non-DLX.

Main questions: 1) Can I still find a way to build my levels, for rebirth, that exceed 3608 vertices? 2) If I was to use DLX, then could I still preserve the nostalgic old feel, i.e., use DLX without using the graphics?

Secondly, if the Devil editor is an alternative to DLE, like we've mentioned, then what are its limits. Would it work for my problem? My levels aren't that that big or detailed, but I need a little more 'room' than 3608 vertices. All I need is another 1000 vertices... or even just 500 more.

Thanks

Re: Vertex limit way under 60008 for me...?

Posted: Sat Jan 03, 2015 3:19 pm
by Sirius
They actually don't. Enemy Within doesn't have any levels with that many vertices - it has some that get a little close, but they intentionally don't exceed 900 segments and so can't exceed 3608 vertices. Naphtha has been working on some levels that are larger than that and has reported the same problems you have - they are possible to create in DLE, it just has that annoying error if you happen to need to unjoin vertices. I think he was intending to cut it down to regular D2 limits anyway, though.

I'm not sure what SDLDevil's limits are but I recall they are in the high thousands at least, if there even are any. So yes, it will do what you want.

One thing that just occurred to me though - if your levels aren't that detailed, the difference between them and Enemy Within might be merely cube efficiency. The way the Descent engine works, combined with those cube limits, it's almost always better to stretch cubes to make them bigger rather than inserting more. I don't know if this is something you're doing, but I figure I ought to cover my bases :)

Re: Vertex limit way under 60008 for me...?

Posted: Mon Jan 05, 2015 12:40 am
by mike8887123
Okay cool. I'm going to try Devil one day. There are just a few levels that I would like to add to that are at limit because they are complex.

In terms of cube efficiency, I definitely don't insert another segment unless there is a reason to. If I need more space, I just stretch it. The reasons I would insert a new segment is when I can't do what I want without it; eg, to have another corner or edge, or to have a straight face made of several segments so that a texture (usually 2ndary- like a switch panel) fits there w/o repeating. But I never insert segments simply to have more room. I used to before I realized you can stretch them (back when my levels were real blocky). So the reason I'm at limit is because I make my rooms complex in detail. Perhaps there are other inefficiencies I have here and there not related to spawning just for space (maybe there's a few small spots where I did do it for space without realizing it too though).

By the way, there is this one entropy level (I think its 2) that is absolutely huuuuuge. You know which one I mean-- where you keep going around and around to find the stand-alone hostages (the hostages are stranded/surrounded by water IIRC). Does that one conform to the 3608 vertex limit? Just wondering. I guess I could open it in DLE and see myself too. It just seem so huge.

Anyway, thanks Sirius. You're always a great help.

Re: Vertex limit way under 60008 for me...?

Posted: Mon Jan 05, 2015 10:31 am
by Alter-Fox
Yep it does. The thing about that map is you're going around the whole space hunting for something... doesn't much matter if it's hostages or something else -- the map feels a lot bigger than it is.
The best level design is not about the level design, it's about what goes on inside it -- that design is nothing more than a nice-looking place for stuff to happen in. Entropy Experiment is the sort of level design that people who make level designs nowadays should be required to study.

Re: Vertex limit way under 60008 for me...?

Posted: Mon Jan 05, 2015 8:30 pm
by Sirius
No problem! It sounds to me like you've already got the basics of not wasting cubes down. Everything else involves trade-offs. Adding complexity to the level geometry ("architectural" levels, like Kruel made) is always going to use up cubes, so it becomes a question of whether it's worth it - unless you are okay with breaking that 900-cube limit. It's a subtle thing, though - you can make levels look cool without using that many cubes, but it's much easier said than done, especially if you don't want to repeat ideas you've already used.

The other thing is... I haven't been able to prove this, but based on my perceptions of my levels versus what I've heard others say about them - I think that your levels may be bigger than you think they are. I'm guessing it's just that if you know the level inside and out, because you built it, it doesn't really feel all that big. But someone else may still be able to get lost in it.

P.S. Entropy level 2 is 741 segments, 2506 vertices. It's definitely approaching the limits, but it's mostly just quite frugal with how it uses geometry. There aren't a lot of really small/thin cubes, and the corridors have pretty simple cross-sections, which is important because those add up fast. The rooms are not really highly detailed; Luke Schneider just relied on his fairly iconic texturing technique to make up for that.