Weland crashes when certain values are selected

Questions about the content creation procedure go here, including using Forge, Anvil, or other editors, or operating emulators like Basilisk II.
Post Reply
doctorbenjiphd
Cyborg
Posts: 78
Joined: Jun 27th '13, 22:36

Hello everyone, hope this message finds the Marathon/Aleph community in good health.

I've been an on again, off again Marathon map maker for, well, basically 20+ years. I've posted some (hopefully cool?) single player levels on here that some of you have downloaded and commented on. Seems about once a year I'll get the Marathon bug and dive headfirst back in, and this year is no different. A few weeks back, I started tinkering around with a level that I have been designing for years--quite literally. It's pretty massive, and I would consider it a magnum opus. Polygon count has surpassed 3000 with still much remaining to be done. But I've recently run into a problem/bug that I will attempt to describe as best I can:

Weland 1.4.4 is the editor I have been using. I use Vasara to texture the level; a version of Vasara I am not certain of, but has been on my hard drive since 2015, so nothing brand new. My problem arises when I attempt to select a texture value which I have assigned in Weland that goes beyond the display maximum of Vasara. In other words, for example, Vasara displays a possible 56 light values (0-55), yet Weland lets me design a theoretical limitless amount of lights. However, when in Vasara I attempt to assign a light value beyond 56, the game crashes.

Even simpler, I have light 57 in Weland, but when I go to Vasara and press the action (tab) key, I am listed with light vales 0-55. I can use the (previous weapon, next weapon) controls to manually go beyond light 55, but when I do, Weland crashes.

In essence, Weland has a 56 light limit. I am certain such errors would be duplicated if I went beyond the maximum display of platforms or tags, as well. And on that note, tags display a massive amount, like 60+, nothing to worry about, though I have build the architecture of my level mostly without assigning platform polygon types, so I am sure to run into this problem with them later.

Most would say 56 lights, 60+ tags, and whatever+ platforms are enough, but not for the level (monstrosity?) I am designing. I guess, when all is said and done, I am reporting to the community a bug with Weland 1.4.4.

Hopefully this makes sense. If not, I can try and figure a way of posting some pictures to illustrate better what issue I am having.

Cheers everyone!
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Are you sure the problem is in Weland and not Vasara? I’ve mostly been using Weland 1.4.3 for reasons that aren’t relevant right now, but I’ve got one map with 58 lights and another with 61 that haven’t caused Weland any problems. However, Vasara does indeed freak out when you go beyond light 55. As far as I remember, VisualMode.lua doesn’t have this problem, so you I recommend that you try using that for this map.

However, there’s also a limit of map objects (not the same thing as the object count in Weland) after which Aleph One is likely to crash, and if you’ve gone beyond 3,000 polygons, you’re probably going to hit that limit at some point fairly soon, too. I’m working on one of RyokoTK’s maps with 1,843 polygons, and it crashes if I add too many objects beyond what was already there (sound objects are particularly prone to inducing this problem). You will probably run into this limit if you keep adding to the map; in fact, I’m honestly kind of amazed it even works in its current state.

In any case, good luck.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
doctorbenjiphd
Cyborg
Posts: 78
Joined: Jun 27th '13, 22:36

Hey "The Man," I appreciate the speedy response.

Interesting, I've heard of the visualmode.lua (and "VML" which I presume to be the same) and had always thought it was synonymous with Vasrara. I will have to try that program. Regarding your reply, you are absolutely correct and I misspoke--it is most definitely an error with Vasara, not with Weland. Weland has no issue letting me create as many lights, or platforms, or I would imagine tags, etc., as I desire. It's when it comes to the application of them in Vasara that I have my issues.

Perhaps you could provide me with a link to the best (in your opinion) texturing plugin? I spent just a second at simplicity, but found only more copies of Vasara.

As for object maximums, well...I don't like the sound of this. I always design my maps with large chunks of topography completed, followed by texturing...usually, item/monster/sound placement is the absolute last step I undertake. If I found that, one-third of the way through my level, my intended placements of objects was capped, well... well, I would be sad, to say the least. Do you have any idea what this maximum number might be?

Thanks again.
User avatar
Wrkncacnter
Vidmaster
Posts: 1953
Joined: Jan 29th '06, 03:51
Contact:

Yeah, as The Man said, use VML. However, if you haven't added your objects yet, I wouldn't bother as you may already be totally screwed with 3000 polygons. Especially if you're planning to add sound objects.
doctorbenjiphd
Cyborg
Posts: 78
Joined: Jun 27th '13, 22:36

Wrkncacnter--if I could use emojis from my phone to respond to your post, it would be the simple "balling my eyes out" face. Ugh. I guess this is what I get for building a stupid big level.

This being said, I wonder if you are both associating polygon count with monster count. I might go so far as to say that half of my polygons are scenic; in other words, I might have 30 rooms of combat sketched out in my mind, despite the 3000+ polygons. If the object amount caps at, say, 400, I'm pretty sure I will be ok.

Any ideas what that number might actually be?
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Here's VisualMode.lua.

