D3 source Code speculation

Feedback for the Outrage Entertainment D3 dev team members - bug reports, patch issues, your raves (or rants).
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

D3 source Code speculation

Post by Duper » Thu Nov 26, 2009 12:01 pm

ok, here ya go.

iirc, the whole Descent thing is mired in legal bog as each party owns a piece. I think that there is much chance of code being released as there is a chance of us being allowed making a D4.
User avatar
CDN_Merlin
DBB_Master
DBB_Master
Posts: 9486
Joined: Thu Nov 05, 1998 12:01 pm
Location: Capital Of Canada

Post by CDN_Merlin » Thu Nov 26, 2009 12:06 pm

We can always hope.
S13driftAZ
DBB Ace
DBB Ace
Posts: 402
Joined: Tue Oct 06, 2009 1:54 pm

Post by S13driftAZ » Thu Nov 26, 2009 11:32 pm

Forgive my absence of programming knowledge :), but why not use a different engine (unreal) and build a Descent from there?
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

Post by Duper » Fri Nov 27, 2009 1:00 am

there have been several \"tries\" over the years. But the reality is it take more than 1 to 4 persons to put a game together like this. D3 alone has over 1000 unique textures and about the same amount of sound files.
S13driftAZ
DBB Ace
DBB Ace
Posts: 402
Joined: Tue Oct 06, 2009 1:54 pm

Re:

Post by S13driftAZ » Fri Nov 27, 2009 1:33 am

Duper wrote: D3 alone has over 1000 unique textures and about the same amount of sound files.
Does it need that many to be devoloped?
User avatar
Aus-RED-5
DBB Friend
DBB Friend
Posts: 1604
Joined: Fri Apr 23, 2004 7:27 am
Location: Adelaide, South Australia
Contact:

Post by Aus-RED-5 » Fri Nov 27, 2009 4:43 am

Into Cerberon started off really well, but the dev has staled and pretty much died.

