(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-16-24 01:05 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - The Open-Source Exception
  
User name:
Password:
Reply:
 
Options: - -
Quik-Attach:
Preview for more options

Max size 1.00 MB, types: png, gif, jpg, txt, zip, rar, tar, gz, 7z, ace, mp3, ogg, mid, ips, bz2, lzh, psd

UserPost
Parasyte +
Posts: 2/53
Originally posted by sp
First I want to state that I'm a bit of an extremist/open-source zealot. Why? In my opinion people who don't open-source their freeware are assholes. I can forgive them if they have legal reasons for not releasing their code but any other excuse definitely falls on deaf ears with me.

Good, that's out of the way. Now about the topic. I firmly believe that more information = better than and available source code is more information than any documentation could ever contain. Arguing for more documentation while simultaneously arguing for closed source is completely grotesque in my opinion.

The core of all progress is the simplification of earlier inventions. That's not just the case for software, but for the rest of the world too. In the years after Gottlieb Daimler invented the automobile it was so complicated that it was seen purely as a tool for engineers who know to fix their cars basically on the fly (because early cars were difficult to control and broke down a lot). Only a few decades later, people like Henry Ford managed to simplify automobiles so far that even normal people could use them.

This is not just true for cars, but for most if not all inventions.

Combine this with another aspect of life. There are no geniuses. Nope, none. Isaac Newton once said that "If I have seen further [than certain other men] it is by standing upon the shoulders of giants". Using this sentence he tried to explain why he invented so much more than his contemporaries. He studied the history of his field a lot more than others and studying that gave him an advantage over others. He knew what was already tried and failed and he knew what wasn't tried yet and could concentrate his efforts on those areas.

There are other examples. Who invented the telephone? Graham Bell? No. The telephone was invented by (at least) Antonio Meucci, Charles Bourseul, Johann Philipp Reis, Cromwell Varley, Poul la Cour, Elisha Gray, Thomas Edison and finally Alexander Graham Bell. The invention of the telephone was not the work of a genius (because they don't exist). It was the work of many people who studied what their ancestors in the fields of electrical engineering developed and they all improved on these ideas.
It's the same with the steam engine. Think James Watt invented it? Nope. By the time James Watt made his significant contribution to the steam engine some hundred of them were already running in Great Britain. James Watt merely studied them and found ways to improve them.

We don't have to limit this to great inventions. Here's a ROM hacking example. If FCEUXD had not been open source there would most likely be no symbolic debugging or conditional breakpoints in NES emulators today. I do not have the time to develop a NES emu myself just to make a better debugger. I am not sure if even have the skills to write my own one. I can, however, guarantee you 100% that I would have never implemented anything like I did in FCEUXD SP if I couldn't have built upon the work of the earlier contributors to the FCE/FCEU/FCEUXD project(s). And - in my fairly biased view - this would be quite unfortunate. I really like symbolic debugging and conditional breakpoints.

What I want to say is that a closed source policy is against many of the most important aspect of inventing and developing. You want to deny us the ability to build on the works of our "ancestors", you want us to reinvent the wheel over and over again, you want to deny us the necessary simplification (for example in the form of libraries that could be developed for common tasks) to make quick advances, you want us to be geniuses (which don't exist) and you want to force us to be the first "giant" in line over and over again.

I ask you, how's that any better than just making programs open source?



I agree wholeheartedly with nearly everything stated by sp. The biggots here who insist that resisting sharing within the community is 'better for everyone' are one of the main factors that made me give up with ROM hacking. The second issue is that there is so little support for free software by the community. To that end, I would rather contribute nothing than some indecisive 'in-between' in order to protect a false sense of 'secret knowledge'.
Xkeeper
Posts: 1119/5653
Originally posted by BGNG
Speaking of which... If you're gonna moderate, you might as well go back and delete that "BWAHAHA" post as well as the "OMG IT'S LONG POST DEBATE TIEM" one before locking the thread or moving it to The Pit of Dispair. I'm fairly certain spam and flaming aren't allowed.
It was about 4 AM, I was tired, I went to bed. I'll clean up the thread now (including the pointless reply right before this)
DahrkDaiz
Posts: 100/403
Documentation serves as a manual
Source serves as an example

Some people learn best by knowing why, others learn best by seeing it in action. A combination of documentation and open source is prime in my opinion. But open source is not deterimental to ROM hacking by anymeans. That's like saying having the blue prints to a car makes it uninteresting to build one of your own from scratch. Source is just a model to go by and I see no problem in having it out in the, er, open.

Oh yes, people do not ROM hack simply to "discover" how a game works. Discovering how a game works is necessary to edit it and create a ROM hack. Source would do nothing but speed up the process of creating a ROM hack in general.
Disch
Posts: 52/202
Originally posted by BGNG
You just shot yourself in the foot. I give you a reasonable example to support my statement and you ignore it because it's not what you wanted to hear.


Like you've been doing with EVERY ONE OF MY POINTS IN THIS THREAD?

But yes. I'll concede that my former point 7 was incorrect... I got carried away. You're right on this one.

But then again I've been saying from the very beginning that there's different kinds of information you get from the source than you get from the documentation and you can't compare a source's function to documentation's function. I don't know how many times I have to repeat that or rephrase it before it sinks in with you. Because I've mentioned it at least 3 times in every post since I began this debate and every time it's as though you didn't read it.


-- EDIT---

To further clarify what I meant by my remark about it not being commented:

Properly commented source is far more informative. The example you gave was not commented. I didn't shoot myself in the foot here, the example you gave was of unclear source. That doesn't mean all source is unclear. You would brand all source code in the world as useless simply because some of it is unclear?

I could probably dig up some unclear documentation and show it to you.. but that would hardly be a good example of why source is more informative (if that were even the point I was trying to make).

By pointing out that the source wasn't commented, I was not brushing off your example with a "I disagree, BGNG. Try harder"... but rather more of a "that's not an example that shows the full potential of a program's source -- but rather an example of the bare minimum you can get from source".


-- END EDIT--



It's obvious you aren't the least bit interested in understanding why I feel the way I feel and you will, as you have been doing, simply post things that say "I disagree, BGNG. Try harder" without any real reason other than the fact you disagree.


Are you kidding? You're describing yourself here. I'm saying "give me an example of why you think this will happen". I've been giving multiple examples to back up my points in all my posts.

You make outlandish claims like "people will steal your code for evil". I say "give me examples". I get none.

You say "there's nothing to gain from having source if there's sufficient documentation". I've given examples of myself learning from existing NES emu source, additions to NES emulators, the concept of learning by example, code examples, optimization tricks... several real world examples which support my point. All go ignored.

You say no one will duplicate a program if its source is available. You give no supporting evidence. I point out that this statement is 100% false, and give examples to support, such as the several SMB3 editors (despite more than one of them being open source), graphic editors, and NES emus. My examples go ignored.

You say having a program's source will prevent people from hacking a ROM because they will already know how it works. I point out that this is a double-standard, since the whole point of documentation is to explain how it works... yet you advocate documentation and condemn source. I get no response.

You say people can steal source and claim it as their own. I point out that it's just as likely (and even far easier) for them to steal documentation. You ignore.


What's worse is you're encouraging people to withhold information, rather than share it. Something that is CLEARLY detrimental to a community which is built off the free exchange of information. Your logic for saying it's a benefit makes no sense. You provide no evidence to support your crackpot theories.

To sum up what this has been like for me, I'm going to do a mockup debate. The 'BG' in this debate is an exaggerated you:

BG - releasing source is a bad idea

me - I find it to be a good idea. Other people can gain information from the source, and it's not harmful to anyone. Why do you think it's a bad idea.

BG - releasing source gives you the mark of the devil

me - why?

BG - all the people that release the source are evil. only people that release documentation are good.

me - I know several good people who have released source: example, example, example. And have also known some bad people that have released documentation: example, example, example. How can you honestly pass off the above as fact when it's clearly false?

BG - YOU DON'T HAVE ANY INTEREST IN DEBATING WITH ME! I'M LEAVING.


Looking back on it now. I can't believe how much of my life I've wasted on this one.

Originally posted by Disch
Same thing as above, you took a statement of mine and said "I disagree, therefore you are wrong."


No, I laughed at a statement I found to be funny. I made that post after I literally laughed really hard in real life. This was also before I decided to take up this debate.


If you were hoping to retain any bit of credibility, Disch, you shattered your dreams into tiny ilttle shards.


Judging from your logic in this thread... not having any credibility in your book doesn't seem like such a terrible thing to me.



I will make no further replies to this thread. If anyone wishes to speak with me on the subject, use a PM.


Have it your way. I will continue to watch this thread in case you change your mind and want to bring some facts in to support your points... or want to address the points I've been making.

I refuse to move a debate into PM. There's no point to it. If you want to debate, what's the difference between doing it here or doing it in PM? The only difference is that other people don't get to read it (less information available for them -- which I guess is what you're all about).
Guy Perfect
Posts: 123/451
Originally posted by Disch
7) I don't see any comments. Commented source can be far more informative. ;P
You just shot yourself in the foot. I give you a reasonable example to support my statement and you ignore it because it's not what you wanted to hear. It's obvious you aren't the least bit interested in understanding why I feel the way I feel and you will, as you have been doing, simply post things that say "I disagree, BGNG. Try harder" without any real reason other than the fact you disagree.

Originally posted by Disch
BWAHAHAHAHAHAAHAHAHAHAHAHHAHAHAHAHHAHAHAHHAHAHA
HAHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHHAAHHAHAHAHAHAHA
Looking back at the previous posts of the thread, I'm reminded of this one. Turns out it was you who said that. Same thing as above, you took a statement of mine and said "I disagree, therefore you are wrong." If you were hoping to retain any bit of credibility, Disch, you shattered your dreams into tiny ilttle shards.

Originally posted by Xkeeper
Don't go on a crusade trying to get everyone else to stop doing it too. No one likes Jahovia's Witnesses, and you're acting just like them.
I'll keep that in mind if I ever get the idea to do so. The purpose of this thread was to express why one might not release source code, not try to get others to keep from releasing it. You are not an almighty "I see the truth" specter just because you have access to the "Lock Thread" button.

Speaking of which... If you're gonna moderate, you might as well go back and delete that "BWAHAHA" post as well as the "OMG IT'S LONG POST DEBATE TIEM" one before locking the thread or moving it to The Pit of Dispair. I'm fairly certain spam and flaming aren't allowed.




I will make no further replies to this thread. If anyone wishes to speak with me on the subject, use a PM.
Techokami
Posts: 118/303
Closed source is just plain wrong when making hacking tools. Case in point: if you don't use Windows, you can't hack ROMs. That's completely unfair. I'm lucky to have Tile Molester, which runs on Java.

What I'm saying is, if the source code is released, then people can port it around in a manner that the original creator couldn't do/wasn't assed enough to consider.
Xkeeper
Posts: 1118/5653
*Xkeeper pops in the thread to tell you that the pointless debating in this thread will be ending in about 20 hours from now.

P.S. BGNG: If you don't like releasing the sauce to your programs, don't. Don't go on a crusade trying to get everyone else to stop doing it too. No one likes Jahovia's Witnesses, and you're acting just like them.*



*JWs are infamous for acting like door-to-door salesmen, trying to convert you to the religion
Disch
Posts: 51/202
1) I see you missed the point of my money analogy. There's always going to be douchebags being lame about stuff. Withholding source isn't going to make things less lame. Not to mention you can use ANYTHING in your efforts to be a douchebag. This is in no way related to the source code being what it is.

