Read-only archive of the Armageddon Games Forums Archive (2000–2026) · About this archive

ZC changes to come, and a call for help

40 replies · 118,378 views · Started 22 October 2012

When Jeremy (Phantom Menace) and Jarrod (War Lord) started working on Zelda Classic 13 years ago, I'm sure they had no idea how much it would take off -- that it would become the most popular Allegro project of all time, that it would be featured on TechTV and Home of the Underdogs, or that its fans would create hundreds of custom quests, many rivaling the official 2D Zelda games in quality. To help distribute and publicize their game, they and some of their friends created the Armageddon Games "company" and started this forum; the ZC splash screen has featured the AGN logo since.

However in recent years War Lord, much like most of the original members of AGN, has become very busy in real life; in a recent discussion with ctrl-alt-delete, he indicated that he no longer has the time to remain Zelda Classic's official custodian, and has asked us to take two steps to ensure that ZC continues to develop and thrive: open the ZC source, and revamp zeldaclassic.com to serve as an official home for continued ZC development.

What follows is our plan for implementing these wishes. Before I get into the details, I want to acknowledge that the proposed changes will be somewhat controversial. However, we've shared this plan with both the current developers and Phantom Menace, and recently with the forum staff as well, and hope we've addressed the most serious concerns. While the precise impact these changes will have is impossible to predict, I honestly believe they are in the best interests of the project in the long term, and will breathe new life into ZC and its community; I am therefore excited to announce that the ZC 2.50 release will be accompanied by the release of (most of) its source code under the GPL, accompanied by a switch to open development, and that we are launching a revamp of zeldaclassic.com to get it ready to be the hub of this development.

Let me be more specific about what this means, and what it does not:

  • Development of ZC 2.50 will not be affected. All of the changes I'm discussing here will take effect when 2.50 is released.
  • Your old password-protected quests will remain protected, to the extent they are now. The opened version of 2.50 will have its quest decryption keys stripped out; what this means is that old quests, and new quests built with the "official" zquest binary, will play only on the "official" zc player. Quests saved in the open zquest will play on both the open and "official" player.
  • Dark Nation and his chosen minions will remain the developers of the "official" Zelda Classic, and will have final say over what changes get committed to the official code repository.
  • You will be free to browse the source code, compile it, and if you so desire, submit patches to the developers for inclusion in newer versions of ZC.
  • You will be free to make a new version (fork) of ZC, provided that you publicly release the source code to your new version. Of course, we would hope that you would instead contribute to official development, rather than splintering off your own version.
  • You are free, and encouraged, to port ZC to new platforms, such as the PSP, Android, etc.

We hope to turn zeldaclassic.com into the hub for ZC's future, open development. We want to add to the site the official repository; the scripts and wiki currently hosted on shardstorm; a professional bug-tracker like Bugzilla; an improved QDB that is more easy to search and upload files to; and a modernized layout. To do all of this we will need your help! If you have a vision for what the site should look like or what features it should have, please let us know! If you're a web developer, designer, or artist and would like to help us build or maintain a worthy new home for Zelda Classic, we could definitely use your skills! And as always, feel free to reply here with any questions, thoughts, or suggestions.

I am very excited about this decision. I have been hoping for it for some time. I can't wait to see what the future has in store and get to know the inner workings of the program I have known for about 12 years.

Excellent news. I'm looking forward to finally being able to contribute to the community. New scripting and dev tools will go a long way to making ZC accessible to newbies, and an open-source code base will allow that to happen.

What parts of the code won't be made available under GPL?

bobby_light wrote:What parts of the code won't be made available under GPL?

The custom quest decryption key, and possibly some of the code related to custom quest decryption. As outlined above, we want to keep older quests as secure as possible while still releasing most of the code.

I'm no programmer, so please excuse the likely confused understanding of what this all means, but could old versions be rereleased as open-sourced programs, too? I'd love for 1.90 to be customizable, as that version was stable. I very much feel that most of the work done since should be redone from that last stable version. good luck with all of these plans, especially the getting 2.5 ready to be a properly stable 3.0 package. it still seems to me that a release is a long way off.

This is awesome. Great news, and news that's sure to revitalize the community. There's just one thing I'm a bit confused on. There's going to be one "official" Zquest and ZC player, and multiple branch offs, correct? And quests saved in the official player will still have the option for password protection, right? If so, interesting...

As for the new site, I don't have too much to say, except for really the role it's gonna play. The way I see it, Zeldaclassic.com oughta become the hub for general ZC discussion and development, whereas Purezc.com oughta be the hub for quest development and design. Thus, the new ZC site oughta be focused on the program itself, the source code, the various tools that will undoubtedly pop up (so far, somebody at PZC has expressed interest in making a ZScript code editor that plugs directly into the script compiler, for example) and so on.

Edit: Wait, I remember that before, ZC 3.0 was going to be a complete rewrite of the code. Is this still going to happen, or is that plan pretty much dropped now?

Russ wrote:This is awesome. Great news, and news that's sure to revitalize the community. There's just one thing I'm a bit confused on. There's going to be one "official" Zquest and ZC player, and multiple branch offs, correct? And quests saved in the official player will still have the option for password protection, right? If so, interesting...