Such a shame it had no real joystick support. :(
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

Re:

Post by Duper » Fri Nov 27, 2009 4:49 am

S13driftAZ wrote:
Duper wrote: D3 alone has over 1000 unique textures and about the same amount of sound files.
Does it need that many to be devoloped?
remember that a game isn't just 10 or 20 textures slapped on walls. Go through D3 single player and actually notice the detail. This also includes the textures on ALL the bots. The firing animation for the Mass driver has 3 animated textures alone just to get the effect you see when you fire it. And that's just the player's view point not to mention the animation seen by other players.

So to answer your question, for a complete polished game, yes. At Least that many.
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

Re:

Post by Duper » Fri Nov 27, 2009 4:51 am

Aus-RED-5 wrote:Into Cerberon started off really well, but the dev has staled and pretty much died.

Such a shame it had no real joystick support. :(
That's because it didn't really exist in the Doom 3 engine. the DirectX tags were there, but no real support. And yea. like most efforts, folks get burned out or life takes priority. they worked hard on it for over a year. Some coding issues got the better of them and real life did eventually catch up. :\\
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 15183
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Post by Krom » Fri Nov 27, 2009 8:33 am

Forget the textures, there are also models, sounds, AI, input handling, physics, level design, scripting weapons, etc. What you see in the end is only a small portion of the guts of a video game, porting something to another engine would require years of work to accomplish.
S13driftAZ
DBB Ace
DBB Ace
Posts: 402
Joined: Tue Oct 06, 2009 1:54 pm

Post by S13driftAZ » Fri Nov 27, 2009 4:03 pm

Anyways, regarding D3's source code, its been ten years already. Ive read in a thread somewhere that copyrights cease to protect engines and other crap after ten years. You can see where I'm going with this...
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 15183
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Post by Krom » Fri Nov 27, 2009 4:52 pm

Try 28 years there S13... Which automatically renews to 67 years.

Quite often an actual copyright can last \"The life of the author(s) + 70 years\".
D.Cent
DBB Ace
DBB Ace
Posts: 53
Joined: Wed Nov 22, 2006 1:50 pm
Location: Schwieberdingen (Germany)
Contact:

Post by D.Cent » Fri Nov 27, 2009 4:56 pm

I don't think the original authors would actually care - the only problem is that you can't ask them since there's no working mail-address.
S13driftAZ
DBB Ace
DBB Ace
Posts: 402
Joined: Tue Oct 06, 2009 1:54 pm

Re:

Post by S13driftAZ » Fri Nov 27, 2009 5:04 pm

Krom wrote:Try 28 years there S13... Which automatically renews to 67 years.
"The life of the author(s) + 70 years".
Huh? I don't understand
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Fri Nov 27, 2009 5:15 pm

Copyrights for D3 will not expire any time soon. Probably not in my lifetime.

I don't think the problem is the lack of a mailing address either. I know how to reach the people who own some of the rights. That's the problem, there are very many different entities involved. What's left of Interplay, Parallax, Outrage Entertainment, even Apogee have a stake in different parts of D3. I think that Matt Toschlog probably has the rights to do whatever he wants with the D3 source, but not the name \"Descent\" or the game data (levels, etc.) I don't think he can make or authorize a new Descent game without the above mentioned entities being involved.
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 15183
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Re:

Post by Krom » Fri Nov 27, 2009 5:39 pm

S13driftAZ wrote:Huh? I don't understand
http://inventors.about.com/od/copyright ... ration.htm
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

Post by Duper » Fri Nov 27, 2009 5:40 pm

Quite right Kevin.

Valin Halcyon and his team ran into that and numerous disagreements many years ago when they embarked on a new installment of Descent. They were endeavoring to create a marketable game, not a conversion mod. It was this problem that killed the project dead. There were small \"in house\" disagreements, but this was a definitive issue.

Interplay as a new installment of Descent on their \"to do\" list, but it will be some years before or IF we see anything. They are barely able to make ends meet. The whole Fallout MMO thing is turning out to be a bit of financial fiasco.

Does anyone have the link to Valin's explanation as to why the project was ended and the difficulties they encountered?
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Re:

Post by Thomas01 » Fri Nov 27, 2009 6:33 pm

Kevin Bentley wrote:Copyrights for D3 will not expire any time soon. Probably not in my lifetime.

I don't think the problem is the lack of a mailing address either. I know how to reach the people who own some of the rights. That's the problem, there are very many different entities involved. What's left of Interplay, Parallax, Outrage Entertainment, even Apogee have a stake in different parts of D3. I think that Matt Toschlog probably has the rights to do whatever he wants with the D3 source, but not the name "Descent" or the game data (levels, etc.) I don't think he can make or authorize a new Descent game without the above mentioned entities being involved.
Then maybe it's time to ask what this unexpected new activity on D3 is for?

If you complete your task of fixing some (or all) current bugs, make all OS versions compatible, have a properly working patch (let's call it 1.6 for now), will the world see it and be allowed to see it without any copyright infringements?

I know I should have probably made this a PM, but I think that's too important to not discuss it in public. Considering that I'm providing a complete (half-way illegal) download for the game, it goes without saying that these things worry me a bit. ;-)
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Fri Nov 27, 2009 6:45 pm

The work I'm doing now is simply a continuation of the 1.5 patch I was working on after I left Outrage. It's something I was working on for free as a benefit to the community and with the blessing of Outrage. I don't know if we will ever get official approval to release the patch, but I don't think anyone will complain if we release it without official approval.
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Fri Nov 27, 2009 6:48 pm

I should add that legally distributing a binary patch of the game is different than distributing a full copy of the game -- and that is different from distributing source. I don't want to give the impression that because we're working on a patch that copying the game without buying it is ok.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re:

Post by Grendel » Fri Nov 27, 2009 6:59 pm

Kevin Bentley wrote:I think that Matt Toschlog probably has the rights to do whatever he wants with the D3 source, but not the name "Descent" or the game data (levels, etc.)
Correct.

In the last email I got from him in '05,
Matt Toschlog wrote:As far as releasing the source code, my thought was to get the "final" patch out and then release the code.

I'll talk to Kevin and see if he and I can get it together enough to get this thing finished.
You definately need to talk to him.. ;)

If the code gets released, I'd suggest to release it as an SVN repository on bitbucket or sourceforge to prevent a version mess.
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Post by Thomas01 » Fri Nov 27, 2009 7:16 pm

Kevin,

I appreciate both your statements. I do not distribute a full copy of the game without people confirming first that they own a legal copy themselves (for that very reason).

Logically, this is a contradiction, because you can't currently buy any legal copy of Descent 3 that runs on Vista or Windows 7 by default, although some packages claim this (they should all be hanged, drawn, and quartered for that stupid claim).

If you go for that patch and the risk of getting in trouble, I won't be the only one who's behind you.
S13driftAZ
DBB Ace
DBB Ace
Posts: 402
Joined: Tue Oct 06, 2009 1:54 pm

Re:

Post by S13driftAZ » Sat Nov 28, 2009 1:24 pm

Thomas01 wrote:you can't currently buy any legal copy of Descent 3 that runs on Vista or Windows 7 by default
Are you sure about this? :|
Cause my pops plays it fine on his Vista PC, the first time he installed it.
User avatar
Zantor
DBB Ace
DBB Ace
Posts: 453
Joined: Sat May 28, 2005 2:43 pm
Location: Midwest United States
Contact:

Re:

Post by Zantor » Sat Nov 28, 2009 1:36 pm

S13driftAZ wrote:
Thomas01 wrote:you can't currently buy any legal copy of Descent 3 that runs on Vista or Windows 7 by default
Are you sure about this? :|
Cause my pops plays it fine on his Vista PC, the first time he installed it.
If I recall correctly, I was able to get D3 to run in the Win7 RC back in June. It ran fine, albeit a little unstable thanks to the then beta drivers.
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Post by Thomas01 » Sat Nov 28, 2009 2:16 pm

Try it without admin rights and UAC on - and without compatibility mode. That's why I said *by default*.
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

Post by Duper » Sat Nov 28, 2009 3:23 pm

That's silly. It's why Vista and Windows 7 were made \"reverse compatable\". If you noticed, the win95.exe in D2 never worked ... or at least for very few. And what about the voodoo patch for 3DFX cards? Tweeking your system has always been a part of Descent.... always. And those were all legal copies.

Let's drop this. It's pointless.
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Sat Nov 28, 2009 6:42 pm

Someone should write an installer that can extract the files from the original CD onto linux/windows/osx and apply the patches on top. Then there would be no problems distributing the installer and anyone could use the CDs.

Just an idea....
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Post by Thomas01 » Sat Nov 28, 2009 7:31 pm

Yes, the idea is not bad, but I think not doable.

There are too many different CDs and language versions around. The GOG version doesn't come with a CD and needs to be extracted/installed first before it can be verified or copied. Several files are different in all versions, hence would require a separate patch.

The next idea we had was to provide all files, but verify against a (legal) source, for instance check the existence of a CD or installation. But this turned out to be too complicated and prone to errors, let alone the requirement to change the CDs several times.

On Windows, D3 uses an old version of InstallShield while Mercenary uses an old version of Inno Setup. I was not able to find appropriate software to unpack the cab files (yeah, I found something in the end, but that was more like a bodge, basically a wrapper for that InstallShield version). After the nightmare with Windows I didn't even bother to look at Linux.
User avatar
Floyd
DBB Captain
DBB Captain
Posts: 561
Joined: Sat Apr 26, 2003 2:01 am
Location: Germany
Contact:

Re:

Post by Floyd » Sun Nov 29, 2009 4:56 am

Thomas01 wrote:Yes, the idea is not bad, but I think not doable.

There are too many different CDs and language versions around.
you mean these? if an insider, who knew the structures of the files, would give you the info on how to extract them, i sure see it's possible. if i only knew who to ask :P
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Sun Nov 29, 2009 8:17 am

As far as I remember Merc uses a custom installer I wrote in MFC. I've still got the source for it...unfortunately my CD is bad so I can't verify that right now (It's possible we started off that way and changed our plan, but I remember writing the installer).
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Re:

Post by Thomas01 » Sun Nov 29, 2009 9:58 am

Floyd wrote:if an insider, who knew the structures of the files, would give you the info on how to extract them, i sure see it's possible. if i only knew who to ask :P
They are InstallShield cabinet files, so no real secret, but obviously incompatible with newer versions of the software.

Anyway, even if there was a straight forward way to extract them, what would this give us?

Descent 3 comes on 3 medias. So you go and download an installer for a patch, then insert one CD after another because this installer keeps asking you for them. ;-)
Although the autostart could be prevented by the software, it's still a terrible PITA.

The GOG version would require downloading and unpacking too to be checked. In that case it's technically pretty simple, because this is just an Inno Setup package as well. But I reckon the pilots wouldn't want to spend several hours installing it. ;)
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Re:

