The ethics of decompiling maps
Post Reply
Quote
Re: The ethics of decompiling maps
Posted by Rof on Fri Jan 21st at 6:38pm 2005


So, I've written a bsp decompiler. So far, it's pretty useful for looking through maps and seeing how various entities are used (this is, in fact, exactly what I wrote it for).

It's brushwork production is not very good. Texturing is OK, but the brushes are sort-of faked. (Technically, it turns every face in the map into a thin brush, kind of like a facade - it doesn't try to reconstruct the original brushes in any way). It looks reasonable, enough to see where everything is in Hammer, but you'd have a hell of a time editing or recompiling anything.

Because of this, until now I've not seriously worried about people using it to rip-off other people's maps. It's just too much work to do anything, you'd practically have to remake every brush on the map. Despite some head-banging messages I've seen on some forums and received by email (d00d, will you send me the vmfz for de_dust? I want to make some kewl changez!), I don't regret releasing it.

But now I've found a different way of decompiling. It turns out that damn-near everything you need to reconstruct the original brushes is stored in the bsp. (I still haven't decoded displacement surfaces yet, and there are some difficulties with brush entities, but I will probably be able fix them.)

I haven't release a version that uses this method yet, and I'm not sure I want to. It's just a bit too good - it recovers almost everything, clip brushes, hint placement, detail brushes, etc. Even brush faces that are normally culled away. Some things get lost, but you could definitely use the output to recompile a map that was almost identical to the original.

