Page 4 of 5

Posted: Nov 20th '09, 02:38
by Kurinn
RyokoTK wrote:Your level looks pretty great though Kurinn, have you made a lot in the past? Aside from your Xmas 1 level I don't think I know any of yours.
To tell the truth, that one level was pretty much it as far as things I've actually been satisfied to release so far. My interest with mapping kind of wanes and waxes, and usually I'll spend a couple of days looking at an idea every now and then only to feel that it's not so great as to push it on to everyone. The whole MPDX thing came as a sort of reaction to my observation of Japanese architecture and how I felt it could be used to make the ultimate contemporary setting for a new scenario, but I kind of got lost with that. The engine is capable of pulling something like that off, but it feels to me that the end result probably wouldn't reflect what people look for in Marathon-style play. I guess I could dick around with netmaps and stuff, but I feel that my style isn't particularly suited for netmaps, nor do I play them very often at all. The great thing about the whole Winter/Xmas scenario projects is that you don't really have to commit so much, so there isn't any pressure on me except to explore what kind of environment I can create with what I am given.

I am glad you like what you see so far. Perhaps if this turns out well, I might be interested in working on other maps, given that anything I can actually show other people will provide me with good feedback and advice, such as what you have already been giving.

I'll try to take it to heart, but in many ways I think this map reflects the things you are trying to say. At least I hope so, anyway. We'll see.

Feel free to take a look if you want to spend the time. It's broken, but if you load another map first, then cancel that game and load my map it should start up just fine. Not nearly finished, but the form is there, basically.

Posted: Nov 20th '09, 02:43
by Kurinn
Treellama wrote:OK, I found the problem. Your map is too complex, and overflows the 16-bit map indexes Marathon 2 uses to speed up rendering, collision detection, sounds, etc.

The only solution is to start removing polygons, lines, points, etc.
Wow, I found the limits! Cool!

Damn, I found the limits... okay.

Can you give me a more specific explanation?

If you tell me 16 bits, I'm guessing that's why Weland overflows from 32 WU into -32WU when measuring extremely long lines.

Should I cut out overlapping stuff, chop down the overall size? Limit the number of points?

Posted: Nov 20th '09, 03:00
by treellama
Well, here's one example. Say the engine needs to know which lines attach to endpoint e. You can figure this out without them, of course, by scanning through every line and seeing if one of its endpoints is e. But, that's very slow, so at the beginning the engine does this once, and caches the results in map indexes. It only needs to do this for platforms, so that's not a big deal. But map indexes are also used for polygon exclusion zones (lines/endpoints within 1/4 WU), polygon neighbors (other polygons within 3/4 WU), and sound sources (audible from this polygon, so, up to 10 WU away).

So, having lots of small polygons near each other like you do, will eat up indexes like crazy, and you may not even get to the 1024 polygon limit. Map indexes are signed 16-bit numbers, so your limit is 32768.

Edit: oh the nice part about this is, Aleph One doesn't check for that kind of overflow. So sometimes it will crash, but other times it will just act really weird in places. I'm going to add an assertion so it will always crash if it overflows.

Edit 2: I threw it in the debugger, and you're using 36846 map indexes! So that's the kind of scale of pruning you need to do.

Posted: Nov 20th '09, 03:31
by Kurinn
Treellama wrote:Well, here's one example. Say the engine needs to know which lines attach to endpoint e. You can figure this out without them, of course, by scanning through every line and seeing if one of its endpoints is e. But, that's very slow, so at the beginning the engine does this once, and caches the results in map indexes. It only needs to do this for platforms, so that's not a big deal. But map indexes are also used for polygon exclusion zones (lines/endpoints within 1/4 WU), polygon neighbors (other polygons within 3/4 WU), and sound sources (audible from this polygon, so, up to 10 WU away).

So, having lots of small polygons near each other like you do, will eat up indexes like crazy, and you may not even get to the 1024 polygon limit. Map indexes are signed 16-bit numbers, so your limit is 16384.