You may be OK as long as you stick to items and monsters. Sound objects will almost certainly cause your map to crash. But I can't say for sure. The largest map I've ever made on my own was 1,760 polygons, and I thought that was pushing it enough that I didn't bother using any ambient sound objects ("night wind" throughout the map, only varying slightly in volume) and only used a few dozen monsters, with almost no items. I don't know how Aleph One assigns map objects, but they seem to add up fast. I recommend not using any ambient sound objects at all. If you need ambient sound, maybe just use the same sound throughout, and vary its volume. (Media will sound dumb, though.)
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
Wrkncacnter
Vidmaster
Posts: 1953
Joined: Jan 29th '06, 03:51
Contact:

Here's a bit of an explanation for the limits, and kind of explains why no one is giving you a direct answer to how many objects you can have. It's not that simple.

But yeah, avoid sound objects and you might be OK.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Oh, yeah, I’d missed that bit of the query. The other thing is that the more clustered together your polygons are, the more quickly you’ll run out of map indices, especially if you use sound objects. But with that many polygons, you probably can’t really afford to use them at all.

If you can find a way to split your map into two, that would almost certainly be the best option.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
doctorbenjiphd
Cyborg
Posts: 78
Joined: Jun 27th '13, 22:36

Thanks guys.

I'm still not really sure what is meant by map indices. They are the sum total of all points, lines, and polygons? So if a map consisted of two 1 WU squares attached, we would have 6 points, 6 lines, 2 polygons = 14 map indices? Or am I still thinking of this the wrong way?

I already trimmed some unneeded polygons from the level, but I'm still around 2600 polys, and have at least 4500+ line points. I downloaded the map from the link to the discussion Wrk sent, and that level has just over 2000 line points and 1353 polygons with no objects or sounds placed. And this level was already over the maximum? Wow! I guess I am just screwed.

I appreciate your responses.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I still don’t fully understand it either, but that can’t be correct, because “Monument to All Your Sins” from Starlight has 1,843 polygons and 622 objects, and it works fine (though if you add too many more sound objects it crashes). Additionally, several Phoenix levels are in the 1,700-1,800 polygon range and also function fine.

I’d suggest just trying to place monsters and items and see if it still works. It doesn’t matter if the placement makes sense; just place about as many as you’re planning to use. If it crashes, your best solution is, if possible, to find some dividing point and divide it into two levels, or maybe even three. It might be worth asking RyokoTK (who, coincidentally, made “Monument” and Phoenix) about the Metroidvania script he made, as that can be used to transition fairly unobtrusively between multiple levels in a way such that they seem to be part of the same environment. Of course, the other option is just to do a sort of “Where Some Rarely Go”/“Thing What Kicks” type transition. I’ve got one set of levels in my own scenario that does exactly that, though it was really more of a physical space concern than a polygon count concern that originally led me to split them.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
doctorbenjiphd
Cyborg
Posts: 78
Joined: Jun 27th '13, 22:36

The Man, I did as you suggested, and flooded the map with monsters, items and sounds. I did reach a point where Aleph crashed, and I got a message "Error" followed by a directory list or whatever, "Users/jeremiah/Source..." then finally "Assertion failed: MapIndexList.size() UNIT16_MAX" so I kept tweaking it and got to a point where I could have 400 monsters, 200 items, and 20 sounds and it still loaded and performed alright.

Also, who is Jeremiah, because that directory list certainly isn't mine.

It seems like the ambient sound objects are what kills it, cus I went through and dropped in a dozen more sounds and it crashed. But I dropped in a hundred more monsters, and it performed ok.

So this actually makes me quite a bit more optimistic about being able to complete this thing with 3000+ polys and 300+ monsters with 100+items. But I'm definitely going to proceed cautiously.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Yep, the sounds add up fast. It adds a map object for each polygon a sound is audible on, to my understanding, so the more closely clustered together you've got the polygons around your sound object, the more map objects you'll add. That's one of several reasons you can't narrow the maximum number of possible objects down to a simple formula. It's quite context-dependent. It might just be necessary to give up on the idea of ambient sound objects for your map. The other stuff won't add up nearly as quickly. You can probably just use ambient sounds by setting them on polygons (i.e., not objects) if needed; then keep the volume lower towards the boundaries between sounds to make the transitions less awkward.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
doctorbenjiphd
Cyborg
Posts: 78
Joined: Jun 27th '13, 22:36

For the record, my mess of a level has 3042 polygons with over 600 objects and I think 10 different sounds (not sound objects, but the ambient polygon placed sounds). If I add to many more, Aleph crashes, so I'm right on the edge. But the level still plays smoothly. I need to tweak it in a lot of places (there is a lot going on in this level) but hopefully I'll be able to upload it soon and let y'all give it a play.

It's too bad, really. I've really built it out of a love of Super Metroid, and I wish I could keep going. As is, the level takes me almost an hour to beat (and I obviously know exactly where to go) and it would be so great to make a singular level one giant world that is in itself an entire game. But with those damn object unit limits, I think this level will be about as close as anyone can get to that.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I must commend you on your taste; Super Metroid is probably the greatest game ever. You might want to ask RyokoTK about the Lua stuff he was using to build his Metroidvania prototype; it’s almost certainly possible to connect multiple levels using that.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
Post Reply