Transfusion on Win32

The BloodSource campaign

Transfusion on Linux

Presentation

BloodSource was a campaign launched in August 1999 by Greg "\frightfan/" Enright to obtain the source code of Blood from its owners. Initially, it was supposed to be used for 3DFX/OpenGL support, but as Greg pointed out:
	Fixing the 3DFX patch is just the tip of the iceberg. Release of the
	source code would allow for great expansions of the game itself.
	
The Blood source code was the only missing part, since the BUILD source code (the engine Blood used) was released by its creator, Ken Silverman. Even the Watcom C compiler is free now.

During the campaign's lifetime, Greg obtained legal and technical information from various people, including officials from Monolith, 3D Realms and Infogrames, and Blood developers. Matt Saettler (Project Manager and Coder) and Nick Newhard (Game Designer) were particularly helpful in this quest and deserve a big thank.

The BloodSource campaign gave birth to the ReBUILD project in August 2000, which in turn gave birth to the Transfusion Project in March 2001 (known as qBlood at the beginning).

Greg stopped his work for the BloodSource campaign in February 2001 and passed the reins to Timothy Hale. Timothy announced the official end of the campaign in November 2001.

The history of Blood

The following lines were written by Greg Enright for the BloodSource website. We had to edit them a bit though since the URL of the official Blood website has changed and all the relevant press releases have been removed from Monolith's website since then.
  • January 2nd 1994: the BUILD engine is created by Ken Silverman. Actually, the development started years before that, but this is approximately when BUILD became close to what we know it as now. For a detailed history of the BUILD engine's development, Ken has laid it all out for you at his site: click here.

  • 1995 (approx): QStudios begins development of BLOOD, which would be the only horror game of its kind for years to come. BLOOD was to be published by GT Interactive Software.

  • January 22nd 1997: Monolith Productions acquires QStudios - and Blood of course, with GTI still holding publishing rights.

  • March 7th 1997: Shortly after the retail version shipped to stores, the Blood shareware version 1.0 is released at www.blood.com (now blood.lith.com)

  • April 2nd 1997: Monolith get Type O Negative video for Blood retail version.

  • April 8th 1997: One month after the internet shareware version is released, downloads have climbed to over 350000, with BLOOD consistently No.1 in all the Top Downloads lists.

  • August 21st 1997: the first official expansion pack, The Plasma Pak, is released.

Correspondence

You'll find below the most interesting email exchanges that Greg and other people have had with the various parties involved regarding Blood source code and intellectual property. Only very minor editing changes were made compared to the original copy which was published on the BloodSource website. In particular, the text of every message remains untouched.

Here is an email conversation between WKYA-Undertaker and GT Interactive Tech Support:

Date: May 25, 1999

WKYA-Undertaker: Hello, I am a big fan of the Build Engine, I was wondering, if you could release the source code, or if you could give me Ken Silvermen's email addy? I know alot of people from Blood, Shadow Warrior, and Duke Nukem 3D that would love to have the source code. In fact, if you release the source code, there would be plenty of good mods for Duke 3D, and Shadow Warior, which means you would sell more copies of both of the games. If you release the source code, I will be making a Paint Ball type MOD for all of the Build games.

GTI: Our license for the engine prevents us from releasing the code.
As to Ken Silvermen's email address, I do not have access to it, nor permissionto send it out if I were to know it.[obviously Mr.Undertaker found it on his own] Sorry.
Michael Caine
GTInteractive Technical Support


An email conversation between Frightfan and Joe Siegler of 3DRealms:

Date: August 13, 1999

Frightfan: I wish to know who I would talk to about the BUILD source code getting released (or not). Is it you?
Someone said "Scott Miller", but I don't know his email, and I found yours in the forum :)

Joe Siegler: There's really no one to talk to, because we're not releasing source code of any kind for Duke Nukem 3D, or the utilities.

Frightfan: ok... why not?
The reason I ask is because there is a great deal of support for the idea of releasing the source code for BLOOD, from Monolith Productions. They used the BUILD engine, so they can't release the source code without BUILD's owner's approval.
Who owns BUILD?

Joe Siegler: We own Build - and we're not interested in releasing any of it.

Frightfan: Does that mean that anyone who made a game using the BUILD engine can't release their source code?

Joe Siegler: (No response yet.)


Ever persistent, Frightfan tries 3DRealms again :)

Date: August 14, 1999

