Hi, my name is Anthony "madcow" Cowley. I've been working on a number of TC's recently, namely Terra 219. I've made a replacement for light.exe that implements radiosity based lighting with limited colored lighting effects too. I've also begun work on my own 3d engine. The new site is http://madcow.telefragged.com. I'd appreciate you checking it out, and mentioning it on your site.Brian Hook .plan updates - Slipgate
Thanks,
madcow
September 18, 1997 (late day, part 4)Paul Steed contest info - Slipgate
-----------------
John came in here and clarified that all of our code is 64-bit pointer safe and "just works" on systems with 64-bit default pointer sizes.
September 18, 1997 (late day, part 3)
-----------------
A few clarifications and corrections:
1. Actually, the code dump we're giving out is NOT to licensees, it's to folks like Zoid who are trying to help us get Quake2 out the door. I was confused on this one, and my apologies to anyone who read that and freaked out.
2. We use GDI for windowed rendering since it's a very safe fallback -- there is no guarantee that DDraw is functional, even if installed, on someone's system.
3. We don't use typedefs for things like char, int, etc. because we're not porting between platforms with different fundamental type sizes. Every platform we work on uses 32-integers, 16-bit shorts, 8-bit chars, and 32-bit pointers. Sure, it would be a little cleaner and nicer in the future if did:
typedef char qchar_t;
typedef int qint_t;
// etc. etc.
But that's not the way Quake is structured right now.
9/18/97He updated again later on to add:
Contest clarification:
1. Only women can be dressed up like the crackwhore model
2. The Crackwhore Clan is cool with this contest and is willing to help me judge the final entries and pick out one of the prizes (if they don't win that is)
3. I encourage all you Quake chicks to enter
4. This is not a thinly veiled attempt to get some pics of beautiful and/or scantily clad women - it's an entirely BLATANT attempt to get some pics of beautiful and/or scantily clad women
5. I want to reiterate that absolutely no pics of miners will be accepted
6. The Crackwhore that is to be copied is not the female monster version, just the red-haired, biker hat model
C'mon, c'mon! Holloween isn't too far away, let's get those sewing machines a hummin' and those pics a comin'! WhooHoo!
ps
9/18/97dll.quake2.com - Slipgate
Umm. I was trying to be funny with points #4 and #5 in my post earlier. If you have read my posts before then you should realize by now that aside from my authentically wrong usage of "illicit" instead of "elicit" in an earlier post, my command of the English language is pretty decent. Misspellings are intentional as are any facetious, asinine or otherwise smart-ass statements in my plan. I appreciate the attention, though. Now go get that PICTURE!
ps
We've added a new Lesson, plus have made some new additions and links. We aim to finish our C and C++ tutorials by the time Quake II is released, and then be able to start straight away on the "good stuff". :)Brian Hook .plan updates - Slipgate
So we got these new drivers for the PowerVR PCX2 and, uh, like, they rock.Disruptor .plan update - Slipgate
The PCX2 is easily the no-brainer purchase for GLQuake for the price. The triple buffering really makes a difference, and their performance is really really good, we're getting 29.1 fps WITH 24-BIT COLOR. No weird dithering artifacts. No tearing.
There are some glitches with its filtering, but hopefully that will be resolved soon enough.
Oh, and the new driver seems to sorta-kinda work with Quake2. There are some visual glitches, but other than that it's pretty damn fast, possibly faster than Voodoo in many areas.
Remember way back when you first saw the Cyberdemon in DOOM and shit your pants?Tokay's contest - Slipgate
Paul Steed just handed me the charachter frame sheet for the first boss you encounter in Quake II. I'm overjoyed! I'll be busy getting his frames into the game right after I finish this update, and I'll test him out in his level later this morning (Read: I'm not going to sleep until I have him running around in the level =)
I think you all are going to learn to hate me after you face the first boss in his level =) I went completely nuts designing the level and it's stats are 1067 brushes and *1878 ENTITIES!* Yep =) More entities than brushes.
You'll just have to wait and see why =)
American brought in the first batch of the sound effects he concocted for Q2 and we're busy sprucing up our maps with ambience and adding sounds to moving machinery. It's really starting to feel like a complete world.
One of the nice things about Q2, is that trains can now trigger events when they hit path_corners (John Cash is our hero. Really!), so for one of the water pumps in one of my maps, I made it play a sloshing sound every time the pump was in it's extended position. It really makes a big difference.
Oh well, enough rambling for now. Back to work.
Hi, I just recently bought the October issue of PC Gamer, and from what I read, it said there will be cutscenes in Quake 2 that pops up from time to time. Since Quake 2 only need the CD in the CD-ROM to start with, do you need it in the drive when cutscenes comes up, or are the scenes copied directly to the hard drive when you first install it?
You will be able to install it either way.
John Carmack
Work, work, work. We're in the home stretch. New features are now officially a no-no (translation: it had better be a great idea at this point). The programming "to do" list fits on one ream of paper now ;-) Really only a couple of things left to implement and then we get to spend the rest of the time until release in bug fix land. Happy, happy, joy, joy. I got loopy the other night and added in ladders; kinda fun.Paul Steed's contest - Slipgate
9/17/97Brian Hook .plan update - Slipgate
CONTEST TIME
I've decided if Tokay can have a contest then so can I. I want to launch a Q2/Steed Crackwhore contest. The rules are simple:
1. Send me a picture of someone dressed up like the Q2 Crackwhore model based on the spec sheet I sent to Redwood which is posted on his site.
2. The winner would be the picture which I feel is the closest representation of the model and her animations.
3. The prizes include a signed copy of Quake2, a cool Q2 shirt, and some Victoria Secret lingerie picked out by yours truly.
4. Pics can be e-mailed or sent to me via regular mail at:
id Software
18601 LBJ Fwy, Ste. 666
Mesquite, Tx 75150
5. No pics of anyone under 18, please.
6. Contest ends the day the game ships.
7. The Crackwhore clan isn't involved or responsible for this (unless they want to be).
Really. I'll post something of substance soon. I swear!
ps
September 17, 1997GeorgeB - Slipgate
-----------------
A couple folks pointed out that the WINAPI calling convention is only PASCAL under Win16. Under Win32 it's defined as __stdcall, which is some really weird and bizarre calling convention that confuses me so much I won't bother trying to explain its parameter passing and stack cleanup conventions.
Ran GLQuake for the Macintosh on a 7600/120 with the 3Dfx Voodoo-based Power3D board from Techworks and got a TIMEDEMO DEMO1 of 21.2fps. Not bad.
I have a small question which I am sure many people will find interesting. According to all the screenshots in Quake2, the weapon is being held in the righter side. In Quake,the rocket was directly in front so Rocket Jumps just simple ones were easy to do.But in Quake2 the weapon is not right in the front, will we have to aim to the right or something to Rocket Jump or Missile Jump or whatever? Or will the jum will be the same as Quake? Becuase physically I can not aim the gun from the right and rocket jump forward. I would appreciate a reply.200,000 achieved - Slipgate
Rocket jumping should be mostly the same. The weapon placement toward the right will have no bearing on your rocket jumping orientation.
-Xian
We have a 3com backbone and 2-3 servers from microdirect (they're awesome) so now we need some sponsors willing to give up some money.. and we need a good name.. So hey what better way to find a name then ask the quake community...help me out guys..:)Report & new screenshot? - Slipgate
September 16, 1997
-----------------
The coding lesson for today:
When creating a function pointer, use the definition in the header file, NOT the definition in the help file.
Since we can't assume the existence of DDRAW.DLL on a system, we do the following:
DDRAWCREATEPTR ddcp;
ddcp = ( DDRAWCREATEPTR ) GetProcAddress( hinstDDRAW, "DirectDrawCreate");
Then we call "ddcp" later.
This worked fine in the debug build, but when I did a release build all of a sudden I was jumping to address 0x00000000 when I returned from the routine that called "ddcp".
This usually means that your stack is being hosed, so I isolated which routine was hosing the stack, and it happened to be the call to "ddcp". Hmmm. I played around with it some, and I thought that maybe I casted the DDRAWCREATEPTR to an incorrect value.
So I load help, and it says that DirectDrawCreate is:
HRESULT DirectDrawCreate( LPGUID FAR *, LPDIRECTDRAW FAR *, IUnknown FAR * );
I looked at "ddcp", and it was the same thing.
Hmmmm.
So on a hunch I look in DDRAW.H, and the function prototype was _almost_ the same:
HRESULT WINAPI DirectDrawCreate( LPGUID FAR *, LPDIRECTDRAW FAR *, IUnknown FAR * );
Well now, that's interesting! WINAPI means "use the Windows API calling convention", which is NOT the standard C calling convention -- it's actually a PASCAL calling convention! For those of you who don't know the difference, the main differences are ordering of parameters (left-to-right vs. right-to-left) and who is responsible for cleaning up the stack (caller or callee).
Funny enough, the parameter ordering wasn't causing a problem because my parameters were NULL,&lpDD,NULL, so reversing the order didn't cause any problems. This is why it worked in the debug build and even in the release build. However, the issue of stack cleanup somehow became problematic in the release build, resulting in my return address getting clobbered.
By changing the function prototype to include the WINAPI calling convention everything just magically started working. *sigh*
DDRAW WEIRDNESS FOR THE DAY:
On Win95, from a 16-bit desktop, when switching to an 8-bit fullscreen mode, I get a failure when trying to create the primary buffer. On NT 4 this seems to work fine. This is with two different drivers.
9/15/97Phew! :)
My Gawd. You people are absolutely incredible. Even if you wouldn't have sent me approximately 51 e-mails over the past 12 hours, I still would have apologized for my puerile and abrupt reaction to a sleep-deprived, cranky cruise along the internet beach. Writing plans after being up 30 hours is about as dangerous as grocery shopping when you're hungry. All kinds of crap and junk seem to make it into your basket.
Consider the blackout lifted and accept my thanks for not being afraid to politely give me a good head slap when I act like a 5 year old (most of the time I act at least 10). A gold star to the majority of you who wrote seeing through my toothless threats and posing, and a little red check mark to those of you who still feel I need some couch time and a bunch of self-help books.
In closing I have to post this mail sent by Johnny B. I'm still laughing over it:
"I'm offended. My wife was grown in a vat you see.... but we cannot afford an endoskeleton. Sometimes she is fun in bed.... other times it's really, really sad."
J. Branson
I'll post something useful in several days. Thanks again for putting up with my crap or even reading it for that matter.
ps
DSOUND AND DDRAW, THE UNTOLD LOVE STORY:And there was also a Paul Steed update yesterday, about the female monster:
Took two days to track down a "bug" we have that apparently stems from some undocumented behaviour
In a nutshell, after John rearchitected all of our stuff so that we destroy and recreate windows whenever we switch rendering DLLs or fullscreen mode things got pretty flaky under Win95. The big, mysterious problem was that if we started in windowed mode (DIB sections) and switched to fullscreen (DirectDraw), IDirectDraw::SetCooperativeMode( DDSCL_EXCLUSIVE ) would fail with a cryptic error, DDERR_HWNDALREADYSET. This happened under both DX3 and DX5, and was limited to Win95 systems (worked fine on WinNT).
After screwing around with the DirectDraw code for a few days, I got the bright idea of installing the debug DLLs and watching the debug spew that gets tossed into the output window in MSVC. Lo and behold, some very unexpected behaviour was occurring -- DSound was loading DDRAW!
Following this theory, I set "s_nosound 1" and voila, DirectDraw started magically working correctly again! ARRGGGH! FUCK YOU MICROSOFT! Do they have monkeys typing the code up in Redmond?! *fume*
So I spent most of tonight rearchitecting the sound code so that it handles app activation correctly, and so that sound buffers are destroyed and recreated during all WM_ACTIVATE messages. This is pretty ugly, but it finally seems like things have stabilized (hopefully).
THE LINUX BOX FROM HELL:
John commented on the fact that there is a chance today that someone with the time, dedication, and a little bit of money could easily build a Unix workstation that devastates the SGI O2.
Dig if you will a picture....
Take a dual processor Pentium 2 motherboard (or DEC Alpha if you're feeling crazy), install Linux SMP and a lot of RAM, and you have a real nice Unix workstation. But for 3D graphics it probably leaves a little to be desired.
Unfortunately, there aren't many fast 3D graphics adapters that are capable of doing desktop 3D applications available for Linux. So, what would rock as a good 2D/3D accelerator for a general purpose 3D workstation? The Rendition V2200.
Now, it doesn't have the best numbers, but it's got VERY good numbers, and it is extremely full featured -- probably the most full featured of all the current 2D+3D accelerators out there. The only thing it's missing of any note is per-pixel MIP mapping.
So you convince Rendition to show you how to program its microcode and you develop an OpenGL driver for it for your magix Linux box.
Boom, instant awesome OpenGL Unix workstation for well under $10K. Now you have to face the problem of lack of content -- who's going to buy this workstation if it doesn't have any applications?
Serious problem, that, but if you sell it to hackers and freaks who are just into cool graphics, some cool app may arise. Or maybe the Quake2 Editor would be ported to it. Or maybe (doubtful) one of the big graphics companies would support it. Either way, if enough grass roots support got under this thing and a single really killer app could generate sales for it, you could have another little miniature explosion in the Linux domain.
Anyway, just a thought...
Okay. Guess I need to waste some animating time to enlighten you all in regards to the female monster in Q2. I've only received one negative letter on the subject. Since it clearly points out the author's dissatisfaction (understatement) with the character I'll use it to clarify some points. Since I bear the author no ill will (opinions are like assholes, everyone has one), I will leave his name out of it.Busy busy - Slipgate
"I saw some shots of the female monster on quake2.com this morning, some guy said he was disappointed but i've been spewing over it all day. This is this worst piece of misogynistic crap i've seen in a game. I keep asking myself how a nearly naked genitally mutilated woman running around with a big gun for an arm fits into Quake2, perhaps you could tell me?"
Good question. First off let's remember two things: One, this character is not a woman and two, I am a die-hard philogynist; not a misogynist. The goal of Quake2 is to be scared shitless by freaky, creepy alien cyborgs to the point where you have no problem drumming up a reason to blow their heads off. Our monsters don't have genitals. They are grown in vats and use human flesh to cover their half organic/half inorganic body parts. If you check out the character's posterior you'll notice that beneath her skin is a 'Terminator'-like armored endoskeleton.
"What i find offensive is the fact that she's not wearing pants, while similar to the arch-vile and zombie from quake who were essential naked and to varying degrees disfigured, the representation of the female form in your artwork is disturbing to me and I'm sure women will not appreciate it."
While I could justify the fact that she's not wearing pants by saying that she was horribly raped by the Tank, Gunner and Infantry in some lonely corridor, it would make about as much sense as any other reason. Half the time we do stuff because it's sick and twisted and will get your attention. I honestly don't know why Adrian textured her the way he did. All I know is that I think its cool and stand by it as a unique and creepy monster. These IMAGINARY CHARACTERS IN A COMPUTER GAME don't have any pretensions or agendas. They're mindless bad guys who deserve your contempt and rockets to the face. Quit trying to predict what women like or dislike. Guys pretending to know what women will think about anything need to go read a book like 'Mars & Venus' or go talk to Mynx. I'm sure I'll get some more negative feedback about the character, but I'll deal with it one letter and one disgruntled fan at a time.
"By all means show some tit, leg or have her bum hanging out but please put some thought into how a female would fit into the alien race you've developed while considering what reasonable people, including girls would regard as acceptable."
So I take it porn is okay and women are cool with a more 'bimbette' look in games, but don't go and make an alien, torn-flesh bimbette or we'll cross the line. If we at id or any other company worried incessantly about what others found acceptable, do you really think we'd do this for a living? To say we blatantly disregard the input from our fans is pretty wacky. We are paragons of support for those who buy our games. It is a part of our strength and compels us to do even better games. Far from being self-indulgent, we always keep you guys in mind. John's already voiced concern to me that making so many frames of animation for the player characters in Quake2 will make it harder for the fans to do their conversions. I simply laughed an evil laugh.
This character is no different from any other character in the game. The fact that it appears to be female may disturb people, but I think the person being disturbed more than likely gets bothered by lots of other things too. Lighten up. We love women here at id. The subject occupies quite a bit of our daily bandwidth.
This character in no way is a reflection of any mysogynistic attitude and is just some ugly, messed-up, nasty creature on some distant alien planet. It purposely accumulated flesh over its endoskeleton the way it has in order to illicit a distracting and horrifying response from the inhabitants of Earth in the war to take over that little mud ball. What an evil thing to do. Hurry. Go kill it.
ps
I've been up all night working so excuse my following attitude. I just read something by someone I thought was cool that really bugs me. It seems that some people feel that the recent character reference sheets I sent to Redwood has been viewed as a potentially harmful thing to Quake2 and may 'ruin' it in some way. Mistakenly I felt that people would be interested in getting a closer look at some of the characters in the game and consequently have a break from the recent flood of bad to mediocre screenshots (unfortunately there's only about eight or nine characters left to surprise you guys with when the game ships). Forgive my ignorance. To decrease the chances of my contributing to the failure in any way of the project I am working on, consider me a Q2 news blackout. From now on I will refrain from answering revealing questions and/or volunteering interesting bits of info. After all, like pictures, info on the content of the game and the motivations behind said content would only lessen your interest in the game and most likely prevent you from buying or playing it. In-fucking-credible.I did post something about that, yes. And I was pretty mad, here's why though: I have been hearing all about this screen shot issue non-stop from Quake2 site maintainers every damn day since that PC Gamer thing started. I think it's really no big deal, and I wonder why they are whining about it. I mean, if they really think it would ruin the game, why wouldn't they think that anything else released from id would? And as I said in the last two sentences of that update, "Hey, but I don't mind, doesn't ruin anything for me. All this info just makes me want to play the game more!" I can't emphasize that part enough. I am critical, I am sarcastic, sometimes it's hard to understand what I am putting accross. So I am sorry if I stepped on any toes, no harm intended. I like the character sketches and I look at everything I can to find out more about Quake2.. Because I am gonna play, eat, sleep, breath, and shit Quake2. I agree with Paul Steed, I do NOT agree with the people that think over-released game information will ruin the game. I think my questions about the Parasite are proof of that.