Archvile
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Node Builder errors in DB2
 
Author
All times are GMT. The time now is 22:56. Post New Thread    Post A Reply
MajorRawne
Senior Member


Posts: 1340
Registered: 04-10


Hi, I keep getting the following error in DB2 every time I save my map or playtest it:

"Unable to build the nodes. The nodebuilder failed to build the expected data structures. The map will be saved without the nodes."

While playtesting the map I seem to encounter invisible blocking lines that aren't really there, and sometimes I can't pick anything up, my character just runs straight through the items and weapons. I am fairly sure this is also why most of my teleporter traps aren't working properly: sometimes the monsters appear in the wrong places, or start teleporting before they should become active, or often they don't teleport at all (some monsters will activate and teleport as normal, others in the same room simply don't become active at all).

Sometimes the map runs normally so I can playtest it and get information to improve the map, other times I get all this weirdness.

I can sometimes fix this by changing the node builder in DB2's preferences but it only works once before the problem recurs, so I'm constantly having to rotate which node builder I use.

What actually are the nodes and why can DB2 not build them?

Old Post 09-16-12 17:29 #
MajorRawne is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Kappes Buur
Forum Regular


Posts: 894
Registered: 11-02


It would have been helpful if you had mentioned which configuration you map for.


MajorRawne said:What actually are the nodes and why can DB2 not build them?


Doombuilder2 does not build nodes, it is only an editor.

When, after constructing a map or part of it, you want to test it, DB2 hands the map to the specified nodebuilder.

http://doomwiki.org/wiki/Node_builder



MajorRawne said:Hi, I keep getting the following error in DB2 every time .....


Since DB2 and the nodebuilders are mature programs, used many many times by countless mappers,
I would suggest the error to be the result of a mapping error.

DB2 has a function build-in ( F4 ) to test the construction of a map for several possible errors.
Give that a try.

Old Post 09-16-12 19:11 #
Kappes Buur is offline Profile || Blog || Search || Add Buddy IP || Edit || Quote
MajorRawne
Senior Member


Posts: 1340
Registered: 04-10


Hi, thanks for the reply.

I'm building a map in Boom format for Doom 2. None of the other maps I am building have this issue - however this map is very large and complicated compared to my other maps.

The map analysis mode, which I use frequently, usually states there are no errors in the map although there are occasionally open sectors or lines missing a sidedef which I correct as soon as possible.

I'm not an expert mapper and I am simply out of date when it comes to my technical knowledge but I don't know what I am doing that could be construed as some kind of node-builder-killing error.

The issue appears to be moot anyway as I foolishly updated to the latest DB2 build and now it won't work at all, I just get exception errors.

Old Post 09-16-12 19:24 #
MajorRawne is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Kappes Buur
Forum Regular


Posts: 894
Registered: 11-02


Complex maps, which come close or exceed the build limits, would exhibit such problems as mentioned. The only remedy is to reduce the map in size.

Recently, a VisplaneExplorer plug-in, for Doom format maps, has been included with newer versions of Doombuilder2.
The plug-in can be downloaded separately from Codeimp's website:

http://www.doombuilder.com/index.php?p=plugins

Contentious areas are indicated in degrees of red.

Old Post 09-16-12 20:07 #
Kappes Buur is offline Profile || Blog || Search || Add Buddy IP || Edit || Quote
MajorRawne
Senior Member


Posts: 1340
Registered: 04-10


Thanks. I tried the visplane explorer but it is for the recent version of DB2 which does not work on my computer.

My computer will play The Witcher 2 on max everything, but it won't run the new Doom Builder 2 :\

I'm creating this map in vanilla Doom 2. That probably explains the node errors. What actually happens to a map which hasn't had the nodes correctly built? It seems to run on other peoples' computers as well as my own, though I and I suspect everyone else runs it in ZDoom or Boom.

EDIT: Hmm, I may be wasting everyone's time here. The map I'm talking about is for the Panophobia megawad which is supposed to be vanilla-only. However everyone else is making maps in Boom format, I am the only one making them for Doom 2. When I save the map in Boom format it sometimes doesn't give the node builder error.

Last edited by MajorRawne on 09-18-12 at 18:14

Old Post 09-18-12 18:08 #
MajorRawne is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Foxpup
Member


Posts: 304
Registered: 09-05


Maps in vanilla/Boom format have very strict limits on their complexity. From the symptoms you describe, it sound like you have too many segs (more than 32768). Note that this limit is not related to the drawsegs limit displayed by Visplane Explorer, so it wouldn't have helped you in any case.

Nodes are probably the most difficult thing to understand in Doom editing, which is good because you don't need to understand them. They store your map's binary space partition tree, which is used to speed up rendering by providing a way to quickly determine which walls are in front of which other walls, without having to calculate the distance to each wall (I can explain how, but it's not really relevant to this problem). It requires that all sectors be broken up into convex pieces, called subsectors, which are composed of line segments (segs). It is these line segments which you cannot have too many of. Your map will have at least one seg for each one-sided linedef, and at least two for each two-sided linedef, and will have more if your sectors need to split up into multiple subsectors (which requires that these sectors' linedefs be split into multiple segs). If you have more than around 10,000 linedefs or so, you are very likely to hit the 32,768 seg limit, and your nodes cannot be built.

Vanilla Doom and Boom will behave extremely strangely on a map with invalid nodes, and it is absolutely required that valid nodes be produced if you want to claim vanilla/Boom compatibility. There is no solution other than to greatly reduce the complexity of your map.


MajorRawne said:
EDIT: Hmm, I may be wasting everyone's time here. The map I'm talking about is for the Panophobia megawad which is supposed to be vanilla-only. However everyone else is making maps in Boom format, I am the only one making them for Doom 2. When I save the map in Boom format it sometimes doesn't give the node builder error.

This has nothing to do with the problem. Boom actually uses the same map format as Doom, just with some extra linedef types and such (Doom's map format supports linedef types in the range 0-65536, even though vanilla Doom only uses values in the range 0-140, so there's plenty of room for expansion without changing the map format). Boom increases the drawsegs limit (the number of segs that are visible at once), however the total number of segs that can be stored in the map is unchanged. What's probably happening is, your map is only just on the limit, and extremely minor changes are enough to (sometimes) bring it under the limit. It is not related to whether you're saving your map in Doom or Boom format.

Old Post 09-18-12 20:38 #
Foxpup is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Pottus
Forum Regular


Posts: 802
Registered: 07-09


You should just post your map there is a lot of people here that could quickly analyze exactly what the problem and would save yourself time and everyone else it's kind of redundant to try and find a solution to a problem without providing physical reference of the problem it's self.

Old Post 09-19-12 03:26 #
Pottus is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
GreyGhost
Why don't I have a custom title by now?!


Posts: 8828
Registered: 01-08



MajorRawne said:
Thanks. I tried the visplane explorer but it is for the recent version of DB2 which does not work on my computer.
You could alternatively use Chocorenderlimits (CRL) as your test engine, just don't forget to save before testing since DB2 occasionally dies on me when returning to it from CRL.


My computer will play The Witcher 2 on max everything, but it won't run the new Doom Builder 2 :\
I wouldn't be surprised if it's a .NET or SlimDX issue, did you post your error log to the DB2 development forum?


I'm creating this map in vanilla Doom 2. That probably explains the node errors. What actually happens to a map which hasn't had the nodes correctly built? It seems to run on other peoples' computers as well as my own, though I and I suspect everyone else runs it in ZDoom or Boom.
As Foxpup mentioned, you might well be approaching the SEGS limit, the playtesting weirdness mentioned in your OP would also suggest that. It's something you can check by looking up the size of the SEGS lump in Slade, dividing by 12 and seeing how close you are to 32,768. If you're close to the limit and don't want to cut chunks out of your map, you could try optimizing the nodebuilder by copy/pasting the following into Notepad and saving it to the "Doom Builder 2\Compilers\Nodebuilders" folder as something like Optimized.cfg, then select "ZenNode - Vanilla Optimized" as your Doom 2 nodebuilder (settings courtesy of essel).
code:
nodebuilders { // Squeezing until the pips squeak zennode_optimized { title = "ZenNode - Vanilla Optimized"; compiler = "zennode"; parameters = "%FI -o %FI -n2 -nu -rf -bc"; } }


The map I'm talking about is for the Panophobia megawad which is supposed to be vanilla-only. However everyone else is making maps in Boom format, I am the only one making them for Doom 2. When I save the map in Boom format it sometimes doesn't give the node builder error.
If the maps are meant to be vanilla-only, everyone else should be using Doom 2 format, not that is should matter so long as they avoid using Boom-specific features.

Old Post 09-19-12 03:47 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
MajorRawne
Senior Member


Posts: 1340
Registered: 04-10


Hi everyone, thanks for the extremely detailed replies. I've discovered, through advice in this thread and the other one, that my map was just too damn big. I've started working at this now.

How do I check the Segs lump in Slade 3 - I'm a total noob and don't know what to look for.

Old Post 09-19-12 21:51 #
MajorRawne is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Pottus
Forum Regular


Posts: 802
Registered: 07-09


I just use deepbsp node builder for the output, I guessed around 15K segs actual was at 13300 approx.

You can also download ZenNode directly it includes bspinfo.exe which will also give you your maps statistics.

http://www.mrousseau.org/programs/ZenNode/archives/

http://imageshack.us/a/img145/6713/aps.png

Last edited by Pottus on 09-19-12 at 22:25

Old Post 09-19-12 22:19 #
Pottus is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
GreyGhost
Why don't I have a custom title by now?!


Posts: 8828
Registered: 01-08



MajorRawne said:
How do I check the Segs lump in Slade 3 - I'm a total noob and don't know what to look for.
Come to think of it, so long as the nodebuilder's rejecting your map it's not going to create a SEGS lump for you to check.

Old Post 09-20-12 04:50 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
MajorRawne
Senior Member


Posts: 1340
Registered: 04-10


Hi, thanks for the continuing advice.

I'm just not a computer whizz any more. I used to be about 10 years ago, but I basically can't make heads nor tails of Zennode - I can't even get it working. I try to unzip it to a Zennode folder on my head drive and get a list of error messages telling me it can't find the path specified. When I manually copy it onto my hard drive and double-click Zennode, a little DOS pop-up appears then disappears immediately.

I'm using Windows 7 Professional 64-bit.

Why does this stuff have to be so bloody mind-bending???

Old Post 09-20-12 15:05 #
MajorRawne is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
GreyGhost
Why don't I have a custom title by now?!


Posts: 8828
Registered: 01-08


I know the problem. I'm still something of a computer whizz - if you want to discuss obsolete hardware and operating systems.

Don't know why you'd have problems installing ZenNode (I'll try replicating that on my laptop tomorrow), but being a DOS utility you'll need to run it from a command prompt. That's something I'll stand a better chance of talking you through when I'm not half-asleep.

Old Post 09-20-12 16:31 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
MajorRawne
Senior Member


Posts: 1340
Registered: 04-10


Thanks GG, your patience is becoming legendary.

I haven't used DOS since I used to play XCOM Terror From the Deep, which must be nearly 10 years ago. I would have no idea how to install something on DOS, especially on Windows 7 (soon to be 8 unless it's crap).

Back in the day you used to just double-click something and it would install. These days you get something that comes with no instructions, or if you do they were written for a Vulcan scientist.

I've reduced my map size but I'm still getting node builder errors (sometimes) and have no realistic way to know how much I need to chop out of the map.

Old Post 09-20-12 16:38 #
MajorRawne is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 22:56. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Node Builder errors in DB2

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.