Arcomage 0.3
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
Arcomage 0.3
Has anyone looked into the source code of the Arcomage clone by STiCK? It seems very promising to me. The clone itself is somewhat far from perfection, but it could be improved easily since we have access to the C code.
The thing that is the most interesting for me is the Cards.C file. It's very easy to understand and change, so it's possible to add any number of new cards to the available selection, such as those used in MArcomage. Also, the configuration can be easily implemented, at least in the INI level.
So, it would be fun to see an actual clone that works exactly the same as the original, but with online and deck support.
I guess I'll write to STiCK and ask if he's willing to continue development, and if not, I guess I could do some improvements myself. Is anyone else interested in it?
The thing that is the most interesting for me is the Cards.C file. It's very easy to understand and change, so it's possible to add any number of new cards to the available selection, such as those used in MArcomage. Also, the configuration can be easily implemented, at least in the INI level.
So, it would be fun to see an actual clone that works exactly the same as the original, but with online and deck support.
I guess I'll write to STiCK and ask if he's willing to continue development, and if not, I guess I could do some improvements myself. Is anyone else interested in it?
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
Just received some news - he said that I can do it and opened a GIT tree at http://gitorious.org/stick/arcomage - so if anyone else wants to join development, you're welcome It was also added to the OpenSUSE Games repository, so if you have OpenSUSE, you can download it at any time
I'm working on multiple sound support right now, let's see how it works, since I've never tried C programming and Git
I'm working on multiple sound support right now, let's see how it works, since I've never tried C programming and Git
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
I have one question - how do you extract sounds from the original Arcomage? It has a single "Sounds" file without an extension, and adding .snd doesn't make it readable by any LOD manipulation programs. When opened with a text editor, I can see the sound names (they seem to have an extension AIF), but I have no idea how to convert that into .wav...
Talking about the program, so far so good, it's now pretty much bug-free, but still lacks some features. I'm planning to add alternative deck support that anyone can contribute as mods, too And configuration will be integrated soon as well.
Here's my git with the latest commits:
http://gitorious.org/~greatemerald/stic ... s-arcomage
Talking about the program, so far so good, it's now pretty much bug-free, but still lacks some features. I'm planning to add alternative deck support that anyone can contribute as mods, too And configuration will be integrated soon as well.
Here's my git with the latest commits:
http://gitorious.org/~greatemerald/stic ... s-arcomage
There's also a multi-player arcomage: http://arcomage.netvor.sk/
My patches: MM6 MM7 MM8. MMExtension. Tools. Also, I love Knytt Stories and Knytt Underground. I'm also known as sergroj.
Sounds file format
Are you talking about the standalone Arcomage? I think I have that somewhere. If so, I can take a look at the Sounds file and see what might be required to read it. I'd be surprised if it was something difficult to do.GreatEmerald wrote:I have one question - how do you extract sounds from the original Arcomage? It has a single "Sounds" file without an extension, and adding .snd doesn't make it readable by any LOD manipulation programs. When opened with a text editor, I can see the sound names (they seem to have an extension AIF), but I have no idea how to convert that into .wav...
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
GrayFace, yes, I know that, and I'm planning to include some of the cards from MArcomage in this game.
mkienenb, yes, the standalone.
Also, a question to the public: if 3DO/NWC is bankrupt (and the original is considered abandonware since it was available at Underdogs and is now available at its remake sites like http://www.hotud.org/ ) , and we want to create a remake of Arcomage, is it OK to use original content? I can't seem to find any reliable information on that...
mkienenb, yes, the standalone.
Also, a question to the public: if 3DO/NWC is bankrupt (and the original is considered abandonware since it was available at Underdogs and is now available at its remake sites like http://www.hotud.org/ ) , and we want to create a remake of Arcomage, is it OK to use original content? I can't seem to find any reliable information on that...
peliminary analysis of format of Sounds
Well, it doesn't appear to be a lod file.
I think it's one sound file stored after another. I see nothing at the start of the file which would indicate where the next file starts other than the length I talk about below.
My guess is that the sound data entries are compressed, since compressing the entire Sound file doesn't shrink it much.
Here's what I did figure out. There's a 4-byte offset 0x10C bytes from the start of each file name that seems to give an approximate length of the compressed data for each size.
I compared the difference from one file name start to the next file name start, and they're always close enough. It's interesting that the difference between the computed length and the stored length is a multiple of 8 each time. I don't quite understand why the differences are variable, though.
For the last item:
0x00139474: defeat.aif
0x00139580: 00030300 (location after offset + value@offset = 169884)
169884 is exactly the end of the file.
So perhaps the way to interpret this is that (offset + 4 + value) is the location of the next file (or the size of the data to read).
I don't know if that's enough to get you started, but it's probably all the time I should be spending on it right now. All values in hex format.
first one is
0x000020: title.aif
0x00012C: 00068b80, diff between computed length: 118 smaller
computed length 68c98
2nd one is
0x068cb8: typing.aif
0x068dc4: 00008180, diff 148 smaller
computed length 82C8
3rd one is
0x070f80: shuffle.aif
0x07108C: 00004a72, diff 118 smaller
computed length 4B8A
4th one is
0x075b0a: deal.aif
0x075C16: 000025FO, diff 128 smaller
computed length 2718
5th one is
0x00078222: quarry up.aif
I think it's one sound file stored after another. I see nothing at the start of the file which would indicate where the next file starts other than the length I talk about below.
My guess is that the sound data entries are compressed, since compressing the entire Sound file doesn't shrink it much.
Here's what I did figure out. There's a 4-byte offset 0x10C bytes from the start of each file name that seems to give an approximate length of the compressed data for each size.
I compared the difference from one file name start to the next file name start, and they're always close enough. It's interesting that the difference between the computed length and the stored length is a multiple of 8 each time. I don't quite understand why the differences are variable, though.
For the last item:
0x00139474: defeat.aif
0x00139580: 00030300 (location after offset + value@offset = 169884)
169884 is exactly the end of the file.
So perhaps the way to interpret this is that (offset + 4 + value) is the location of the next file (or the size of the data to read).
I don't know if that's enough to get you started, but it's probably all the time I should be spending on it right now. All values in hex format.
first one is
0x000020: title.aif
0x00012C: 00068b80, diff between computed length: 118 smaller
computed length 68c98
2nd one is
0x068cb8: typing.aif
0x068dc4: 00008180, diff 148 smaller
computed length 82C8
3rd one is
0x070f80: shuffle.aif
0x07108C: 00004a72, diff 118 smaller
computed length 4B8A
4th one is
0x075b0a: deal.aif
0x075C16: 000025FO, diff 128 smaller
computed length 2718
5th one is
0x00078222: quarry up.aif
big endian
I forgot to mention that the data seems to be in big endian format, which is unusual for pc software, but the standard for an AIF file:
http://muratnkonar.com/aiff/index.html
http://muratnkonar.com/aiff/index.html
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
The answer to your legal question is no.
You make a some wrong assumptions.
"abandonware" is not a legal state. Something being available at Underdogs doesn't make it fair game.
In the US, copyright law extends for 50 years + extensions, which for all practical purposes these days is forever. This is due to loopholes in the copyright law which allow entities to extend things far beyond the lifetime of the creator.
So the answer is that it will never be ok to use the original content for your own purposes without the permission of the current copyright holder (probably Ubisoft right now, but who really knows?)
Redesigning something from scratch can be legal -- depends on the exact circumstances.
You make a some wrong assumptions.
"abandonware" is not a legal state. Something being available at Underdogs doesn't make it fair game.
In the US, copyright law extends for 50 years + extensions, which for all practical purposes these days is forever. This is due to loopholes in the copyright law which allow entities to extend things far beyond the lifetime of the creator.
So the answer is that it will never be ok to use the original content for your own purposes without the permission of the current copyright holder (probably Ubisoft right now, but who really knows?)
Redesigning something from scratch can be legal -- depends on the exact circumstances.
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
About the legal issues - I was wondering whether someone could be up to the task to create alternative textures for things like the tower, back of the cards etc. so there would be no more stock content used in the clone (but I will include a config option to add your Arcomage installation dir/extracted bitmap and use the source files from there, so if you already own Arcomage or MM7/8, you will be able to use the stock graphics).
So if someone was up to the task to improve the graphics, it would be of much help and might end up looking even better than the original. Same goes for sounds.
On a side note, I'm still working on this (have had shelved it for a while, but I don't leave my projects unfinished), and right now I think I've solved most of the remaining bugs, such as the "discard a card" cards doing nothing and implemented correct card rarity and card shuffling. You can build it yourselves from the Git tree if you wish, or wait for the release of the binaries.
So if someone was up to the task to improve the graphics, it would be of much help and might end up looking even better than the original. Same goes for sounds.
On a side note, I'm still working on this (have had shelved it for a while, but I don't leave my projects unfinished), and right now I think I've solved most of the remaining bugs, such as the "discard a card" cards doing nothing and implemented correct card rarity and card shuffling. You can build it yourselves from the Git tree if you wish, or wait for the release of the binaries.
I almost choked. Didnt expect to see a link to a page from my country in here:oGrayFace wrote:There's also a multi-player arcomage: http://arcomage.netvor.sk/
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
This is my current branch:
http://gitorious.org/~greatemerald/stic ... s-arcomage
Press "Source Tree", then "Download master as tar.gz". Note that there are a few missing dependencies, I'm committing them now.
EDIT: Done, should compile now.
http://gitorious.org/~greatemerald/stic ... s-arcomage
Press "Source Tree", then "Download master as tar.gz". Note that there are a few missing dependencies, I'm committing them now.
EDIT: Done, should compile now.
-
- Peasant
- Posts: 60
- Joined: 02 May 2007
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
- GreatEmerald
- CH Staff
- Posts: 3330
- Joined: 24 Jul 2009
- Location: Netherlands
All right, here you go:
http://greatemerald.xmpcommunity.com/in ... clone.html
Gee, I really need to work on that configuration support :\
http://greatemerald.xmpcommunity.com/in ... clone.html
Gee, I really need to work on that configuration support :\
Who is online
Users browsing this forum: No registered users and 5 guests