Edit: oh the nice part about this is, Aleph One doesn't check for that kind of overflow. So sometimes it will crash, but other times it will just act really weird in places. I'm going to add an assertion so it will always crash if it overflows.
Thanks! That's just the kind of explanation I was hoping for.

I guess all of those split polys I used everywhere don't help things much, nor did 3 "floors" overlapping. I also noticed that things went right to hell if I had a lot of lines converging into one endpoint.

In terms of optimization, I suppose the best strategy is to keep everything well spaced out, and to use small details sparingly. Totally opposite of what I was doing here. The very notion I had was that I wanted to use space as meticulously as I could, packing things together in a way which would imply complexity. But, having found the limits of that, I can now put it to rest.

I think I'll just put this map aside as having been wishful thinking. I'll extract the things I liked, and make something new from them.

Thank you! Now I know!

And knowing is half the battle!


EDIT:

36846... That's awesome. Do I get a trophy for this or something? I think that has to be a record.

Posted: Nov 20th '09, 03:42
by Shadowbreaker
Kurinn wrote:And knowing is half the battle!
GI JOE

Posted: Nov 20th '09, 03:51
by treellama
Kurinn wrote:36846... That's awesome. Do I get a trophy for this or something? I think that has to be a record.
Citadel uses 18899 map indexes. Pat yourself on the back.

Posted: Nov 20th '09, 04:03
by RyokoTK
Shadowbreaker wrote:Rubicon was the first scenario I ever played. Infact, I played it before I even played the full versions of M2 and Minf; and I just loved the way everything was super complex and maze like, but not so much that you could get bored (except for classic Gators of NY). I've never mastered the art of Chrislundyness, so instead my maps tend to all focus on finding a number of switches or something all branching off from a central area.
Well, it was a sewage set, keep in mind, which a lot of people just generally don't like. Ironically, I'm always wittering on to people about adding contrast to textures, but my maps usually focus more on sheer size than detail (but not so much that they look like that map in Acepholosity or whatever which was unbelievably terrible and went on for like an hour).
Trying to emulate Clund will only lead to disappointment and despair. I've tried it, I can't do it. You can't either, I know this from Xmas and Winter. That's not a shot at your mapping skills, it's just an observation. Your first Xmas 3 map is more linear and it's better than most of the other maps of yours I've seen. (It looks nonlinear, but it really isn't.) If you want to have the central-hub idea, you need to work it in more strongly; again, you do this on the first Xmas 3 map, but not so well on say... your first Xmas 2 map, or the first large Winter 1 map.

Generally, the gotta-catch-them-all style of map design gets really old really quickly. It's like a chore. No one really wants to scour every corner of every map. I try to mix up linear and nonlinear designs into my work exactly for that reason.

I certainly pushed you for more contrast (actually, I think I called it "more vibrant") back in Xmas 3. There's nothing wrong with paler, worn textures as long as they're still good textures. I don't like Infinity's sewage textures because they're pale and the color choices are awful. I like TGIBX's a lot more, in part because it emphasizes the browns and tans more, but also because it just strengthens the colors a bit.
I guess the reason you think the last level of Winter I was a three story maze is because the terminal at the beginning is extremely long and uninteresting to read. It did give directions to activate the switches on the middle level, collect the chips on the top level, and insert them in the bottom level, but I'll try to make the terminals a bit more concise and clear this yeat.
I admit that I gave up halfway through that level because I was getting bored and frustrated, so maybe I'm exaggerating the point here.

I could tell you my opinions on the terminal writing but this isn't really the point of this post. :P
tbqh I sort of mass produced the second level just so there'd be a sort of introduction to the big science complex. Now I am thoroughly unproud of that level ;_;

Note to scenario makers! Don't make stupid introduction levels like that! And if you do, at least have the good curtousy to make them look as nice as Vedi Vini Cursavi (sp)!
I'm sorry, Veni Vidi Cursavi is one of the worst levels I have ever played in any scenario. It doesn't even look that good, but it's an awful, awful level.