Post by Thomas01 » Sun Nov 29, 2009 10:06 am

Kevin Bentley wrote:As far as I remember Merc uses a custom installer I wrote in MFC. I've still got the source for it...unfortunately my CD is bad so I can't verify that right now (It's possible we started off that way and changed our plan, but I remember writing the installer).
I just checked, yes, it's a custom made executable.

I thought this is what older Inno Setup versions looked like, because of that uninsxxx.* file that's required for Mercenary to work.

How many different versions of Mercenary are available?
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Post by Thomas01 » Sun Nov 29, 2009 10:14 am

The files are called IsUninst.exe and unmerc.exe, not uninstxxx.*.
User avatar
Floyd
DBB Captain
DBB Captain
Posts: 561
Joined: Sat Apr 26, 2003 2:01 am
Location: Germany
Contact:

Re:

Post by Floyd » Sun Nov 29, 2009 10:25 am

Thomas01 wrote:Descent 3 comes on 3 medias. So you go and download an installer for a patch, then insert one CD after another because this installer keeps asking you for them. ;-)
Although the autostart could be prevented by the software, it's still a terrible PITA.

...

But I reckon the pilots wouldn't want to spend several hours installing it.
first a default installation is impossible on vista and win7. then you dismiss a possible solution presented by the author himself that "is not doable". then you are presented with ideas to solve the problem. now the common way to install the game is a PITA, because there are 3 CDs, that would "take hours" of installing (pfft, come on!). i don't see a problem there, and noone has until now you made it up. people already have put effort into this game way beyond changing 3 CDs.