So, the question is, do I release this? There are some good, experienced mappers here (and the forum is much more mature that some other mapping forums, which is why I'm asking here). Would you prefer not to see such a decompiler? Do you think what's released so far is bad enough already? Or don't you care?

One option I've thought of is releasing it, but adding the ability of a map author to add something to a map that disables decompilation (using my decompiler, anyway). There are several things the program could check for that would be hard for someone to get around. This is easy to do, but wouldn't prevent rip-offs of already exisiting maps.

Bear in mind that it's not particularly difficult to write a decompiler - almost everything you need to know is in one .h file in the SDK source. Someone is likely to write another one eventually, even if I stop production of the current one.

Anyway, let me know your thoughts, folks.
[addsig]




Quote
Re: The ethics of decompiling maps
Posted by Kaos_Nyrb on Fri Jan 21st at 6:44pm 2005


What about it looking for a Info_point entity called No_Import?
And not working if it finds it?




Quote
Re: The ethics of decompiling maps
Posted by Vash on Fri Jan 21st at 6:51pm 2005


I'd say yes. I would like to decompile some maps to see entity setups. Other people may try to ripoff peoples maps, but they won't get far.
[addsig]




Quote
Re: The ethics of decompiling maps
Posted by Tracer Bullet on Fri Jan 21st at 6:54pm 2005


I think that the only legitimate reason for decompiling is to see how someone created a particular effect. However, this principal could reasonably be extended to the placement of hint brushes and such as well as entity setups. I say release it. If some scumbag wants to steal peoples work with it, that isn't your fault. I believe that such a program would have enough legitimate uses to compensate for any abuses that it might lend itself to. [addsig]



Quote
Re: The ethics of decompiling maps
Posted by Rof on Fri Jan 21st at 6:55pm 2005


? quote:
What about it looking for a Info_point entity called No_Import?
And not working if it finds it?


Something like that, or maybe a cetain property set in Worldspawn, or a certain (unusual) texture being used, or even a particularly shaped brush somewhere in the map. The last is the best, because it can't be gotten around without practially writting your own decompiler. The other methods, someone could easily edit the bsp to delete the "don't decompile" tag, given a little ingenuity.
[addsig]




Quote
Re: The ethics of decompiling maps
Posted by Mouse on Fri Jan 21st at 7:12pm 2005


This would be helpful. When I was starting out and didn't know how to use a spotlight in HL1, I used BSP>MAP to take a look at datacore. It also gave me the names of textures that I liked but couldn't find through the browser.

Of course some idiot or two will try and steal maps and whatnot, but that's why you put in a disclaimer saying you will find and kill anyone who steals or builds on your map. Disclaimers make it not illegal.




Quote
Re: The ethics of decompiling maps
Posted by Mephs on Fri Jan 21st at 7:49pm 2005


Personally I say go for it, and don't concern yourself with the implications in the hands of idiots and ripoff merchants, trying to sell someone elses maps off as their own. I don't think here is the correct place to be asking whether or not to release a decompiler, as generally decompiling is a taboo in the mapping world. I don't know about the legalities, and I'm not sure that the very mention of the subject won't be frowned upon by the moderators of this forum.

Decompiling, like dressing up in your mothers clothes and prancing around is a shameful thing that we've all done but aren't proud of...errr...ummm....


? quote:
Bear in mind that it's not....

That typo made me chuckle btw.
[addsig]




Quote
Re: The ethics of decompiling maps
Posted by satchmo on Fri Jan 21st at 7:50pm 2005


The ethics of decompiler can be analogized to knife manufacturing. People may use fruit knifes as weapons, but does it mean that the world should stop making knifes?

Since the decompiler clearly has legitimate uses, it should not be banned completely. In fact, it may be a very useful tools for new mappers to learn how to construct things.

[addsig]




Quote
Re: The ethics of decompiling maps
Posted by DrGlass on Fri Jan 21st at 7:55pm 2005


no


We, the more experienced mapper know why we would use something like this. We want to know how the pro's do things.

But that is half the fun, solving complex problems, finding ways to create diffrent things.

Think of the horrible crap that some of these map makers would create. I rember a remake I once played of dust2, the newbie who decompiled it just cut holes in walls and made tunnles going all over the place. This is not somthing that the public should get to use! Not only becuase they would be free to steal parts of anyone's map but becuase they would ruin maps that others spent hours apon hours making.

These weekend mappers dont seem to understand that the layout of pro maps isn't just tossed together over night. They would destroy thousands of hours of hard work.

Think of every kid out there who says "man it would be so leet if there was a passage through this wall in dust2" all he would have to do is fire up the decompiler and use the carve tool to pop a nice little hole in there.

I think there are already enough unoriginal maps out there, too many copys and clones. Do any of you really want see 15 diffrent maps that all have the same stolen brus work? Even worse, would you want some one to take a part of your map that you spent countless hours working on and just copy and paste it into your map?

Then... on the other hand, some one else will come up with one of these sooner or later. Might aswell get yours out there first, at least you could add a disclaimer or warning about stealing other people's maps.

/rant




Quote
Re: The ethics of decompiling maps
Posted by Mephs on Fri Jan 21st at 8:05pm 2005


I'd say the only way you could sleep easily at night about decompiling is if it was totally on a look-but-don't-touch basis. If the decompiler deliberately messed up some geometry enough that the map was totally unsalvagable, bar looking at entity setups etc. then that would stop most thieves, since, if they can't be arsed making it, they can't be arsed fixing it up.
[addsig]




Quote
Re: The ethics of decompiling maps
Posted by Cash Car Star on Fri Jan 21st at 8:16pm 2005


Would this still work with on maps optimized with those tools released about a year back that I completely forget the name or author of? The tools would cull a whole bunch of the unimportant information from a map in order to reduce filesize and prevent hitting certain imposed limits on HL1 maps (planes specifically).



Quote
Re: The ethics of decompiling maps
Posted by Cash Car Star on Fri Jan 21st at 8:24pm 2005


By the way, UT map formats allow anyone who has a map to view the source, make changes and recompile as they see fit. There are many junk copy maps out there, but not so many as HL. I am not saying whether this is due to the lost allure of doing something unethical or the fact that their community consists of more hardcore gamers and less lame people (certainly when compared to Counter-Strike) or some other reason entirely. It is frowned upon and modified maps certainly don't get the distribution that some of the de_dust modifications do. What I will say is I have seen very little incident of work being stolen and passed off as someone else's. People notice. I would venture to guess that having just a few monolithic review sites instead of the spotty downloading propositions HL has offered certainly plays a part in this.



Quote
Re: The ethics of decompiling maps
Posted by rs6 on Fri Jan 21st at 8:25pm 2005


Has any one here seen a decompile that is actually played on servers?

its becaus edecompiles are ussually by ultimate noob mappers, and the recompiles suck any way. SO release it, no recompiled map gets far. [addsig]




Quote
Re: The ethics of decompiling maps
Posted by fishy on Fri Jan 21st at 8:28pm 2005


that could be one way of looking at it, mephs, but i don't doubt that someone who takes more pride in or is more protective of their entity setups, would argue the point.

the idea that you could put a particularly shaped brush in the level to stop a decompile sounds good, but if you intend to use this, then i suggest uploading a prefab of this shape as soon as possible, so that people working on maps atm can include it.

[addsig]




Quote
Re: The ethics of decompiling maps
Posted by Cash Car Star on Fri Jan 21st at 8:29pm 2005


You missed what he was saying, rs6. Previously, recompiling was just not feasible for creating real maps. This is why you didn't see many true recompiles played (although there were more than enough from-scratch imitations and entripped screw arounds out there anyway). He has discovered a new way to decompile that WILL restore the source. The ramifications of releasing a program like this are not to be measured by a linear extrapolation of what has happened in the past.



Quote
Re: The ethics of decompiling maps
Posted by Rof on Fri Jan 21st at 8:31pm 2005


DrGlass:

? quote:
Think of every kid out there who says "man it would be so leet if there was a passage through this wall in dust2" all he would have to do is fire up the decompiler and use the carve tool to pop a nice little hole in there.


Eeek. While that idea makes me cringe, I'm actually somewhat less worried about that sort of thing. If somebody rips off dust or de_aztec or cs_italy, everyone will know exactly what they've done. I'm more concerned that someone will make a good new map, and someone else ripping it off, changing a few things, and calling it their own. (And nobody realising what they've done).