Frightfan: Id Software owns Doom, DooM II, Quake, Quake II, but they released their codes.
Monolith owns Blood 2, but they released their code.
Valve owns Half-Life, but they released their code.
... and each of those games continue to be popular amongst their fans because mod authors constantly breathe new life into those games.
So, where's the harm?
I dont understand... it can't be that much of a "hot property" anymore, can it?
I can appreciate the value Duke Nukem holds for your company, but, it isn't really Duke Nukem's source that I am interested in ( although I am sure many others would be... )
I just wanna know if Monolith can release Blood's source code... can you tell me that much? You see, they say they would do it, but want GTI to say that it's okay first. GTI, in turn, wants 3DR to say it's okay for them to *say* it's okay. Do you follow me?
I sincerely don't want to be a pest... but I have a site where I am campaigning for the release of the Blood Source Code. If you check it out, you will see that there are many ppl interested in this happening. the address is - http://members.xoom.com/frightfan/blood_source - and please: sign the GuestBook. It would be great to have someone from one of the involved companies in there :)
If you cannot tell me, could you point me in the direction of someone who could?


An Email exchange between Frightfan and Jason Hall,CEO of Monolith Productions:

Date: August 18, 1999

Frightfan: I seem to have lost an email reply you sent me...
It was regarding Monolith's stance on releasing the Blood Source Code.
I am aware that 3DRealms owns the BUILD(more on that in the next message exchange, chers), which presents a problem for you in this matter. But what if they agreed to allow it? Would you actually release the source then?

Jason Hall: GT Interactive controls the release of the Blood source.

Frightfan: Yeah, I know that, but you'd have to ask them, right? I mean, you'd be proposing it, right?
It's not like they're going to say "Hey, Jace, let's release the source code for Blood" anytime soon, is it? :)
All I really wanna know from you is this:
a) If GT said it would be ok, would you release the Blood-specific code?
b) If the owner/s of BUILD also said it would be ok, would you release the FULL source(blood AND build together)?

Jason Hall: Answers:
a) Sure.
b) We have never had the BUILD source.

Frightfan: I see.
a) So when you made Blood, you had the BUILD and that's it?
b) I thought Monolith made alterations to the BUILD for Blood - you couldn't have done that w/o the source, right?

Jason Hall: Answers:
a) Yep. Just the .OBJ code
b) Ken Silverman made some changes. We also overrode some functions to do neat things too.


An email conversation between Frightfan and Scott Miller, of 3DRealms:

Date: August 19th, 1999

Frightfan: I posted this on my site after exchanging a few emails with Joe Siegler on the possibility of getting the Blood Source Code released - since Blood was built on BUILD, I figured I had better talk to you guys about it, since you actually own that engine. So here is my argument...
----
[ see post from August 14th, 1999 to see what the argument was... ]
----
The reason I am sending you this, Mr. Miller, is that Mr.Siegler never wrote me back!! I have been waiting for a few days now. Is he gone on vacation, or did I somehow piss him off? If I did, I am sorry, but it seems like he misunderstood what I wanted from him. Now, for all I can tell, he is completely ignoring my email, and possibly not even glancing at it.
It's not like I am not a 3DRealms customer, either. As a purchaser of Duke Nukem and Shadow Warrior, I expected that he could be a little more patient with me, but... well here I am.
Now, I do not intend to smear 3DR on my site, I want to make that clear.
I am looking for a way to get the source code of my favourite game released, and I have to talk to you guys about it. I think if you go to my site, you will find that nowhere does it say that 3DR is anything other than an important player in this campaign.
Now, I know I have said a mouthful, but could you just lemme know if you would allow Monolith to, in any capacity, release their source code for Blood?

Scott Miller: The Build souce wasn't owned by us, it was licensed from the coder, Ken Silverman. He doesn't want to release it because he doesn't want to support it or be bothered with it, but it's 100% up to him to release it -- not 3DRealms.
As for the Blood source, that's Monolith's game and decision.

Frightfan: Okay, thank you very much for clearing that up!!!
Umm... you might want to inform Joe Siegler of those facts though - he told me, in no uncertain terms, that 3DRealms owned BUILD and that you guys were not in any way interested in releasing the source code. So... I am glad to hear that it isn't up to him! ;) jk
The whole reason I was talking about this Blood source stuff with 3DR(i always knew that Blood was not yours), was because Joe told me that 3DR owned the engine!
Now, for your opinion. Can Monolith/GT Interactive release the Blood source code without Ken's approval? If you'd rather not say, I'll understand. I intend to talk to Ken anyhow...

Scott Miller: They can release the Blood code that they wrote, but not the Build engine code without Ken's permission.

Frightfan: I suppose that the BLOOD code would be mostly useless without it's engine code thought wouldn't it?

Scott Miller: Correct, except for learning from.

Frightfan: Well thank you very much, Mr. Miller, for your time on this matter. I will post this conversation on my site today, and you will see your name on the credits page.


Here is my interview with Matt Saettler, Project Manager and Coder for Blood:

Date: Sept 16th, 1999

Frightfan: You said we would need the BUILD source to finish 3dfx's work on the patch. Does that mean that even if we don't use 3dfx's work as a base, we would actually need to modify the ENGINE itself? Forgive me if that sounds dumb, but I just wanna clear up any false hopes out there.

