Help: Anyone experienced with engine code regarding BSP.

UFOs, lost socks, discuss whatever you like here.

Moderators: Master_Kale, TNM Team

Post Reply
User avatar
ZeroPresence
The Nameless Mod
The Nameless Mod
Posts: 618
Joined: Mon Oct 17, 2005 7:29 pm
Location: Florida, USA
Contact:

Help: Anyone experienced with engine code regarding BSP.

Post by ZeroPresence »

Firstly, this request for help is coming from someone that is inexperienced with the topic. All I know how to do, which I'm sure you guys are aware, is how to create maps in a stable engine with well defined tools. This request goes beyond that, into the actual code of files that are used as maps in games. Here's what I know after asking for a debrief:

We do not have original map files, only the BSPs. The BSPs are compiled map files and lose a lot of the original data used by an editor to easily display the data for editing, such as in Unreal Editor. Imagine maps for Deus Ex actually compiled into .u files, and all we have are the files you drop into the System folder but we really need access beyond that.

Someone that understands how to decompile them enough that we can edit them in an editor, or help the engine team write a new loader for a different BSP format that could load them in for editing. For instance there has been talks of possibly being able to convert them into Source. (example only, we discovered Source is unusable for this format.)

I know this is vague, but this is such a situation that if you understood any of that even remotely you might be able to help, and if you can we need to show you material and have you talk to our guys that are more intimate with the situation. If you have any interest in helping an old guy out or may be able to send me in the right direction feel free to comment.

Here is the forum of our project, reviving an old MMO by the name of Neocron:

https://forum.neocron.org/

If you want to get right to it, feel free to register there and PM me on my account there: Atlas. I'm the Community Manager and "Guy that is frothing at the mouth for BSP access so he can get to mapping."
User avatar
Kelkos
UNATCO
Posts: 214
Joined: Fri Oct 28, 2016 12:54 pm

Re: Help: Anyone experienced with engine code regarding BSP.

Post by Kelkos »

It's a hunch, hope it functions :smile:

1. Open Maps
2. Go to your map and open it with notepad for e.g open MyMap.unr with notepad, that'll change it into MyMap.txt
3. Click Select all, and copy it somewhere else, in this case, copy all the contents to another notepad file.
4. You can access the same map on different locations,
5. Idk about this, but you can create a class under actor called MyMaps.
6. Copy the contents of the backup of the map and create a new file called MyMap.uc.
7. You can save that map class into your package, e.g MyMap.u
8. So you can access your map files, both on notepad, and on unrealed.
9. So if you ever want to create a map with the previous contents, just go to that map file, click select all, and pase it into a notepad file.
10. Change that notepad file's extension to unr, or dx, and your ready to go.

Hopefully, this helps, I tried this method to keep my map files intact.
Being a soldier isn't just following orders, it's following those orders in the service of a higher cause. When that cause is betrayed, we're not soldiers anymore, just pieces on a chess board dying for the wrong reason.
Hanfling
MJ12
Posts: 406
Joined: Sun Oct 04, 2009 6:54 pm

Re: Help: Anyone experienced with engine code regarding BSP.

Post by Hanfling »

First, some link to some installer or anything to get close to the files would he helpful to get started.

Can you clarify the situation about the bsp files? Sounds like you guys are able to read them, or isn't this the case?

You should probably leverage on work done for hl1/source, found here: https://developer.valvesoftware.com/wik ... iling_Maps
Some tools seem to have source, there are certainly other tools including source for other classic bsp engines available (Quake 1-3).
I demand my DXE User ID back. Launcher for DeusEx, Rune, Nerf, Unreal & Botpack. HX on Mod DB. Revision on Steam.
User avatar
ZeroPresence
The Nameless Mod
The Nameless Mod
Posts: 618
Joined: Mon Oct 17, 2005 7:29 pm
Location: Florida, USA
Contact:

Re: Help: Anyone experienced with engine code regarding BSP.

Post by ZeroPresence »

Hanfling wrote:First, some link to some installer or anything to get close to the files would he helpful to get started.

Can you clarify the situation about the bsp files? Sounds like you guys are able to read them, or isn't this the case?

You should probably leverage on work done for hl1/source, found here: https://developer.valvesoftware.com/wik ... iling_Maps
Some tools seem to have source, there are certainly other tools including source for other classic bsp engines available (Quake 1-3).
This is what I was afraid of, you seem like you have an understanding of where I'm coming from, but I'm not really explaining it well since this part of game design is so alien to me. I'm going to dig around the NCC forum to see if I can find some direct quotes that may be able to help. Unfortunately I was using the Source engine as an example of a failed avenue we tried so I don't think that link will help. :(

First, our formal request on our forum within the community:


"We need somebody who is very knowledgeable in BSP files. The original MAP files for the game were lost long ago, and nobody has stepped forward with any of the old NC Resources that may be floating around, so we need the ability to either modify the BSP files, or rip them apart to rebuild them. This is something that will take time and effort and require knowledge in more than just level creation. Our team can assist where needed, but this is mainly a solo operation for anybody or any group willing to undertake it."

Here is some information from our team member BSP area:

"The bsp file should be split in to lumps of data each one corresponding to certain elements used/within the map and specified by a file charactor position offset for starting which should be specified in the header section of the bsp.
I say should as depending on the bsp v12, bsp vs17 etc in the header should specify how many lumps make up the file. Quake II uses version 38 with 19 lumps, whereas James Bond 007: Nightfire uses version 42, with 18 lumps.

The problem is the version used by nc I can't find any details on and the header appears to be missing so I can't work out the offset start locations for each lump or even how many lumps there should be to attempt to work it out. It also seems to have entities and objects stored within it that don't match known lump structure from other bsp file formats.

Since they worked on the initial nc1 game around the time of Quake1 > Quake 2 I've been working on the idea that its a variation of these
http://www.flipcode.com/archives/Qua...e_Format.shtml
http://www.gamers.org/dEngine/quake/...4/qkspec_4.htm

but still without seeing how they handle some of the custom elements it feels like going splunking without a torch."
Hanfling
MJ12
Posts: 406
Joined: Sun Oct 04, 2009 6:54 pm

Re: Help: Anyone experienced with engine code regarding BSP.

Post by Hanfling »

Actually I was using the links to source, because I remembered that back in my hl1 editing days, there were bsp map decompiles around, and the wiki pages also listed those. This isn't about any specific format to store them in, but rather about the general approach of reconstructing the initial (csg) geometry used in the editor.

Another interessting idea would be to try deep learning in combination with bsp decompilation -- or at least it would be a fun project to get into deep learning, though targeted more towards games with existing toolchain (q*, hl1, etc.) than actually to be used for the game you are interessting in, as there is obviously no training data.

In any case, the actual bsp decompilation is just the last step at the end of a longer road.

A roadmap which makes sense to me would look like:
- Figure out the bsp file format.
- Create some tool(s) to modify the non bsp part of the map files, which would at least allow a bit of editing, and also further stabilizes the knowledge about the bsp file format.
- Create/modify bsp compile tools targeting the bsp file format of neocron.
- Finally work on the bsp decompilation.

Or in other words, figuring out the actual bsp file format used is relevant first, not the actual decompilation of the bsp structures.
I demand my DXE User ID back. Launcher for DeusEx, Rune, Nerf, Unreal & Botpack. HX on Mod DB. Revision on Steam.
Post Reply