Let me try to clarify. There will be an official code repository, and if you download and compile that code, you will end up with a version of ZQuest that can save password-protected quests that are playable on all Zelda player binaries. The password protection will stop casual copying of the quest assets, but will not stop a knowledgeable programmer from "cracking" the quest (by modifying the source code). Also, the Zelda player won't be able to load old quests, in order to better protect these quests.

There will also be official binaries released, compiled with all of the open source, plus some extra code not included in the open source that allows the official binary to read in old quests. It will still be possible for a hacker to crack a quest (as it is now) but since the needed code won't be public, it would take substantially more work.

DarkDragon wrote:There will also be official binaries released, compiled with all of the open source, plus some extra code not included in the open source that allows the official binary to read in old quests. It will still be possible for a hacker to crack a quest (as it is now) but since the needed code won't be public, it would take substantially more work.

Am I right in believing these will also be available as executable files, like the earlier official versions? Or will the new Zelda Classic require its users to compile the executable themselves?

CJC wrote:Am I right in believing these will also be available as executable files, like the earlier official versions? Or will the new Zelda Classic require its users to compile the executable themselves?

Lol, we'll definitely compile them. 😊

DarkDragon wrote:The custom quest decryption key, and possibly some of the code related to custom quest decryption. As outlined above, we want to keep older quests as secure as possible while still releasing most of the code.

Cool, so there'll be a compiled DLL of the quest encryption/decryption library then? For each platform?

This really is a great move, as you'll get lots of patches from folks, and there usually aren't too many forked versions of projects like this, at least any that have a following. Folks would rather contribute to the "official" community version.

Will there be a build farm? And hopefully modern source control such as git?

bobby_light wrote:Cool, so there'll be a compiled DLL of the quest encryption/decryption library then? For each platform?

Legacy encryption will only be supported in the official version. Quests made in previous versions(2.10, 1.9, etc) that are encrypted will not open in the open source version. Honestly I think this is a poor decision and I don't understand why we are so worried about it. As I have said before I am not so big on encrypting quests anyway.

bobby_light wrote:Cool, so there'll be a compiled DLL of the quest encryption/decryption library then? For each platform?

This really is a great move, as you'll get lots of patches from folks, and there usually aren't too many forked versions of projects like this, at least any that have a following. Folks would rather contribute to the "official" community version.

Will there be a build farm? And hopefully modern source control such as git?

Those details are still to be determined -- if you have any experience or advice, please let us know.

SUCCESSOR wrote:Legacy encryption will only be supported in the official version. Quests made in previous versions(2.10, 1.9, etc) that are encrypted will not open in the open source version. Honestly I think this is a poor decision and I don't understand why we are so worried about it. As I have said before I am not so big on encrypting quests anyway.

I tend to agree with you, but it's necessary to preserve the trust of the people who submitted custom quests earlier under the assumption that they would be protected.

Protected from what? Is it really that hard to crack pre 2.5 passwords? And what is it that need protection? Are we afraid of people taking quests like lost isle, making small edits and re-releasing it as their own? As if doing such would result in anything but ridicule. A lot of us want to know what needs to be hidden? I bet most people who want to crack open the great quests want to see how it was done not to steal. I know a lot of people are possessive and don't want their work open...

Dark Nation wrote: But, that may be the price of progress.

Will the original 1st, 2nd, 3rd and 4th quests be protected in the open source version? Not that I'd like to actually modify those quests, butt it would be easier to see if I caught all the secrets and have a peak at the enemies coming up in the next dungeon etc. 😊

Matthew Bluefox wrote:Will the original 1st, 2nd, 3rd and 4th quests be protected in the open source version? Not that I'd like to actually modify those quests, butt it would be easier to see if I caught all the secrets and have a peak at the enemies coming up in the next dungeon etc. 😊

They'll be unprotected.

SUCCESSOR wrote:I honestly don't know why those are passworded anyway.

Few of us know, but now it will be revealed to you, that the original quest developers were long ago each given a phrase from the Necronomicon to encode in their quests as an unused message string.

There are things out there that even a dead man should fear to be unleashed upon the world.

SUCCESSOR wrote:Protected from what? Is it really that hard to crack pre 2.5 passwords? And what is it that need protection? Are we afraid of people taking quests like lost isle, making small edits and re-releasing it as their own? As if doing such would result in anything but ridicule. A lot of us want to know what needs to be hidden? I bet most people who want to crack open the great quests want to see how it was done not to steal. I know a lot of people are possessive and don't want their work open...

Let me share with you a story of my own. A while ago, I created an SMW hack called "EVERY LEVEL IGGY!" (excuse the title) People liked it, all was good. Couple of years later, I'm notified that someone created their own hack using mine as a base. I contact them and find out, someone else took my UNLOCKED hack and claimed it as their own, spreading it around places with people who didn't know that this person was a thief. So the previously-mentioned person asked if they could use the hack as a base, and they were told "yes".

So, I understand the desire to keep a password on quests, just to protect all your hard work from theft.

