Talk:Decompiling Maps

From Valve Developer Community
Revision as of 16:25, 26 May 2007 by Giles (talk | contribs) (Checking)
Jump to: navigation, search

Should this article really be discussing how to bypass the "no_decomp" 1 flag? It's purposely violating the author's intent when you remove that keyvalue. --Campaignjunkie (talk) 13:44, 4 Feb 2006 (PST)

Better the make it public then have a few people spread it by word of mouth. Maybe it'll get changed faster this way. Public knowledge is the best way to get things changed. Its the same theory that all these books are comming out now a days about hacking and computer security. --Red Comet 16:05, 4 Feb 2006 (PST)

  • Um, as I say on my faq page, using a no_decomp key is the easiest to bypass of the protection methods, which is why I also have texture-based and brush-based checks. Brush-based is best, but any method can be defeated by someone with sufficient determination. Ultimately, they could write their own decompiler which ignores all checks. --Rof 15:25, 4 Feb 2006 (PST)
    • I was unaware of these other methods of security you added, so I edited my comment, and yes, you are right that any system you use could be bypassed, but at its current state, all three of your protections are simple to by pass. Java is the easiest language I have ever seen to be decompiled. Also, you use string matching for 2 out of those 3 systems, which can be easily found in a basic hex editor. The first thing I did was replace the no_decomp string with a favorite string of my own, and then I changed the tools/locked string to tewls and as for your final prefab thing, I have not been able to test it yet --Red Comet 16:05, 4 Feb 2006 (PST)

Please don't bash Rof, what he has provided has helped thousands of Source mappers. Valve has a good attitude about Vmex and as he stated there are protection methods. --wisemx 15:38, 4 Feb 2006 (PST)

Of course its also worth remembering that unreal map files aren't even compiled and anyone can open/copy/share any map including original game ones. In my experience this just lead to a much more laid back approach to sharing of information and none of this overprotectiveness that you get in HL community. ColCob