2) "If UserA makes a program and UserB modifies it by adding some new features and slaps his own name on it, then all it is is UserA's program with new features and UserB's name on it." <--- that's a bad thing? Look at the Nester family of NES emus. nester became NesterDC. It also became NesterJ which became NNNesterJ. Or look at FCE. FCE became FCEU became FCEUd became FCEUXD became FCEUXD SP. Multiple people contributing to the same cause. Variations of the same program. I fail to see how you can possibly classify this as a downside rather than a MASSIVE upside.

Or are you referring to UserB stealing all of UserA's thunder? Because that's another fear that lies in the realm of impracticality. In the history of open source programming, with all the programs out there... how many can you name that have been "stolen" in this fashion? I can't think of a single one. Besides... again this is a fear that could apply to ANYTHING you release --- it's not a problem with the source. Someone could just as easily (or even more easily) take a technical doc and write over the original author's name. You'll notice that such a thing seldom happens though.

3) "If you had the source code for an intuitive level editor, would you take the time to make your own version of the code that's already there on your hard drive?" <-- in a word: yes. Would everyone? no. There are many ways to use source. It can be a reference, a base, or just an example. In my NES emu development efforts I have looked at several different emulator's source for reference. The information I received was invaluable. Did I copy paste their code into my emu? No.