Nimono wrote:Let me share with you a story of my own. A while ago, I created an SMW hack called "EVERY LEVEL IGGY!" (excuse the title) People liked it, all was good. Couple of years later, I'm notified that someone created their own hack using mine as a base. I contact them and find out, someone else took my UNLOCKED hack and claimed it as their own, spreading it around places with people who didn't know that this person was a thief. So the previously-mentioned person asked if they could use the hack as a base, and they were told "yes".

So, I understand the desire to keep a password on quests, just to protect all your hard work from theft.

So someone breathed new life into your Hack and you are upset? In our community it would be very hard to take a quest and claim it as your own. Any one attempting to do it would be ridiculed.

SUCCESSOR wrote:So someone breathed new life into your Hack and you are upset? In our community it would be very hard to take a quest and claim it as your own. Any one attempting to do it would be ridiculed.

They didn't "breathe new life" into my hack at all. They just stole it and claimed it for their own, and someone else came along basically wanting to use the overworld and palettes. There was no new life, no sudden surge of popularity and awareness of it.

And I wasn't saying it only happens in one community. Yes, stealing a quest and calling it your own would be difficult here, if it was released here. Same with SMWC and hacks released there. But how do you know people will not steal a quest, go somewhere else, claim the quest is theirs, and get it incredibly popular while THEY get all the praise and attention, leaving the ACTUAL questmaker with none of that?

Nimono wrote:They didn't "breathe new life" into my hack at all. They just stole it and claimed it for their own, and someone else came along basically wanting to use the overworld and palettes. There was no new life, no sudden surge of popularity and awareness of it.

And I wasn't saying it only happens in one community. Yes, stealing a quest and calling it your own would be difficult here, if it was released here. Same with SMWC and hacks released there. But how do you know people will not steal a quest, go somewhere else, claim the quest is theirs, and get it incredibly popular while THEY get all the praise and attention, leaving the ACTUAL questmaker with none of that?

I wonder if Shigeru Miyamoto or Takashi Tezuka feel that way 😉

Nimono wrote:They didn't "breathe new life" into my hack at all. They just stole it and claimed it for their own, and someone else came along basically wanting to use the overworld and palettes. There was no new life, no sudden surge of popularity and awareness of it.

And I wasn't saying it only happens in one community. Yes, stealing a quest and calling it your own would be difficult here, if it was released here. Same with SMWC and hacks released there. But how do you know people will not steal a quest, go somewhere else, claim the quest is theirs, and get it incredibly popular while THEY get all the praise and attention, leaving the ACTUAL questmaker with none of that?

This is why we wanted a centralized database. I also wanted to put in the license that all quests could only be uploaded to one location, which would prevent exactly what you are describing.

ctrl-alt-delete wrote:This is why we wanted a centralized database. I also wanted to put in the license that all quests could only be uploaded to one location, which would prevent exactly what you are describing.

I think that is a little strict. Honestly I don't think theft is a problem even if there are more than one or two or five QDBs out there. There will always be a connection and will all lead to here.

ctrl-alt-delete wrote:This is why we wanted a centralized database. I also wanted to put in the license that all quests could only be uploaded to one location, which would prevent exactly what you are describing.

I don't think this would make any difference. Someone willing to "steal" a ZC quest is surely also willing to ignore its license. Encouraging folks to upload their creations however, and otherwise join the community, is an excellent idea.

bobby_light wrote:I don't think this would make any difference. Someone willing to "steal" a ZC quest is surely also willing to ignore its license. Encouraging folks to upload their creations however, and otherwise join the community, is an excellent idea.

Hypothetically, if somebody stole a quest and took it somewhere else and the original creator discovered it, there wouldn't be much they could do to have it removed(because who owns quests is questionable at best). If the license said it couldn't be there, they could easily have it removed by contacting the host.

Obviously, we decided against the one upload place edit in the license, but it may still be a good idea to list certain places. Here, pzc, etc.

ctrl-alt-delete wrote:Hypothetically, if somebody stole a quest and took it somewhere else and the original creator discovered it, there wouldn't be much they could do to have it removed(because who owns quests is questionable at best). If the license said it couldn't be there, they could easily have it removed by contacting the host.

Obviously, we decided against the one upload place edit in the license, but it may still be a good idea to list certain places. Here, pzc, etc.

Of course keep in mind you folks are free to do whatever you want, I'm just feeling a little argumentative tonight 😊

Are you saying you folks have considered having the license extend to quests created with ZQ? If someone puts a *quest* on another web site, the license of *ZQuest/ZC* doesn't matter - unless you're saying that the ZC license will include a clause along the lines of "all quests created with this program can only be hosted on the following sites..." Having the license extend to products created with ZQ seems a little overbearing - other tools such as GameMaker (or compilers in general) never restrict what you can do with generated output.

Back on topic - I'd suggest the obvious choice of simply hosting on github. Beats hosting your own repository - you get failover, backups, etc. for free - and people can easily fork the project to contribute. As far as a build farm, I have no first-hand experience; they've always been administered by someone else. But that's always something you can look into later.