I'm making a library, but I don't want to publish it. Instead, I want people to include the library and let the coding do its work.
How?
ID:259875
Dec 26 2004, 6:46 am
|
|
In response to Lummox JR
|
|
Lummox JR wrote:
Phoenix Man wrote: I want to release a library, but I don't want developers to see its code. I want to keep it a secret, and give them hints on things they should update in their own game. This way, I can make sure nobody steals my library and goes and calls it off as their own. That's basically what I want: encrypted DM files / encrypted libraries that can only be decrypted by Dream Maker with the right password. |
In response to Phoenix Man
|
|
You mean Capitalism? And totalitarism?
A 1984 style Orwellian Dystopia? Why don't you just put a subscription on it to make sure only trust worthy players use it? (By the way, I'm not saying only rich people are trust worthy, I'm saying most people who would steal work to be claimed as their own would not generally have a subscription). Hm, I see what you mean- how libraries aren't meant to be touched, just implemented into the game source files- however, some parts of a library may need to be touched up to work effectively with the game (for example, using a smiley library, stopping certain mobs accessing them). |
In response to Phoenix Man
|
|
Phoenix Man wrote:
I want to release a library, but I don't want developers to see its code. I want to keep it a secret, and give them hints on things they should update in their own game. We don't support that at this time. Given that some of the best programmers on the planet make their Perl libraries available in the same manner, hopefully it won't be too much of a barrier. |
In response to Elation
|
|
Elation wrote:
Hm, I see what you mean- how libraries aren't meant to be touched, just implemented into the game source files- however, some parts of a library may need to be touched up to work effectively with the game (for example, using a smiley library, stopping certain mobs accessing them). On almost every occasion that I've used a library, I've had to touch up parts of the library in order to make it work for what I need. I doubt any library author is capable of equipping their library to work in any situation, so having it open source lets developers modify it as needed. Its pretty sad that people around here have to worry about someone else stealing credit for their work. I wonder how BYOND managed to attract so many unscrupulous people... |
In response to Foomer
|
|
Foomer wrote:
On almost every occasion that I've used a library, I've had to touch up parts of the library in order to make it work for what I need. Then it isn't eligible to be published. Still, that's one reason I don't want password-protected .dm files: MKany libraries DO need touching hup. For example, up until just recently, Deadron's Character Handling library had a bug that made its default behavior go all screwy when a player tried to delete his/her character. Thankfully, this has been fixed, but you get the point. This, in my opinion, would be a horrible, horrible step for BYOND to take. I doubt any library author is capable of equipping their library to work in any situation, so having it open source lets developers modify it as needed. Nope. Lummox JR's libraries generally work in any situation. Actually, that's the whole purpose of a library: to work in any situation. |
In response to Wizkidd0123
|
|
Wizkidd0123 wrote:
Foomer wrote: Lummox JR's libraries generally work in any situation. Actually, that's the whole purpose of a library: to work in any situation. Actually, two of the libraries I've had to modify were DmiFonts and SwapMaps :P |
In response to Foomer
|
|
Foomer wrote:
Actually, two of the libraries I've had to modify were DmiFonts and SwapMaps :P Really? What did you have to modify? |
In response to Wizkidd0123
|
|
Wizkidd0123 wrote:
Foomer wrote: Well, another point would be to modify a layout of something, or such. Take Flick's rgb selector for instance, SSGX used it beautifully in DBTC. If it was closed source, he wouldn't have been able to do so. |
In response to Wizkidd0123
|
|
Wizkidd0123 wrote:
Then it isn't eligible to be published. you are assuming that a library-builder can read your mind then. if you have a library that makes toast, and does it very well, you may think that it could make coffee too, and will want to modify the library to provide that extra feature (if you don't want to pester the author with that feature). open-sourcing your library also makes it available for scrutiny by other people, thereby increasing the chance they will find bugs for you, or let you know of better methods to accomplish some particular task in the library. you improve yourself, and improve the library. a win-win situation! a problem i can foresee (in this community at the very least) is that encrypting your work may appear that you are hiding something. with as much ability as BYOND has, i would be a bit leery to use a library from someone i did not know or trust. |
In response to digitalmouse
|
|
Not essentially. I will be releasing the library encrypted with a readme.txt file.
The purpose of this readme.txt file is to give the coders who want to MODIFY it to have full authorization, but those who, for instance, want to change the original coding and then attempt to re-release it under their name impossible. We all know about Dragonball Zeta. It was released one tiny little time, and now everyone has it. We still haven't got rid of those Zeta games. Actually, I'm wondering why we haven't got rid of them yet. Obviously the ones "making" those games see that there are enough games to allow the entire US population to have one copy of a slightly modified Dragonball Zeta game. Or are they aiming for the world population? Frankly, I wouldn't know. I'd wish it would stop. I have enough of these newbie DBZ games being "made". Earth's Special Forces is way better than those Dragonball Zeta games they release here. It's 3D and has good graphics, and is well playable. Tons of bugs were fixed since the last version, and it isn't ripped. The only downfall is that it's a Half-life modification, which means you need to have Half-life and a usable CD-Key in order to actually be able to play anything whatsoever. Pretty damn good modification though. Same for Specialists, which is a neat Half-life Matrix modification. Although the site of Specialists seems to be down. Odd. Anyway, that's a bit off-topic. Coming on-topic, I want basically to release my library without anyone messing with code I don't want them messing with. So I only give them snippets of examples of what they COULD change, but I don't want them to edit the core work. And yes, my library does and should work on all games. Well, almost all games. It fully uses Telnet and all it needs is safe mode for files. So if your game has telnet support, I'd guess you'd need to disable it before using my BUNIX library. But that will all be placed whitin the readme which I will include with the package. Also, bringing encrypted libraries could open for another thing: prevention of stealing libraries. A key list could be made in order to use those libraries. You'd have to need internet access whilst compiling with an encrypted library, but it'll do. It works like this: The .DME file of the library is first encrypted. There is a small encryption key added to it which lists the location of the hub entry of the library. Next, a user wants to use the library. Then, it contacts the libraries hub entry on the internet (using the encrypted one in the .DME file by decrypting it and reading the string) and then it obtains a list of keys who can use the library. Dream Maker would for this instance need to have either two variables or simply a login button on it, which would store the key and password into the RAM of the user. If the user hasn't logged in yet, it asks for a username and a password. It transmits it to secure.dantom.com and such replies if the password is okay or not. If it's okay, there is a small variable in the RAM set to 1 or whatnot. Next, the library looks if the username is on the list on the hub entry. If it is on the list, it will compile as usual, but if it isn't, it'll refuse to compile with the error "Key-protected library" or whatnot. The purpose of this would be to make libraries or code available to friends and family and whomever, and if one of them abuses it by not taking credit or whatever, you can remove them from the list and their game won't compile with library plugged in. Yes yes, I know: it's their game, let them abuse our hand-made libraries. But it's our libraries! We want rights too, y'know! Selling libraries doesn't matter anyway. First off, you'd have to get a PayPal account. Well, I for one can't get one because I don't have a credit card, and I think I'm not going to get one as I want my library to be given out for free IF they don't change the coding I already made. It's also handy to keep crediting information intact. This way, those developers can't hijack my library and then change "BUNIX was made by Phoenix Man." to "BUNIX was made by SSJ1337GoGeTaDude."! I hate when that happens! Just remember this: There are always idiotic morons which will abuse our work. - <font color=black>Phoenix Man</font> |
In response to Phoenix Man
|
|
Generally libraries that get redistributed are deleted by hub moderators, plus -- what's the point in releasing something people already have free access to anyways?
|
In response to Phoenix Man
|
|
Stop worrying so much. There's simply no POINT in ripping a library, especially a free one. Nobody does it, and in the rare cases that they do all it takes is a note to the hub moderators and blam, down it goes.
Closed-source libraries are the bane of programmers who just want to get things done. It's very irritating if all you need to change is one very small thing, but you can't because the author thinks their code is sacred. I have 6 source code hub entries. Four of those are libraries; two of those are entire games. I've yet to see anyone rip them, and FullBan (a library) and YMOYL (a game) are fairly popular. |
In response to Phoenix Man
|
|
"Yes yes, I know: it's their game, let them abuse our hand-made libraries.
But it's our libraries! We want rights too, y'know!" Then don't release it to the public, simple as that. Scrouge... |
In response to Phoenix Man
|
|
Phoenix, if you don't want to release it so badly, then don't.
|
In response to Teh Governator
|
|
Also, one of the best ways to get the most use out of a lib is to know how it works and when to use it. Demos rarly cover all the bases on libs, so cracking it open and figuring it out is a good way to use it to its full use.
I have not made a lib (well, not a released one), but I have a ton of demos. Why? Because stuff needs to be changed, I want people to look at my code, and because I have nothing to hide. Think about Microsoft Windows. They have always had problems with virus', spyware, and adware. Why? They don't let you know have of the things that are going on on your own computer. Now imagen if a person released a lib that was encrypted. In this lib, was something slightly useful, and something completely evil. Although it filled its function, it also allowed the creator of the lib to have a full array of commands that only the host or the creator of the game should have. How could the game maker know? All the code is out of his view, he never knows that this harmles little lib would allow someone to reek havoc in his game and possibly the hosts computer! A bad idea started with a good plan, like so many others. |
In response to Phoenix Man
|
|
I don't need someone else's library to create my own. All I'd have to do to make a duplicate is understand the concept of what you are trying to acheive.
And if you are worried about something being misused, why don't you just delete the program? That's not what making a library is about. |
In response to Scoobert
|
|
Scoobert wrote:
Also, one of the best ways to get the most use out of a lib is to know how it works and when to use it. Demos rarly cover all the bases on libs, so cracking it open and figuring it out is a good way to use it to its full use. What your saying, if windows went open source it would decrease the amount of virus's and spyware? The reason that there is so many virus' and spyware is because of the fact that there is only like 3 versions of windows that are currently active. Look at Linux, there are like 200 different distrbutions of it, each with modifications to the code. Dont bring the argument that you should use Linux instead, i have no need for it, i dont see what Linux has that windows doesnt, anyway i have lots of games, and i know quite a lot arent supported by Linux, though why i'd run games under Linux is a different story, when i could just run all my games under a multiboot copy of windows anyway. |
In response to Critical
|
|
I was more interested in the idea of hiding subtle take-control-of-your-game commands in a library. I don't see how a Windows VS Linux debate has any effect on this topic.
|
You shouldn't do that with a demo or library; it defeats the purpose.
If your library contains some sensitive information, you can repurpose it by making the game using that library come up with that information. E.g. if you have an encryption library, the encryption key should be left up to the client.
Lummox JR