"Making it all means that you have a full understanding of everything your work does." But just because you didn't make all of it doesn't mean you don't have a full understanding. The bottom line is if the source makes you able to produce something you couldn't produce (or would have a more difficult time producing) without it... then the source fulfilled a positive role.

Do you ever use 3rd party libraries in your programs? Zlib? libvorbis? FMod? SDL? Do you have a full understanding of how all of them work? Do you know exactly how your monitor works? Or your hard drive? If you can make use of a tool, does it really matter if you don't understand exactly how the tool works? Source is just another tool. People that want to have a deeper understanding can still get that deeper understanding from the source or from another reference.

To expect everyone to understand 100% of everything is just ludicrous. It's like you're saying "you can't do this on your own? THEN NO TOOL FOR YOU!!!!!" Like what the fuck man... seriously.

4) "Yes... yes, they would. Documentation therefore has a higher precedence for learning and understanding than source code" umm... okay... I don't know where you got that from. You do realize it's possible to understand the workings FROM the source, right?

"But if the source code is there, who will honestly try to figure it all out?" - I've done it. But regardless. Why does this matter? How is denying someone an extra resource motivation?

"Anyone who will use the documentation, you say? Then the source code isn't even necessary." *smacks forehead* There is more information in a program's source than just what the documentation covers. Seeing code in action is completely different than having it explained in English. Documentation cannot replace source. And source cannot replace documentation. Even with extraordinary documentation on a program, there is still lots you can learn from the programs's source.

5) "Why would it be placed in the ROM hacking community if it wasn't used for understanding of ROM hacking?" There's more to the ROM hacking community than ROM hacking (remember we're using your super-strict definition of ROM hacking here). Me, for example. I hang out on these ROM hacking boards and read these ROM hacking threads -- but I don't ROM hack. People like me -- or people elsewhere on the internet (not in the ROM hacking community) will gain from the source of a ROM editing utility.


6) What work are you talking about? The work of discovering the data? Or the work of writing an editor? The former is defeated by documentation, according to you. And the latter is false as I previously pointed out with my NES emu example.


7) I don't see any comments. Commented source can be far more informative. ;P

But I'm just babbling on this point. My point ... which I've stated close to a billion times now... is that program source and documentation serve two completely different functions to the people that use them... and comparing them to see which one is more important is fundamentally flawed. They both have their uses (and their abuses).





Well judging from your arbitrary numbers you call a score, you're not the kind of person that would have much use for a program's source. However, there are people that would. Just because you apparently don't know how to use this paticular tool doesn't mean it's useless. I don't know how to use a mellonballer, but I'm sure it can be a very useful tool in the hands of someone that knows how to use it. I'm not going to demand stores stop selling them. Why rob those people of something they have a great use for.