Mephs:

? quote:
If the decompiler deliberately messed up some geometry enough that the map was totally unsalvagable bar looking at entity setups etc.


That's essentially what the released version does at the moment. The entities are fine, but the brushwork is not good. The major drawback of the current version is that it can be slow in hammer, due to all the extra brushes created.


I am considering deliberately breaking the geometry a little so it wouldn't compile, but ironically it's quite difficult to deliberatly create a brush that will load in Hammer but won't compile properly.

One way to do it would be to randomize some vertices slightly, enough that the decompiled brushes no longer fit together properly. Then anyone recompiling would have a hell of a time fixing leaks, microbrushes, etc.


Anyway, thanks for your input, guys. I am currently leaning towards releasing, but including a way that a mapper can flag a map as non-decompilable.
(Edit: yes, if I do it as a special brush, I'll have a prefab available that anyone can add to their map).. [addsig]




Quote
Re: The ethics of decompiling maps
Posted by Rof on Fri Jan 21st at 8:42pm 2005


? quote:
Would this still work with on maps optimized with those tools released about a year back that I completely forget the name or author of? The tools would cull a whole bunch of the unimportant information from a map in order to reduce filesize and prevent hitting certain imposed limits on HL1 maps (planes specifically).


Yes, this is one way of defeating the decompiler. It worked for HL1, and I'm sure that someone will eventually write one for HL2, too. Unless the Source engine needs the info somehow, there seems to be a lot of info in the .bsp that's not needed to usually display the map.

In particular, the HL2 compile tools store every original brush and plane that was in the map, as well as (separately) the individual viewable faces (which is, I think, all that the engine actually needs to draw things). So it might be possible to delete the brushes from the .bsp without affecting the ability to play the map.

There are also other tricks that will break my decompiler right now - such as the old HL1 trick of using an extra-long entity property (greater than 256 characters), which will crash Hammer when you try to load the decompiled .vmf.
[addsig]




Quote
Re: The ethics of decompiling maps
Posted by Mephs on Fri Jan 21st at 8:43pm 2005


? quote:
the idea that you could put a particularly shaped brush in the level to stop a decompile sounds good, but if you intend to use this, then i suggest uploading a prefab of this shape as soon as possible, so that people working on maps atm can include it.


Fishy, I was thinking more that the onus of mangled geometry would be on the author of the decompiler (which, if you look at the quality of a decompiled map, is already half way there )

[addsig]




Quote
Re: The ethics of decompiling maps
Posted by mazemaster on Fri Jan 21st at 8:49pm 2005


I have a deep seated problem with restricting tools simply because they *could* be used to do something wrong, when in fact they have many legitimate purposes. [addsig]



Quote
Re: The ethics of decompiling maps
Posted by Nickelplate on Fri Jan 21st at 8:58pm 2005


I do too. I didn't like how they shut down Napster. It is like banning guns because SOME ppl shoot other ppl. or banning ALL computers because they could POTENTIALLY control nuclear weapons. Granted, these are extreme, but it's the same principle. I want a decompiler that can change the authors name to mine. I may not do it, but it's my right to have such a program. [addsig]




Post Reply