Posted: Nov 20th '09, 07:34
by Dugit
Veni Vidi Cursavi was quite a bad level in terms of, well, everything. But then you consider Rubicon X's other extra levels. I could slate them dry. "There's No Place Like Up" suffered from texture clashes and unbalanced combat and "Lazarus Ex Machina", unlike the other epilogue levels, left a lot to be answered. "Carpe *mumble mumble Latin*" was a good level, but the irritating time it took to find that last straggling enforcer was unbearable. As for the "Bob is Everywhere!" and "Break the Sword/Eat the Sword" levels, the architecture was good, but the exploration was unrewarding (unlike the original Rozinante), and the combat though difficulty, dry and predictable. The fact that Durandal would bring on the AMDDs was the most predictable part. Thus, in my opinion, the only good levels that sprouted from the new of Rubicon X were "Attack of the Wheenies" and "Its not *my* Brain", as the combat in the first is well balanced (even though infinite) and fun, and in the latter, the architecture was brilliantly novelty, and I just love shooting down those Bobs.

So yes, Rubicon X's new levels have a varying degree of goodness.

I doubt anyone can make a level for Winter II that's as long and tedious as Carpe, but don't. Please.

Vale,
Dugit

Posted: Nov 20th '09, 09:15
by goran
Treellama, could you make A1 log the number of map indexes that are used in the logfile?

Posted: Nov 20th '09, 14:05
by treellama
Goran wrote:Treellama, could you make A1 log the number of map indexes that are used in the logfile?
I could, although now I've fixed it to crash out when it hits the 32768 limit.

I might be able to get Weland to estimate them?

Posted: Nov 20th '09, 15:40
by Drictelt
Two questions:

@ryoko: what exactly do you mean by "themed" texturing? Do you mean something like, only using a selection of textures from your set, or something else?
@shadowbreaker: what's the deadline? After having seen all these screenshots, I doubt I'm capable of not making a map.

Posted: Nov 20th '09, 15:44
by RyokoTK
Drictelt wrote:Two questions:

@ryoko: what exactly do you mean by "themed" texturing? Do you mean something like, only using a selection of textures from your set, or something else?
yeah, sort of

It's not something you have any real trouble with, but just that when you choose textures, it's help that all textures in an area have something in common (color, material, pattern, something like that) because it makes a room seem more believable and more aesthetically pleasing.

Posted: Nov 20th '09, 15:47
by effigy
Treellama wrote:I could, although now I've fixed it to crash out when it hits the 32768 limit.

I might be able to get Weland to estimate them?
Prevention would be nice :)

Is there any chance the trouble I reported here could be similar to Kurinn's issue? I'm having similar error messages since added polygons, though, I've added no sound objects.

Posted: Nov 20th '09, 15:58
by Dugit
I think Treellama recommended that you should just remove indexes althogther.

Posted: Nov 20th '09, 16:10
by irons
Dugit wrote:I think Treellama recommended that you should just remove indexes althogther.
Saved for posterity.

Quick edit: I agree in retrospect.

Posted: Nov 20th '09, 16:10
by treellama
effigy wrote:Is there any chance the trouble I reported here could be similar to Kurinn's issue? I'm having similar error messages since added polygons, though, I've added no sound objects.
It's very possible! If you are able to run Aleph One from SVN you could try that--the log message will be an assertion failure in add_map_index. If not, you can send it to me and I'll try running it with SVN build.

Posted: Nov 20th '09, 16:40
by effigy
Dugit wrote:I think Treellama recommended that you should just remove indexes althogther.
Please do this.
Treellama wrote:It's very possible! If you are able to run Aleph One from SVN you could try that--the log message will be an assertion failure in add_map_index. If not, you can send it to me and I'll try running it with SVN build.
Cool, perhaps I'll re-add my lovely sound objects and go again. Thanks :)

Posted: Nov 20th '09, 16:43
by goran
Treellama wrote:I might be able to get Weland to estimate them?
That would be all the better.