Well, I have a -10 saying it shouldn't, and documentation more than makes up for it.


I still see no downside. And the documentation does not replace the source's function.
Guy Perfect
Posts: 122/451
Originally posted by Disch
In reality, documentation exists to prevent people from discovering things (by telling them what's already been discovered).
As I said before: Knowledge is nothing if it is not applied. Have documentation and not use it, might as well not have documentation. Have documentation and learn how a game works, you can apply those concepts to other games or make an editor or teach a flock of geese or whatever. Have source code and see how a program works (maybe), and you have source code that compiles into a program. No geese involved.



1) Power, ego, status symbols... Any use of source code for those things is negative. I don't see anyone saying "Look at this new document I have! Wait, no... don't look at it, it's mine... But then I can't prove that I have it! What am I gonna do to show you how awesome I am?"

2) Uniquness is not equal to greed. If UserA makes a program and UserB modifies it by adding some new features and slaps his own name on it, then all it is is UserA's program with new features and UserB's name on it. Each programmer working on his own unique project will ensure that there aren't a billion variants of the same thing.

3) If you had the source code for an intuitive level editor, would you take the time to make your own version of the code that's already there on your hard drive? Chances are, you'd flat-out use some of it. Making it all means that you have a full understanding of everything your work does. That's not necessarily true when you copy/paste source code. There's always a chance one of those lines of code was X + 0 instead of X + 1 and you didn't notice it. That's understanding that you would have had if the source code was not there.

4) "But to understand the source... wouldn't they already have to understand the workings of the game?" Yes... yes, they would. Documentation therefore has a higher precedence for learning and understanding than source code. But if the source code is there, who will honestly try to figure it all out? Anyone who will use the documentation, you say? Then the source code isn't even necessary.

5) "It may not all be applicable to ROM hacking -- but it's still knowledge/understanding/skill bulding." Why would it be placed in the ROM hacking community if it wasn't used for understanding of ROM hacking? That's like a pumpkin pie made with sweet potatoes... not a pumpkin pie.

6) With this is the mindset of "All the work has been completed. I need not do anything." While not everyone will do that, it's still there. Withholding source code prevents it.

7) Credit goes to some guy called Bram:
theta = cutoff*2*pi / samplerate

LP:
H(z) = (1+p*z^(-1)) / (1+p)
out[ i ] = 1/(1+p) * in[ i ] + p/(1+p) * in[i-1];
p = (1-2*cos(theta)) - sqrt((1-2*cos(theta))^2 - 1)
Pi/2 < theta < Pi

HP:
H(z) = (1-p*z^(-1)) / (1+p)
out[ i ] = 1/(1+p) * in[ i ] - p/(1+p) * in[i-1];
p = (1+2*cos(theta)) - sqrt((1+2*cos(theta))^2 - 1)
0 < theta < Pi/2
You know what that is? If you have some background with audio DSP, you can probably figure that there's code for a high-pass and low-pass filter there, but the real meat and potatoes is that it's specifially a One-zero IIR implementation.

How does it work? I have no idea. How was it made? Not a clue. There's NO way I can tell you that just by looking at the source code, even with my background in the field. I don't know how it was created, but I sure as heck wish I did... Some documentation would come in handy right about now.

Needless to say, source code does not necessarily supply sufficient information for understanding as does documentation.



All things considered, the final scores for desirability of release are Documentation: +170; Source code: -10. That's just a scant -10, but it's more than 0, so there's still reason to withhold it. The benefits that simply aren't there in source code are contained in documentation.

Still, lots of people tell me that source code might as well be released. Well, I have a -10 saying it shouldn't, and documentation more than makes up for it.
Disch
Posts: 50/202
Originally posted by BGNG
Then the cause of confusion between us is a miscommunication of what we understand ROM hacking to be. I understand it to be getting, not putting, but getting data from ROMs and figuring out what it does.


Okay. Sticking to this definition for the remainder of this discussion.

What I'm mainly looking for... which hasn't yet been answered to my satisfaction... is why you feel program source code would prevent someone from ROM hacking. I've heard a lot of reasons why Documentation is good for ROM hacking -- however that was never in dispute. The issue here is whether or not Source is bad for ROM hacking. The reasons you have given so far have either not made sense, refer to editors in general (rather than their source), or apply equally to Documentation.

That final note is what I find to be the most interesting. You say the goal of ROM hacking is to get people to dive into ROMs and discover things. At the same time you rave about the awesomeness of documentation.... but in reality, documentation exists to prevent people from discovering things (by telling them what's already been discovered). Think about it.... if there's ANYTHING that's going to stop a hacker from looking into a game... it's going to be existing documentation on that game. I mean why look at a game when there's nothing to look for?

But that's a tangent. I don't really want to argue that point. I just brought it up because I found it to be pretty funny and awfully ironic.

Leaving that tangent and getting back to my point. Here are paraphrases (or direct quotes) of reasons you gave why Source code release is bad, and my response to those reasons in the following brakets.

1) it may not be in people's best interest to release source code to the ROM Hacking community, since people will just take it and say "Hey, look what I have! Power!" [The only sense I can make out of this is that you don't want lamers to be able to go on power-trips with other people's source that they don't really have any way to use. While lamers do suck, and this is a somewhat reasonable thing to expect happen -- I fail to see how it poses any sort of problem or inconvieniece for the author. Who cares when a lamer is flashing around a copy of your source when the source is freely available to whoever wants it? That's like saying we should discontinue money because of all the people on the street flashing dollar bills in other people's faces saying "look what I got!"]

