Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 5, 2022 3:47:16 GMT -5
Double post because someone might have rushed to download: I reuploaded 32-bits for linux and windows, because accidentally forgot to rename the files from "vigilantbsp32" to "vigilantbsp". So if you downloaded those, please redownload.
|
|
jerko
I'm too young to die
Posts: 5
|
Post by jerko on May 25, 2022 20:11:56 GMT -5
I'm enjoying your bsp program so far and I just thought of a question about the BSP tree generation. Would it be possible to add an option to the node builder that would have it make several bsp trees, compare the results, and use the "best" one? I think a "simple" way to do it would be to do this would be to add the following options: 1. Default root node selection. 2. Try every one sided linedef as a possible root node. 3. Try every two sided linedef as a possible root node. 4. Try every linedef as a possible root node.
I know that this would make the node building process take a lot longer, but I think it would be interesting to see what some of the results would be on some maps that are just over the visplane limit.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 26, 2022 8:40:27 GMT -5
jerko, Yes that would be possible, although not quick to hack up but worth to consider. Note that ZokumBSP multi-tree works differently from what you suggested - it tries up to tree width (specified by user) amount of best linedefs per each node, not just root one, but that means running time scales exponentially rather than linearly compared to approach you suggest. Then there is always a problem of determining which is actually the better tree visplane-wise. Now this would be a definite HARD part as I have not yet investigated how a Visplane Explorer, for example, computes visplanes, while having a "heat" map for each tree would probably be desirable for the sake of eliminating VPOs specifically and not just balancing sectors/reducing sector splits and hoping that results in VPO-free map. Cause the balance may get better, but what do we care about some VPO-free area getting less visplanes while VPO-heavy area gets more? I'm afraid this might happen as all known heuristic in nodebuilders operates on subsectors and sometimes also segs, but those don't map to visplanes 1:1. Of course they never cared to build it otherwise as computing visplanes can only happen when entire BSP tree is constructed. I am also currently taking a break from work on nodebuilder but once I return to it I'll try to implement your suggestion. Of note, advanced visplane reduction mode does have bugs in its algorithm to identify void space, which algorithm's accuracy is necessary to, in turn, improve the accuracy of Lee Killough's heuristic for rejecting partition line candidates that cut across whole rooms without much incidence with segs. That's really hair-pulling task to fix those bugs, as inaccuracy of machine computations (resulting in the same actual point getting different coords) and cases of crossing multiple linedefs at once at one point are really confusing. I remember I wanted to do a write-up for how I decided to determine void space so someone can help but I never did that either, constantly feeling fatigue for various reasons. P.S. I have decided to withdraw from doomer boards otherwise and logged in just to reply to you. You can find me on the forum I have in my signature ( thegreatresist.freeforums.net ).
|
|
SilverMiner
You're trying to say you like DOS better than me, right?
Posts: 1,342
|
Post by SilverMiner on Mar 31, 2024 3:50:52 GMT -5
I compiled my edit of it yesterday. Sharing the process on Win7 x64:
get source of alpha 0.85 of the bsp (4.38 MiB) get zip of go 1.15 (112 MiB) unzip go 1.15 somewhere (!!! 272 MiB)
set these environment variables: (of course add to PATH, do not replace it entirely) GOPATH <...>\vigilantbsp-0.85-edit GOROOT <...>\go115 PATH <...>\go115\bin
edit the code of vigilant bsp if you want
run cmd cd to <...>\vigilantbsp-0.85-edit there run command: go build -ldflags "-s -w" you should get an exe after that
|
|