I actually asked him this question TWO times, so I will print both responses:
Matt Saettler:
1) Build IS the engine.
3DFX took the engine (build) source and modified it to talk directly to their cards instead of using VGA display buffer.. They never finished the changes (there's bugs, it only supports Voodoo1, etc).
If you want Blood (or any Build game) to support 3DFX directly, then you'll need the Build (engine) source to be able to modify it (like 3DFX did),
2)If you don't want to update BUILD to support anything new (like 3DFX card directly), then you don't need the source. There's very few things that the source code would let you add. The best thing I can think of is making it a Windows-compatible engine (drawing to DIBs instead of VGA screen buffers), so that the games can run natively in Windows. (ditto for Linux, etc)

Frightfan: As for the 3DR utilities used in Blood, what do they do? Do we need them for everything? (you mentioned sound). Could we still "mod away" without them?

Matt Saettler: I don't have the complete list in front of me.. There's the sound library for sure. You could not re-compile Blood ( nor Duke, NAM, or WW2GI ) without the object code to link to. So... No, you cannot "Mod away" without them.

Frightfan: I am having alot of trouble contacting people regarding this campaign.
- Ken Silverman, for one
- ANYONE at GT Interactive, for another.
- Scott Miller, at 3dRealms. He used to reply to me within the hour.... wonder what happened?
Are you able to get these ppl's attention better than I, by any chance?

Matt Saettler: I talked with Scott via email a couple of months ago about releasing WW2GI source and he was concerned about supporting it, among other things. Maybe that will change as time goes on.
The people I knew at GT have left. GT's staff has been pretty decimated by their lay-offs and lagging sales, etc.

Frightfan: Could you explain .OBJ code for those of us who don't know why we need *it*, and not the whole engine?

Matt Saettler: Source code compiles into .OBJ code (A .CPP file is compiled into .OBJ). The .OBJ code is combined in a process called Linking into an .EXE file (or a .DLL) that is the actual executable. In addition, a group of compiled .OBJ files can be combined into a Library (.LIB file). Most published interfaces are distributed as .LIB files. In Windows, .LIB files can also contain the references into the .DLL file for the application to use.

Frightfan: Do you know Claudia Schiffer's ph#?

Matt Saettler: I'm sure the Ken Silverman has it.... I think he put it into the BUILD source code as a comment.... :)


Great news from Scott Miller of, President of 3DRealms:

Date: Sept 25th, 1999

Frightfan: Matt Seattler, Project Manager and Coder for Blood, says:
IN ADDITION, you need permission from 3D Realms/Apogee for some of their utility libraries (sound). These are used in both Blood and DukeNukem.
So, it would seem that our conversations on Blood are not over:) I hope you don't mind me coming after you all the time about a game that isn't even YOURS.... :)

Scott Miller: Permission granted. :)

Frightfan: Thank you very much, the Blood fans love you for it:)
I am not sure what these shared utilities ARE exactly, but how do we go about getting/using them. Forgive my ignorance in this matter. I am just a guy who makes websites and a Blood fan, I know nothing about programming...
So, if you wouldn't mind telling me... can we use these utilities NOW? Or do we have to wait for the source code release to make any use of them?

Scott Miller: [ still awaiting reply ]


More from Matt Saettler:

Date: July 10th, 2000

Frightfan: Now that we have the BUILD source, is it possible to create a Win32 Blood without the Blood specific code?

Matt Saettler: It's possible for somebody to create a Windows version of Build. I'd talk to 3D Realms about making a Duke port to see if they'd be interested.

Frightfan: What would it solve to make a WinBUILD? That alone wouldn't equal WinBlood, or Win(insert BUILD game title here) would it?

Matt Saettler: Somebody is already trying. Saw message on the EDuke forum. (or was it 3D Realms's BUild forum?) One of those. That wouldn't equal WinBlood or WinDuke, But it should make it possible given the game source.

Frightfan: Should we wait until GT is persuaded to release the entire Blood source code?

Matt Saettler: Don't know about the Blood source from lith. I doubt they'll release it.

Frightfan: [Jason Hall] already said he would if it were up to him, but it isn't - it's GTI's game now.

Matt Saettler: Jace is wrong. I'm the one that negotiated the contracts. Jace probably doesn't even know what's really in them....

Frightfan: So, if I may assume: Monolith can just go ahead and release the source without any permission from GT?? Because I really believe that would change everything.

Matt Saettler: (awaiting answer)


Acknowledgments:
Blood is a trademark of Atari (formerly Infogrames).
This page is generously hosted by:
Get The Transfusion Project at SourceForge.net. Fast, secure and Free Open Source software downloads

Valid XHTML 1.1! Valid CSS!