2) withholding source code means that a person's project will remain unique to them [aka, my "greed" excuse listed before. Encouraging this kind of behavior would be the same as encouraging people to only release ROM hacks and not documentation on how they hacked the game. In a sense, this analogy sums up this point-- documentation:hack :: source:editor ]

3) A person who has documentation and source code will look at it and say "Hmm. Okay. Now I know how it works" and walk away. If the program code already exists, then what's the point of reading the documentation in the first place? [This sounds like more of a beef with the editor than with its source. Why would they read the documentation? Because they're interested in editing the game. Or they're interested in further hacking. Or they're interested in making an editor. I fail to see AT ALL how also having the source available would steer them away from any of those goals. I mean all it is is more information]

4) source code will dilude the motivation to further understand the workings of the game. [But to understand the source... wouldn't they already have to understand the workings of the game? I mean if you sit down and read the source and see the documentation put into practice -- your motivation to understand the documentation is fulfilled.. you finished. That's like saying the documentation will dilude the motivation to further understand the workings of the game =P]

5) Does it matter if people have the source code? Not if understanding and skill are the focus of the mission. Source code provides little to that end. [I couldn't disagree with this statement more. I don't know if I responded to it already, but God Damn. There is so much you can learn from someone else's source. It may not all be applicable to ROM hacking -- but it's still knowledge/understanding/skill bulding. Saying util authors shouldn't release their source because the information you obtain doesn't apply to ROM hacking is bogus -- if good can come from its release (in whatever field), then it should be released.]

6) they may never hack the game at all if they have some arbitrary editor's source. They are more likely to do so given documentation and no source. [I find this to be one of your nonsensical reasons. As I can't think of a single way to apply this to reality. You might as well have said "eating cheese prevents people from ROM hacking -- stores should stop selling cheese". There is no factual basis for this on any level -- I don't see where you're getting this from]

7) I don't see anything that source code can do that can't be fully explained in a document [ and I don't see anything a document can do that can't be fully explained in source code. But that's moot, because the two serve seperate functions. ]



Note I just skimmed your posts to find those clips. If I'm missing a point, I'd appreciate a heads up.


Now after reading those again... and trying to make sense of your logic... it sounds to me like you feel the only (or at least the primary) reason anyone would read documentation would be to make their own editor.... and that is somehow spoiled by having an existing editor's source available. That's the only sense I can make out of any of this.

Of course I would argue that view is flawed on multiple levels. For starters, there are things people can gain from ROM documentation other than a how-to on how to make an editor. In fact, most of the time the people reading the documentation don't even know how to code an editor -- let alone have any interest in making one.

Furthermore, since when has existing source code prevented ANYONE from coding their own similar program? Have you seen all the existing NES emulators? How many of those are open source? All these SMB3 editors popping up (what are there now.. like 5?). Graphic editors... text editors... the list is endless. Source is not a hinderance, but is actually a tool... an AID for developing a similar app.


There is so much for other people (and yourself) to gain from releasing your source code. And I have yet to hear a reasonable example of ANYTHING anyone has to lose from releasing their source. In fact you almost said as much in one of your previous posts:


As far as I know, there is nothing extremely negative that could result from releasing source code, at least not for a ROM hacking project.


Yet it seems that everywhere else in the thread you've been saying the exact opposite.


Remember to note that I'm not saying documentation is bad. And I'm not saying source is better than documentation (though neither am I saying that documentation is better than source). And I'm not saying that either should replace the other. They're two different things that fulfill two very different roles.
HyperHacker
Posts: 961/5072
Well there's the problem, I'm not in college quite yet. At least now I'll have some incentive to pay attention in math class. But yes, that's what I mean.

I don't think you get what I'm saying about documentation. If you were to document all the inner workings of your editor, I imagine it would only cover how to actually edit the game. Take my camera example again. If I look at your editor and see that it does what I want to figure out how to do, if I have the source code, I can just check out how it's done. If I just have documentation of how to edit the game, of course it's not going to include how to move cameras in a 3D environment. You could document how to do this as well, but that's only one thing... anything your program does, even little tiny things, people may want to check out the source to see how they work. If you were to actually document it all... you'd basically have rewritten the source code.
Guy Perfect
Posts: 117/451
Originally posted by Disch
That said -- the truth the matter is many people don't care about how the game works. Many people just want the toys they can make their games in. Many people don't want to get into further understanding of the game.. since they don't have any interest in that area of ROM hacking.
Then the cause of confusion between us is a miscommunication of what we understand ROM hacking to be. I understand it to be getting, not putting, but getting data from ROMs and figuring out what it does.

Music, graphics, levels, etc... Anything really that has to do with editing, that's just generic game modding to me. If source code that I release is adjusted for the purpose of game modding, then I would feel violated as if someone cut off my hand and played Badminton with it.

For F-Zero X, I'm making the editor for two reasons: to share tracks and to provide a decent benchmark for N64 hacking. The track file format for shaing doesn't even need to have ROM-patching capabilities, so there's no need for source code there. To promote hacking--hacking as I understand it to be--the source code is next to worthless because all the theory and memory addresses can be contained in a written document.


Originally posted by Hyper LOL
Exactly my point. Camera movement transformations and simple file I/O have nothing to do with actually editing the game, only with making a program to do it. Of course it wouldn't make sense to include these in documentation. This is why the source code would be more useful, as it provides a thorough, precise explanation of how the program does everything it does, be it hacking-related or not.
Documentation is not limited to ROM hacking. There can be other documents for other things. Why consult a ROM hacking document for help with File I/O?

Originally posted by Hyper LOL
And if you were serious, I'd love to see such an article. I just hope you interpreted me right...
Hence the term "relative." That ensures that, say, "right" is only "right" from the perspective of the object's facing direction. Like I said, this is a simple trigonometry concept, but it requires an advanced understanding of trigonometry to come up with a way to implement it. The reason you don't see much information on it is because anyone with some college-level math ought to be able to come up with their own way to do it without much effort.

Until such a time that I can provide such an article, look up information contaning all three of the words "azimuth," "elevation" and "skew"
HyperHacker
Posts: 956/5072
Originally posted by BGNG
Originally posted by Hyper LOL
• Source > Documentation. Some people just suck at documentation. It also takes longer to write it after you've already written the code. Well-commented code is documentation. Also, you can't possibly document everything. Your own FZX editor is a great example. Since it's a 3D editor I can assume it does things like translate up/down/left/right/forward/backward camera movements into axis movements. I've never managed to get this working and there doesn't seem to be one single piece of documentation on Google (it's all about doing similar things that work totally different). If your program does indeed do this, and I have its source, I can just look at how you did it to get an idea of how it works. On the other hand, if you just release documentation, I think it's a safe bet that if I'd never said this, the documentation wouldn't contain any such information, because it's not information about FZX.
If people suck at documentation, then their documentation is not good. Good documentation is better than source code, as I don't know about you, but I would rather look at a file format specification than look at some source code that implements it. File formats, unless they are copied as comments, are never documented in source code.