it's as easy: download the patch, start it. "please insert disc 1 ... disc2 ... disc 3". done in 20 minutes.
what do you want?
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Sun Nov 29, 2009 10:33 am

I still have all the scripts that went into building the installers so I could help figure out what files to extract.

My point is that a simple to use installer for each platform that could extract the game files from any version of the CD would be nice for all the people who have the CDs. I just ordered a D3 + Merc jewel case from Amazon for $15 with free shipping -- if there was a easy way to install that on any platform with the 1.5 patch that would be huge IMO. If someone wanted to pursue that I would be glad to assist.

I just looked at the code that makes the package files used by the merc installer, it is a very simple format (similar to a hog, only meant for sequential reading). I can provide that info to anyone who wants to write an installer.
User avatar
Floyd
DBB Captain
DBB Captain
Posts: 561
Joined: Sat Apr 26, 2003 2:01 am
Location: Germany
Contact:

Post by Floyd » Sun Nov 29, 2009 10:38 am

this is great news Kevin, i'll post it on our newsforum: http://www.descentforum.de/forum/viewforum.php?f=41
thank you :)
Kevin Bentley
DBB Friend
DBB Friend
Posts: 412
Joined: Thu Nov 05, 1998 12:01 pm
Location: Boise, ID, USA
Contact:

Post by Kevin Bentley » Sun Nov 29, 2009 11:07 am

By the way, D3 is now working on an powerbook G4 (less movies, streaming audio, and netgame checksums). I get 60+fps and it looks really nice on an old powerbook I bought for $200. I have played a 4 way game with linux, windows, ppx osx and x86 osx with the checksum code disabled and it played nicely.

Jeff is working on streaming audio, and I'm working on checksums, then I'll work on movies.

I've also written a new net game connection model I started working on for D2X-XL that I'm adding support to D3 for. It basically is a broadcast server so you play direct TCP/IP, but you will see games of other people across the internet if they are logged on the same broadcast server as you. It's a real simple approach that basically works like a TCP/IP Kali. It's just going to be another option, you won't be forced to use it.