Posted: Nov 25th '09, 14:28
by goran
Treellama wrote:Well, here's one example. Say the engine needs to know which lines attach to endpoint e. You can figure this out without them, of course, by scanning through every line and seeing if one of its endpoints is e. But, that's very slow, so at the beginning the engine does this once, and caches the results in map indexes. It only needs to do this for platforms, so that's not a big deal. But map indexes are also used for polygon exclusion zones (lines/endpoints within 1/4 WU), polygon neighbors (other polygons within 3/4 WU), and sound sources (audible from this polygon, so, up to 10 WU away).
I want to understand this. Is this correct?

a. A1 calculates which lines that connect to points on platform polygons.
b. A1 calculates all lines and points within 1/4 wu of platform polygons.
c. A1 calculates all polygons within 3/4 wu of platform polygons.
d. A1 calculates sound sources within 10 wu of platform polygons.
e. All calculated data is stored as map indexes, which have a limit of 32768 indexes.

Posted: Nov 25th '09, 14:40
by treellama
Endpoint line owners and endpoint polygon owners are only done for platforms. Exclusion zones, neighbors, and sound sources are done for all polygons.

I am still trying to add this to Weland but it's a lot of code for a small feature, and 1.1 is done otherwise. I have good reason to suspect this is why Forge is limited to 1024 polygons.

Posted: Dec 8th '09, 11:05
by Kurinn
Soooo... is anyone working on this?

I still have my map, but I've just been too damn busy with other crap to finish it.

All it really needs is terminals, monsters, and platform settings. Oh, and the Lua to make it all work the way I had it in mind.

Posted: Dec 8th '09, 11:25
by Shadowbreaker
Actually in a couple minutes I was about to post up about 80 of the high res textures for mappers to use, among other things... they're taking a while to convert...

Uploading 8 goddamn megabytes is taking longer than usual. Sorry for any delay.

Posted: Dec 8th '09, 11:51
by Kurinn
Shadowbreaker wrote:Actually in a couple minutes I was about to post up about 80 of the high res textures for mappers to use, among other things... they're taking a while to convert...
Well?

Posted: Dec 9th '09, 00:35
by Shadowbreaker
Ok, sorry 'bout yesterday.

[attachment=3397:winterpart1.zip]
[attachment=3398:winterpart2.zip]

The uploading system was being really weird yesterday, so I split this into two pieces. Just download both files and put all of their .dds files into a folder called "Winter 2 Textures" in your AlephOne folder and put the script inside in the scripts folder (itll override other enhancement scripts because of its name), and just get rid of the script when youre done.

Please don't download these if you arent going to be part of the team or you aren't going to point out any errors in them. Instead here's a few screenshots of them in action on a map which I haven't quite fully decided the name for, it'll be either the 3rd or 4th level.

[attachment=3399:wint1.jpg]
[attachment=3401:wint2.jpg]
[attachment=3402:wint7.jpg]
[attachment=3403:wint8.jpg]
[attachment=3404:wint9.jpg]

(These are all super low quality jpeg pictures, and all of the textures are in .dds, which some won't be in the final thing)
Obviously, we're still missing 20 of them; hard ones like doors and stuff. The rechargers aren't done either, but the switches and terminals are.

Things are going a little bit slow, mainly because lately I've been focusing more on Shadow than this, but Winter I was going a bit slow early on too. No excuse to lose confidence :)

---------------------------

By the way, when I said Veni Vidi Cursavi looked "good", I merely meant that that level and the uh 2nd level of Winter 1 basically existed for the same stupid purpose, but IMO VVC looked much more epic and stuff.

Posted: Dec 10th '09, 04:04
by Kurinn
Shadowbreaker wrote:*snip*

Cool. Your screenshots look awfully black, by the way. Not sure what's going on there, but there's just one color in all of those images, and it's black.

Now, whenever Treellama releases with his amazing double-index technology, I can finally finish work on "Decent".