Relative transformations for camera movement in 3D space is a rudimentary programming principle, so I'm certainly not going to document that for F-Zero X. According to you, I should explain my theory for file I/O as well as setting up an OpenGL rendering context. If you would like, however, I will write an article explaining how to do trigonometric relative transformations in 3D.
Exactly my point. Camera movement transformations and simple file I/O have nothing to do with actually editing the game, only with making a program to do it. Of course it wouldn't make sense to include these in documentation. This is why the source code would be more useful, as it provides a thorough, precise explanation of how the program does everything it does, be it hacking-related or not.

And if you were serious, I'd love to see such an article. I just hope you interpreted me right. I've seen such tutorials, but they're all about how to do what glRotate() does. I'm talking about having a nice little environment already set up in OpenGL, and being able to take any random object (camera or otherwise) and move it forward/backward/etc no matter what its rotation. That is, if you tell it to go forward, right, forward, right, forward, right, and forward it will have gone in a square back to where it started, no matter where it was or what direction it was facing. You'd think with all the 3D games out there, this would be easy to find...
Disch
Posts: 49/202
Originally posted by BGNG
I don't feel that the benefits of knowing the intricacies of a game will typically come from looking at the source code. "cnmeerr = nins(0x67430, 0x6E3F0, 0x800D43F0, cnme[ i ]);" doesn't necessarily mean "Write next course name to deallocated ROM space" to most people.


Which is exactly why I was saying I didn't see the connection between having the source to an editor and having the desire to hack that ROM. And is also why I said you can't compare a source's use to documentation's use -- they're too different.

So we apparently agree on this point?


Who cares how many editors and mods are churned out by people? I don't, for one. What matters is that people have the capability to move on to bigger and better things, being able to make great works with what they know and can do.


Tell me again how having more information at their disposal makes it harder for people to progress in terms of capability. That's the part I really am having a hard time understanding.


And I don't mean by use of editors, either.


Well this is where you have to realize -- for most people it's not "if there's no editor, I'll do it by hand"... but rather "if there's no editor, I won't hack that game".

Without these editors people wouldnt' even get their foot in the ROM hacking door.

I'm going to use DahrkDaiz as an example here. He started hacking SMB3 using editors -- doing no more complicated work than the editor allowed. But as he progressed, he was able to go beyond that and learn more about both the game, and the system on which its run. Now.... were there no editor for him to use eventually... do you really think he would be where he's at today? If he even stuck with rom-hacking... he's progress would have been horribly slowed and he would probably be at best about half as knowledgable and capable as he is now.

Editors are a tool. What you get out of them directly relates to how you use them. And in the end... the more tools available, the better. (see note on "the true meaning of ROM hacking")


so its source code will not help much.


But will it hurt? I mean really. I hear you sort of complaining about the editors themselves -- but does the source really hinder anyone in any way? You still haven't made that connection clear to me.

