Hello everyone,
This is my first post on these forums, please forgive me if this isn't the best place to post this. Here's my story:
I'm both an adventure games fan and a software developer. My main area of interest in game development is on the engine side, not that much on scripting. So, being a GNU/Linux user it was discouraging to see this great software piece (AGS) being closed source, which limited the platforms where I could play the games (I'm not that interested in the editor myself). I read a long time ago that Chris didn't want to open source AGS, so I thought the only option would be to write an engine reimplementation myself, and that's what I started to do a few weeks ago. Of course I haven't made lots of progress (AGS is really large), but I keep progressing every day.
But now I've read Chris' first post on this thread and it seems there's some possibility things are going to change:
Things are starting to get interesting here. I support what Sslaxx said:
I don't consider myself a cracker since I don't want to do anything wrong with the game data: I just want to be able to play those games wherever I want
Just to give you a rough idea:
- I decoded/decrypted CLIB volumes versions 0xA to 0x15 and extracted their contents. (I haven't looked into .VOX files yet, but I think they are pretty similar)
- I have decoded the sprite sets (versions 4 to 6, including the compressed sprites) and the sprite index (versions 1 and 2).
- Right now I'm working on the room formats, hotspots, interactions and soon I'll have to start with scripts, since these parts are very dependent on each other.
- I have decoded some simpler things like the .WFN fonts and .TRA translations.
All of this has been done in about 3 weeks looking exclusively freeware games using AGS versions 2.3 to 3.1.2.
So the only reasons for keeping this code closed is to "protect" the game assets and disallow script decompilers? Why? Just so people can't reuse the assets on a new game and players can't find the puzzles' solutions? I think common sense should tell anyone not to use someone else's work without permission (and the copyright laws say so), and looking at the disassembled scripts just to solve puzzles is like using walkthroughs... it takes the fun away from the game.
Here's my suggestion: Remove those artificial complications from the base file formats and define a plugin API to create custom encryption/decryption methods (an alternative could be plugins for custom input/output wrapping of data, so one could use password-protected standard ZIP files or whatever he wants).
With that, there would be no more reasons to keep any part of the engine closed and it could be ported to every platform (not depending on one person having access to that platform), by default every game would be available on every platform (and I think that's what most fans want), and companies selling their games or people just not caring about others being able to play their game on "strange" platforms could add any obscure system to make the data unreadable.
In fact, if the engine and the editor were completely open-sourced, everyone could modify it to their needs, adding their custom encryption as deep as they want into the engine, or even changing the file formats. It would remove the need for the additional "encryption plugins".
All in all, my point is that open-sourcing the whole engine wouldn't necessarily be bad for any type of user, and keeping any part of the engine closed prevents the main advantage (for users, players) of it being open source: portability.
I think I'm talking about a different matter here, though. I'm talking about maintainability of already made releases, not about development of new releases, new features, etc. I wouldn't mind about a small team being the only ones with access to the development code until a release is made if you want to keep control over the engine direction.
I'd like to get an answer about this, because my work would be a waste of time if you later decide to open everything. I hope we can collaborate from now on
See you!
PS: Oh, and I'd REALLY love to see all possible versions open-sourced, not just the last one
It would even be fun if the first release you open-source is 1.0
This is my first post on these forums, please forgive me if this isn't the best place to post this. Here's my story:
I'm both an adventure games fan and a software developer. My main area of interest in game development is on the engine side, not that much on scripting. So, being a GNU/Linux user it was discouraging to see this great software piece (AGS) being closed source, which limited the platforms where I could play the games (I'm not that interested in the editor myself). I read a long time ago that Chris didn't want to open source AGS, so I thought the only option would be to write an engine reimplementation myself, and that's what I started to do a few weeks ago. Of course I haven't made lots of progress (AGS is really large), but I keep progressing every day.
But now I've read Chris' first post on this thread and it seems there's some possibility things are going to change:
Quote from: Pumaman on Sun 17/10/2010 19:17:16Another option is to open-source all the code, and hope that some sort of open source community takes over. But then I would completely lose control of it, and it's not certain that any open-source developers would want to continue developing it or taking it in the right direction anyway.
Quote from: Pumaman on Sun 17/10/2010 19:17:16If this works out well, then go on and open up the majority of the AGS Engine source code. I'm still not sure what to do about the code that handles the AGS file formats, because opening that up would make decompilers very easy to write. But that's a small amount of code in the grand scheme of things, and something we can discuss later on.
Things are starting to get interesting here. I support what Sslaxx said:
Quote from: Sslaxx on Sun 17/10/2010 19:34:19I'm surprised decompilers do not already exist for the file formats. Nothing's going to stop a committed cracker. Consider the effort it took, for example, to reverse-engineer the Z Machine (the Zip interpreter), or Ultima VII (or any of the others - projects like Exult and Pentagram). Frankly, you're probably just lucky.
I don't consider myself a cracker since I don't want to do anything wrong with the game data: I just want to be able to play those games wherever I want

Just to give you a rough idea:
- I decoded/decrypted CLIB volumes versions 0xA to 0x15 and extracted their contents. (I haven't looked into .VOX files yet, but I think they are pretty similar)
- I have decoded the sprite sets (versions 4 to 6, including the compressed sprites) and the sprite index (versions 1 and 2).
- Right now I'm working on the room formats, hotspots, interactions and soon I'll have to start with scripts, since these parts are very dependent on each other.
- I have decoded some simpler things like the .WFN fonts and .TRA translations.
All of this has been done in about 3 weeks looking exclusively freeware games using AGS versions 2.3 to 3.1.2.
So the only reasons for keeping this code closed is to "protect" the game assets and disallow script decompilers? Why? Just so people can't reuse the assets on a new game and players can't find the puzzles' solutions? I think common sense should tell anyone not to use someone else's work without permission (and the copyright laws say so), and looking at the disassembled scripts just to solve puzzles is like using walkthroughs... it takes the fun away from the game.
Here's my suggestion: Remove those artificial complications from the base file formats and define a plugin API to create custom encryption/decryption methods (an alternative could be plugins for custom input/output wrapping of data, so one could use password-protected standard ZIP files or whatever he wants).
With that, there would be no more reasons to keep any part of the engine closed and it could be ported to every platform (not depending on one person having access to that platform), by default every game would be available on every platform (and I think that's what most fans want), and companies selling their games or people just not caring about others being able to play their game on "strange" platforms could add any obscure system to make the data unreadable.
In fact, if the engine and the editor were completely open-sourced, everyone could modify it to their needs, adding their custom encryption as deep as they want into the engine, or even changing the file formats. It would remove the need for the additional "encryption plugins".
All in all, my point is that open-sourcing the whole engine wouldn't necessarily be bad for any type of user, and keeping any part of the engine closed prevents the main advantage (for users, players) of it being open source: portability.
I think I'm talking about a different matter here, though. I'm talking about maintainability of already made releases, not about development of new releases, new features, etc. I wouldn't mind about a small team being the only ones with access to the development code until a release is made if you want to keep control over the engine direction.
I'd like to get an answer about this, because my work would be a waste of time if you later decide to open everything. I hope we can collaborate from now on

See you!
PS: Oh, and I'd REALLY love to see all possible versions open-sourced, not just the last one