I've been fighting the checksums still. The problems come down to differences in how the CPU handles internal precision on single precision floats. Part of the problem is that it's a homegrown checksum, so there's lots of bit shifting and multiplying going on and with different internal precision models you get different results.

So I'm implementing a new checksum approach entirely. The new model uses MD5, and will get rid of all the internal bit shifting and multiplying.

I'm headed to a conference in Orlando today and I'll be gone all week. So I'm not sure how much progress I'll make in the coming week, but I'm bringing two laptops along so I can try to squeeze some D3 work in. I will be checking back here and my email though.

-Kevin
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 15183
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Post by Krom » Sun Nov 29, 2009 11:16 am

Don't overwork yourself, better to do it at a comfortable pace to keep the quality up. I don't think anyone here is in any particular rush, it'll be done when its done. :)
User avatar
NUMBERZero
DBB Ace
DBB Ace
Posts: 288
Joined: Tue Sep 08, 2009 3:12 pm
Location: Florida
Contact:

Post by NUMBERZero » Sun Nov 29, 2009 1:31 pm

I second the no rush even though it has been 10 years. :P
\"PUT THE BALL INNNNNN!!!!!!\"--What I was screaming on 3/7/09 PD Reunion Monsterball game
Descent 3 Anarchy: \"Just you, your ship, and a whole bunch of weapons to turn your enemies into slag.\"--TopGun
Thomas01
DBB Ace
DBB Ace
Posts: 67
Joined: Sat Nov 15, 2008 10:27 pm
Contact:

Re:

Post by Thomas01 » Sun Nov 29, 2009 3:20 pm

Kevin Bentley wrote:I still have all the scripts that went into building the installers so I could help figure out what files to extract.
I don't think the scripts are required for this task, but certainly can be handy. You yourself should be able to tell which files your patch needs. ;)
Kevin Bentley wrote:My point is that a simple to use installer for each platform that could extract the game files from any version of the CD would be nice for all the people who have the CDs.
That wouldn't be just nice - that'd be a dream!

Kevin Bentley wrote:I just looked at the code that makes the package files used by the merc installer, it is a very simple format (similar to a hog, only meant for sequential reading). I can provide that info to anyone who wants to write an installer.
I guess that solves the Mercenary issue.

I just found this, but didn't have a closer look yet:
http://www.synce.org/oldwiki/index.php/Unshield

That could solve the issue with the cab files from the D3 CDs, which means in theory that you could get your files. ;)

From how I understand your posts so far, you're not planning to release a "real" patch, right?

You're instead planning to release a complete functional multi-platform Descent 3 but without the data files, very similar to the DX or Rebirth versions. Is that correct?

If that's the case this changes the whole process quite a lot.
D.Cent
DBB Ace
DBB Ace
Posts: 53
Joined: Wed Nov 22, 2006 1:50 pm
Location: Schwieberdingen (Germany)
Contact:

Post by D.Cent » Sun Nov 29, 2009 3:50 pm

Well, actually installing the files shouldn't be too hard (I also had a look at \"unshield\"), but I actually don't think we can get it to work with every platform (a program which uses the same source code for all platforms won't be possible).

As I see, all you need to locate on a Windows D3 CD is the \"data1.cab\" file, extract it, and then copy the rest of the needed files from CD1 & 2 to the target directory. After that comes patching ... etc.

As of now I could try writing such a program, but I only have Win XP on a virtual machine and I am not sure if that will run correctly on Vista/7.
For Linux: the installer is still working and there's also a Mercenary installer by Loki, but it's all a bit difficult to use - writing an installer should be easier than for Windows, so I could do that as well.
For Mac: I don't have any Macs here and I have absolutely no knowledge about it.

If I should do anything, I would use C++, using Qt4 for the GUI, because it's Linux/Mac/Windows compatible.

EDIT: I've made an installation program for Linux now and it was really easy. Everything's working except for Mercenary and patching, which will be added when 1.5 is ready. The next days I will port the program to Windows. Screenshot from Linux is here: http://intelcentino.in.funpic.de/upload/d3installer.png (but note, this is not final)
Locked