And while not everyone will benefit from the source -- some people will. If it aids even 1 person, then it was worth it.


Does it matter if people have the source code? Not if understanding and skill are the focus of the mission. Source code provides little to that end.


Are you honestly going to stand there and tell me there is absolutely no manner of understanding or knowledge anyone can gain from viewing an editor's source code?

I really hope that's not what you're trying to sell here, because that's totally bogus. Ever hear of the concept of "learning by example"? Seeing how an editor works can give you ideas or show you improved ways of implimentation which you can reapply in your own projects.

It's almost like you're saying that trial and error is the only way people should be allowed to learn.

Originally posted by BGNG
If the source code is there, and application of the understanding provided by the documentation is already implemented, then there is little reason to look into things any further.
--snip--
It sounds rather lazy to me for people to request source code for ROM hacking when documentation is provided.



You're treating documentation and source code like they're the same thing. They're not. Read my paragraph above.


With just documentation, however, a working model will have to be created by research and experimentation.


Viewing existing source doesn't count as research in your book?


It is wasteful. And they may never hack the game at all if they have some arbitrary editor's source. They are more likely to do so given documentation and no source.


Having the source doesn't affect whether or not they will hack the game... I still don't get how you can say that. It doesn't make any sense at all.

Of COURSE documentation will help in the absense of an editor. I mean duh. But what does that have to do with the existence of an editor's source?




Given documentation of how to hack, people will gain a better understanding of how to hack.


So we agree. Documentation is good.

Now that that's out of the way let's talk about editors' source.


Given an editor's source code will likely remove any ambition for using the documentation in the first place.


So you're saying that if both the documentation and editor's source are available... the documentation somehow becomes less useful? Huh?


It's apparent that people aren't willing to do work. They don't care about the "why" behind things; only the "what." They just want their toys so they can make stuff and feel special. Is this the idea you intend to express? Is that in any way helpful to making better hackers?


What does any of that have to do with the SOURCE. I can see what you're saying if your beef is with the editors themselves -- then your argument is at least coherent... but none of this has anything to do with the source being available.

The source alone is not a toy. The people that would treat it like a toy wouldn't even know what to do with it -- it would be useless to them. But they're not my concern -- my concern is for the people who WOULD get use out of the source. Who would learn from it... build off it.

And yes -- I would consider people learning from other people's source a good thing. That's what I'm trying to express.





Since we seem to be spinning in circles around the "meaning of ROM hacking" -- I feel it should boil down to this one simple truth:

ROM hacking is a hobby. It's meant to be fun or otherwise enjoyable. Problem solving, design, creativity, programming experience...... there are several things people gain from ROM hacking. Different people gain different things. In the end... the "meaning" behind it is to be an enjoyable experience.

What good is ROM hacking if it's not enjoyable? Who really cares how much they understand about something they have no interest in? Without the desire, without the enjoyment... there's no point to anything ROM hacking has to offer.

That said -- the truth the matter is many people don't care about how the game works. Many people just want the toys they can make their games in. Many people don't want to get into further understanding of the game.. since they don't have any interest in that area of ROM hacking. If you think taking away their toys will encourage those people -- you're wrong. You'll just turn them off to ROM hacking completely -- they won't have anything to gain from it any more.

Not everyone operates with a technical mind like you and me, BGNG. The joy of knowing the details of a system and how things work doesn't appeal to others. In fact it downright bores them. Just as drawing original graphics to put in a game may be the most fun thing in the world for someone -- it bores the shit out of me...I hate it. If someone tried to "encourage" me to do something I didn't want to do... I'd just leave. You'd do the same.
Guy Perfect
Posts: 115/451
I agree. That's why I feel that releasing documentation is more effective than source code. Those who want to learn will learn. I don't see anything that source code can do that can't be fully explained in a document. After all, there's a reason for everything, and the reason for something in source code may not be apparent.
MathOnNapkins
Posts: 198/1106
It's apparent that people aren't willing to do work. They don't care about the "why" behind things; only the "what."

Stop generalizing about Rom-Hackers. I'm sure you aren't like this. I know I'm not. I know a lot of people who Romhack care about the "why". It's just you have a majority of people who don't. And that's fine with me, b/c those people will be forever limited in what they can accomplish.
Guy Perfect
Posts: 113/451
Originally posted by Disch
Anyone that would WANT to do this extra busy-work is still able to (like for practice, or experience. And in fact... I doubt it's uncommon for people to hack things the hard way for this very reason. I've done so in the past). But for everyone else who doesn't mind making use of other people's hard work.. they can still gain the benefits.
I don't feel that the benefits of knowing the intricacies of a game will typically come from looking at the source code. "cnmeerr = nins(0x67430, 0x6E3F0, 0x800D43F0, cnme[ i ]);" doesn't necessarily mean "Write next course name to deallocated ROM space" to most people.

Originally posted by Disch
The thing about progress is you try and move forward. If you keep throwing away everyone's experience, information, work and "encourage" people to start from scratch... ROM hacking will be thrown back into 1998. Imagine if every ROM hacker had to re-invent the wheel for every hack they wanted to make. Production would grind to a screetching halt.
This is where ideology comes in. Do not assume that everyone aspires to the same things. I personally feel that ROM hacking is not about "production," but about "capability." Who cares how many editors and mods are churned out by people? I don't, for one. What matters is that people have the capability to move on to bigger and better things, being able to make great works with what they know and can do.