I'm all for sharing: but for immensely popular maps like de_dust, easy and accurate decompiling would lead to even larger numbers of variants, as everyone tries to "make it better" by adding a 3rd route or a sniping tower - in which case, I would prefer overprotectiveness to dust-clone oversaturation of the community. Plus, one can make the argument that you can't compare the Unreal and HL communities, as the HL player base is roughly 10 times larger. More people probably play de_dust than the entire Unreal series combined. (of course I don't have actual numbers for that, but fabricating facts is too much fun) --Campaignjunkie (talk) 12:15, 5 Feb 2006 (PST)
It doesnt matter if everyone and their uncle changes dust to have a new wall or hidden staircase, just don't play on the server. Its pretty much garenteed small changes like that will not replace the league's version, so thousands of professional servers will continue using de_dust instead of de_dustAWESOME~1!!--Red Comet 13:03, 5 Feb 2006 (PST)
I'm all for sharing, but the point it comes down to is that you should ASK ME. You know what, if you do I may just even send you the .vmf if you ask niceley enough. All I ever want is credit for the work I've done and I dont give a crap what you do with it aslong as your not making money off it. Angry Beaver 13:11, 5 Feb 2006 (PST)
Red Comet, I think it's very easy to say "who cares, just ignore it." In theory, yes, it can easily be ignored - but realistically, it usually isn't. I've seen it happen, and the reaction is rarely indifference, but rather outrage. Okay, I agree a league probably won't adopt an altered version, but what about the level designers who aren't aiming for popularity or prolific server rotations? They design for personal fulfillment, and seeing a mutated perversion of that goal is anything but satisfying. I think level designers have a right to try to protect their work, although I personally don't care to do so. --Campaignjunkie (talk) 13:28, 5 Feb 2006 (PST)
Sure, they can attempt to protect it, but the thing is, Valve's current system makes almost all maps open source by itself. When one little program can just take apart the bsp format piece by piece and give you the working vmf, thats not what I call protection. The point here is that valve made a half ass system for protecting their bsp's and if you are a map designer you should know this and expect that people will be changing your maps. Just pretending the problem doesn't exist does not help anyone. Maps are just mods, so why are people getting angry that someone makes a mod of a mod. As far as I am concerned, you make maps to benifit the community, and when you release it, it belongs to the community. So when the community changes something on your map, maybe thats a sign, not to be angry, but to be thinking about why they made that change. --Red Comet 13:56, 5 Feb 2006 (PST)
* Just because you CAN reverse-engineer the BSP format doesn't necessarily mean that you should - I hate to rely on a cliche, but "with great power comes great responsibility." Obviously, Valve doesn't mind having maps decompiled, but what about those who do mind? Write them off as casualties of this so-called progress?
* When gaming magazines put maps and mods on their cover CD, they notify the author - not the community. When the author finally gets the lighting just right, or the architecture how he wants it, it's because of the author's effort - not the community. Let's be clear on who did the large majority of the work - the author. I think your position as lead developer of ProDoD blinds you to this idea, that level designers become emotionally involved with their work, and they don't want to see their child mangled by strangers. It takes a LONG time to make a great map, and that time comes out of the author's life. Don't forget that level designers are part of the community too. It's extremely disrespectful to decompile when they clearly don't want you to.
* One can also make the argument that the community has no idea what the heck it's doing when it changes a map. The community is not a giant, unified mass of socialist idealism. It's full of egotistical self-serving players who want to give themselves an advantage by making their own version. --Campaignjunkie (talk) 16:22, 5 Feb 2006 (PST)
The purpose of a mod is to change a part of a substance you find unsuitable to your goal. When DOD was created, it was because the team wanted HL1 to be more like WW2, when someone creates a map its because they feel the game needs a level where player's sit around and AWP each other. So how can anyone get angry when someone uses the same logic to change what you created. We are not being hypocritical are we?
You can say that valve gives you tools to create maps and source to create mods, but then what about mods of games that do not. Like Wolfenstien, Jedi Academy, etc. Even games that do not give tools to modders eventually get some mods made, because people were not fully satisfied with the finished product.
If you spend so much time working on a map then what is it for? The community. If you make a map just so you can be mentioned in a magazine then your map will lack personality. A prime example of this is DOD:S and CS:S --Red Comet 17:54, 5 Feb 2006 (PST)
A mod is not simply made because someone is unsatisfied with the end product. i love HL2 for being HL2, but that doesn' stop me wanting to make a mod fo somethnig new and original. The DOD team did not start thier mod because they wanted HL2 to be more WW2, thats just crap. They started thier mod because they thought it would be a cool thing to do.
Most maps and plans I have or ever make are for the simple fact "This is a cool thing i want to do and I'll hope everyone else agrees" I've never been severley dissatisfied with eitheir HL and have no inclination to remake them.
The reamking of a work is completely personal perspective you can't share with someone unless thier values and goals line up theres one simple way it should be looked at though.
Its completley irresponsible and disrespectful to take someone else work call it your own and throw it about for everyone to see. No matter the format no matter how you got it. Credit it to the author or permission is the only thing that cahnges this.
The difference in the communities comes down to the line of how easy it is. Anyone mapping for something like unreal understands thier stuff is very easily accesible so they have already relegated themselves to this fact. In HL2 the map has been re-engineered so the engine can run and process it better with new features. We don't expect someone to come along and edit it so it shocks us.
Valve doesn't care about decompiling because its always going to happen, no matter what checks the put in it will always come about, tis not like they encourgae it but their on the same boat as me and actualyl give out .vmf's. Don't blame valve for not wasting time and effort in futility and dont blame people for poking aorund something they obviously appricate. Only get angry against thosoe who try to steal your work by calling ti thier own. Angry Beaver 21:00, 5 Feb 2006 (PST)
Going back to the original comment, map decompiling (or rather, editing others' maps) is actually an incredibly contentious issue in the Unreal communities that leads to lengthy arguments. Almosy every Unreal modder I've seen seen discussing it would prefer a closed system any day. --TomEdwards 01:19, 30 Aug 2006 (PDT)

What about converting maps?

I have a question: If there is a good map for one mod or even retail game, is it ethical (or even legal) to decompile the map and change a few entities to make it work in another mod or game?

Example 1: Someone really likes playing in cs_office, and they really like DOD:S. Could they decompile office, change the spawnpoints to DOD:S ones, and release the modified map? (This brings up copyright issues, as not everyone with DOD has CSS)

Example 2 (this is the one that got me intrested): Someone is making a HL2DM mod, and has made enough changes that normal DM maps no longer work in a playable way. Could they decompile all the DM maps, fix the weapons and such, and release it with the mod? There would be far fewer copyright problems, because you would have to have the originals to play the mod.

Example 3: Say Black Mesa finally comes out, and a group decide to remake Op4 based on it. While making the deathmatch mode, they decide to include modified versions of the BM maps, with the team's permission. Legit?

  • Example 1 would be a breach of the EULA, so it couldn't be done legally
  • Example 2, again, it would be a breach of the EULA. Distributing anything that is copyrighted without permission is illegal - IIRC theres a page somewhere on the WIKI that deals with distribution of assets from CSS (or other Valve games) with HL2 mods.
  • Example 3 is fine because they would have permission from the creators, but I'd get it in writing before anything.
Wraiyth 23:59, 29 Aug 2006 (PDT)
I talked with a guy from valve and he was 100% against decompiling the standard maps. I was going to attempt to 'fix' the stock dods maps since they had so many exploits that the dev team said they would not fix, but he told me flat out that valve does not want any decompilization of their stock maps. --Red Comet 09:01, 31 Aug 2006 (PDT)

What about massively changing it, using only a proven layout for the map, changing all textures, models, and some side passages and such, so that it is only recognizable to those who have played the map since they were born. Gman003 12:12, 16 Dec 2006 (PST)

The issue is distributing content to thoose who should not have it. The general layout of a level does not fall under that scope as the layout is a form that the content takes, not the content itself. If all you do is duplicate the layout of a level then no your not breaching anything. If you decompile a level from valve, then your breaching the EULA no matter what you do with it. --Angry Beaver 12:27, 16 Dec 2006 (PST)

It seems to be very common, however, amongst mod teams. SMOD: Tactical decompiled, modified, and distributed every level of HL2. GMod9 had a decompiled dm_lockdown for melonrace. And what about converting hl1 maps to source? I bet BMS is doing some of that.

don't know about smod, but I know that BMS is making all their own levels. Not taking and skeletons from hl1, and I am glad for that. Plus I think you are mixing up decompile with modding, sure dm_lockdown in garry's mod might have looked very different, but you can do all that code-wise. You can create an entire level with just code so its not impossible to change an existing level however you want. I am sure this is what SMOD and garry did, not decompile and redistribute. Unless of course the installed for these mods actually came with map bsp's. --Red Comet 20:14, 7 Jan 2007 (PST)
Maps for SMOD are NOT decompiled or converted. They use a system of script files that place entities and events into the existing maps.--Fitzroy doll 02:39, 25 May 2007 (PDT)
I'd like to point out that no decompilation is required to change the entity section of a map. There are a few tools available for doing it, they just modify the entity portion of the map (which is plain text), and this contains all entity IO functions. --Daedalus 05:39, 25 May 2007 (PDT)


If you decompile a map just for a small set of brushes, to maintain continuity with established canon, is it OK?

The specific instance I'm looking at is the Stalker car in the Combine train in Episode 1. I decompiled the map (surprisingly tricky), pulled out the brushes for the train, modified it a bit, and fixed up a texture. I may also end up converting it to a model, so the ragdolls work correctly.

It seems to be OK, I just wanted to check first.

--Gman003 08:23, 21 May 2007 (PDT)

While reproducing the train and details is not an issue using decompiled work is. You can reproduce the train but you can't decompile to get it. --Angry Beaver 10:06, 21 May 2007 (PDT)
I'd like a second opinion. I see nothing wrong with taking a couple brushes out of a map, especially with the amount of change I made. --Gman003 18:32, 24 May 2007 (PDT)
Its not like its a medical diagnosis, its the letter of the agrement you said you agreed to when you installed the SDK/Game. Decompiling and using anything thats decompiled is bad. Its like saying you only stole a little so it shouldn't count. --Angry Beaver 22:34, 24 May 2007 (PDT)
Do what feels right for you - everyone's going to give you a different answer. At the end of the day, the question (for me, at least) is "what is the relative value input of what I am creating, versus what I have taken". If you've added very little value, then you're being a hack. If you've added most of the value, then there's nothing ethically wrong with what you've done. Be sure to give credit where credit is due, for anything you publically release.
From a technical standpoint, I wouldn't use the brushes that you get from the decompilation. There's every potential they are a bit scrappy. Rebuild your own model over the foundations of what you've decompiled. --Giles 16:25, 26 May 2007 (PDT)