One more Super Mario Bros. hack is inconsenquential. A Super Mario Bros. hacker moving on to Yoshi's Island is more significant. And I don't mean by use of editors, either. If they have the skills to begin hacking more and more sophisticated games, then the ROM Hacking community has played its role. One more editor doesn't make that happen, so its source code will not help much.

You also mentioned the throwing away of "experience, information and work," which I feel is exagerative. All three of those things are provided by, for example, releasing an editor with documenation and without source code. The experience of the person allowed the game to be hacked and the editor to be made. The documentation provides the application of this experience as well as any information needed to do so. The work is the editor, which is provided as proof of concept.

Does it matter if people have the source code? Not if understanding and skill are the focus of the mission. Source code provides little to that end.

Originally posted by BGNG
For specific utilities that hack games that perhaps have specifically not been hacked in the past, source code will dilude the motivation to further understand the workings of the game.
If the source code is there, and application of the understanding provided by the documentation is already implemented, then there is little reason to look into things any further. With just documentation, however, a working model will have to be created by research and experimentation.

Is that more work? Yes, it is. Does it mean people gain a greater understanding and more experience? Yes, it does. It sounds rather lazy to me for people to request source code for ROM hacking when documentation is provided.

Originally posted by Disch
It seems to me you're saying many people download source but never use it. And that's somehow counterproductive? I guess you could call it wasteful because that person is wasting their HD space and they wasted their bandwidth on the download -- but how is it counterproductive? Do they all of the sudden stop hacking because they have some arbitrary editor's source?
It is wasteful. And they may never hack the game at all if they have some arbitrary editor's source. They are more likely to do so given documentation and no source.

Originally posted by Disch
Wouldn't the goal of ROM hacking be to hack ROMs? How does possessing but not using an editor's source relate to that at all?
Yes, hack ROMs. Not use editors, not play with someone else's source code, but hack ROMs. Given documentation of how to hack, people will gain a better understanding of how to hack. Given an editor's source code will likely remove any ambition for using the documentation in the first place.

It's apparent that people aren't willing to do work. They don't care about the "why" behind things; only the "what." They just want their toys so they can make stuff and feel special. Is this the idea you intend to express? Is that in any way helpful to making better hackers?


Originally posted by Ailure
So you say that to understand my computer fully, instead of working with the Linux kernel source code (or any OS). I need to make my own OS? I don't really get that logic...
Not quite. Linux is an original piece of software intended to provide many people with positive capabilities. ROM hacking, being about technique and understanding, does not rely on software to do anyone's bidding. Documentation, on the other hand, provides the understanding in written form.

Originally posted by Ailure
Also, why this large fear for Open source in the ROM hacking community?

I don't understand the "MINE MINE MINE!" mentality a few ROM hackers have, instead of working together forward. I admit that I have a few unreleased hacking docs on my HD, but i'm going to release thoose as soon they're cleaned up.
Like I said, people tend to care about the "what" and not the "why." If they end up coming up with something good, they'll keep it to themselves to promote their own egos as well as draw attention to themselves.

Those activities don't matter to me, and I won't support them. If anyone wants to be a better hacker, they'll do it by learning, not by trying to make something to use as a leverage of power against everyone else.
Gavin
Posts: 108/181
Originally posted by Kyoufu Kawa
Originally posted by Hyper LOL

Add things to prevent this. Partway through a large piece of code, embed a check that will display your name in a message box if certain keys are pressed.
I remember that! Some dude's business program was stolen and presented with a different name and color scheme at a convention or something, and the original author asked the demo guy what this and that key combo did. The demo guy said "nothing", and was persuaded to try.

Owned.


I might be mistaken, but are you talking about that really crappy family movie from a long time ago (best movie description ever. very informative)? I think it might have been really childish and lame, but I'm pretty sure I've seen it. If you're not, then nevermind entirely
FreeDOS +
Posts: 228/1312
Even if the source is messy, there's more reason to release it anyway. People can improve it, and you might learn something from the improvements.

EDIT: But generally it annoys me by the lack of caring here
Ailure
Posts: 534/2602
So you say that to understand my computer fully, instead of working with the Linux kernel source code (or any OS). I need to make my own OS? I don't really get that logic...

Also, why this large fear for Open source in the ROM hacking community? Amongst emulators it's the norm, and heck. Unless you plan to sell the software for $$$, I see no reason to not open source it apart from the code being so sloppy that even yourself have a hard time understanding it.

Also, the fear that someone else will stole the work is ridicolous. Especially if you're editor is known in this community.

I don't understand the "MINE MINE MINE!" mentality a few ROM hackers have, instead of working together forward. I admit that I have a few unreleased hacking docs on my HD, but i'm going to release thoose as soon they're cleaned up.
This is a long thread. Click here to view it.
Acmlm's Board - I3 Archive - ROM Hacking - The Open-Source Exception


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.016 seconds; used 463.94 kB (max 565.44 kB)