Beta

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Duke Nukem 3D Code Review

timothy posted about a year and a half ago | from the much-faster-than-the-game-itself dept.

Programming 128

alancronin writes "Similar to Fabien Sanglard's previous code reviews of other games such as the Quake and Doom line of games comes a review of the code base of Duke Nukem 3D (split out over 4 pages). This will be a very good read for anyone interested in understanding the mechanics of a highly addictive game or anyone that wants to learn more about game design."

cancel ×

128 comments

Sorry! There are no comments related to the filter you selected.

duke nuken (5, Funny)

Anonymous Coward | about a year and a half ago | (#42945557)

duke nuken

Re:duke nuken (0)

GeekWithAKnife (2717871) | about a year and a half ago | (#42945653)

You spelled that wrong, twice! Dumbass.

Re:duke nuken (1)

Anonymous Coward | about a year and a half ago | (#42945729)

Always bet on Duke. Dunbass!

Re:duke nuken (1)

Anonymous Coward | about a year and a half ago | (#42945919)

Hey, he's just quoting the title to the summary (did they fix that typo?). As to the actual topic which nobody is yet on, personally I found 3D to be not nearly as fun as the previous two Nukem side scrollers. It might have been because I was too eager for it and my hopes were too high, it might have been because I'd already been playing Quake 2 and even Quake 1 was technically better than Duke Nukem; DN3d was barely above Wolfenstein.

It may have been because the actions of the people I was playing Quake against was what made that game so fun, and DN3D had no internet play. I'd be far more interested in seeing the Quake code.

Re:duke nuken (5, Interesting)

Mister Whirly (964219) | about a year and a half ago | (#42946385)

Duke Nukem 3D was the first FPS to inject a healthy dose of humor into the game. That is what stands out in my mind over actual gameplay mechanics.

Re:duke nuken (2, Interesting)

Anonymous Coward | about a year and a half ago | (#42946535)

It stood out for me because of how interactive the environment was, that there were many things that could be used or destroyed, etc. It was something I found missing from later games for some time too. This is not to say Duke Nukem was the first game to do any of that, but it was the first one I played and remembered for doing that. That was more memorable to me than the humor, which considering how crude it is at times, can be really hit or miss depending on the player's particular sense of humor.

Re:duke nuken (1)

Mister Whirly (964219) | about a year and a half ago | (#42946639)

Crude or not it was the first FPS to even attempt humor. The whole "gritty realism" thing in FPS games wasn't quite there due to graphics limitations at the time, but the sense of humor definitely made it more enjoyable for me. And if you thought DN3D humor could be crude, did you ever play Shadow Warrior?

Re:duke nuken (4, Informative)

VGPowerlord (621254) | about a year and a half ago | (#42946903)

Duke Nukem 3D was the first FPS to inject a healthy dose of humor into the game. That is what stands out in my mind over actual gameplay mechanics.

DN3D also had a wide variety of weapons, some of which were... standard FPS weapons, some which weren't.

Some of these were pioneered by DN3D, such as:

  • Remote controlled pipe bombs
  • Laser Trip Bombs
  • Freeze gun (which also bounces off walls)
  • Shrink Ray
  • Microwave gun (causes enemies to expand until they explode)
  • Holoduke (or distraction target)
  • Usable item Medkit (as opposed to the ones that are used when you walk over them)

I should note that I'm focusing mainly on multiplayer things here.

Re:duke nuken (4, Informative)

hairyfeet (841228) | about a year and a half ago | (#42946505)

Duke was okay but frankly IMHO it wasn't the best the Build engine had to offer. If you haven't played Blood or Redneck Rampage then you haven't seen what the Build engine could do, huge levels with tons of secrets, plenty of bad guys that would give you a good fight, and while the visuals of course couldn't match Quake you could play the Build games without a graphics card which at the time was NOT cheap.

so if anybody hasn't tried them GOG has both Blood [gog.com] and Redneck Rampage [gog.com] and since they are running in DOSBox you can play them on just about any OS. If you really want to see what the Build engine could do those are the ones to play. besides who can't enjoy a game where you shoot a titty gun while drinking beer and listening to Mojo Nixon or go through classic horror sets like the Phantasm mortuary while spouting one liners like a cross between Clint Eastwood and Bruce Campbell?

Re:duke nuken (4, Informative)

Guspaz (556486) | about a year and a half ago | (#42946647)

You couldn't run either Quake or Blood without a graphics card, there wasn't onboard video support back then. Presuming you mean a 3D card, neither Quake nor Blood originally supported 3D cards, and so both ran fine without it.

Quake did later get a 3d-accelerated version (glquake), but it was by no means required, and was sort of unofficial (Id Software released it, but it was unsupported).

Re: duke nuken (1)

Bluecobra (906623) | about a year and a half ago | (#42949493)

They most certainly had onboard graphics by the time these games came out. My Packard Bell POS 9000 with a 75mhz pentium had one. The onboard Cirrus Logic card took away 1mb out of my 8mb of system memory. Quake was the reason behind my first computer upgrade - - it needed at least 8mb to run.

Re: duke nuken (1)

sa1lnr (669048) | about a year and a half ago | (#42949579)

Even farther back, I had a 286-12MHz motherboard with onboard Western Digital Paradise EGA and an IDE controller too.

Re:duke nuken (1)

hairyfeet (841228) | about a year and a half ago | (#42949683)

When I say "graphics card" I assumed since we were talking about 3D gaming everyone would understand I meant a 3D accelerating graphics card or chip, even the lowest intel chip does several orders of magnitude more than what the chipsets back then did.

And did you ever try running Quake on a 486 with no 3D chip? yeah sure it would "run" if you count sub 15FPS as "running". Unlike the Build games you had to have a pretty damned beefy PC for the time to run Quake without 3D and even with 3D it was quite the piggy, the Crysis of its day. I remember getting a nice 100MHz P1 because it wouldn't run quake and Hexen worth a damned and the guy promptly went out and spent over a grand on the then cutting edge 233MHz with a 3D card just to play those 2 games, so I know all about what Quake could and couldn't do back in the day. That same PC played the Build games just great, which is how I ended up finding out about them as I liked to play shooters then as now.

so just because you can run Quake on a $50 cellphone now does NOT mean most could run it when it was first released, if it weren't for the Voodoo 1 frankly a lot of the PCs at the time would have never run that beyond a slideshow.

Re:duke nuken (1)

Guspaz (556486) | about a year and a half ago | (#42950067)

There were no consumer 3D cards on the market when Quake originally shipped, and certainly not when Duke3D shipped... It predates those things. They came later. So of course, despite your claims, you most certainly COULD play Quake with cards that didn't exist at the time. In fact, because 3D cards were so rare even after they did come out, most people played Quake without 3D cards.

3D cards were not required to play Quake games until Quake 3 came out. I certainly didn't have one when I played Quake 2. Those were the days when it was a big deal when a 3dnow version of the Quake 2 software renderer was released, because it got an extra 10% FPS.

Re:duke nuken (1)

Guspaz (556486) | about a year and a half ago | (#42950093)

Considering that there were no consumer 3D cards on the market when Quake came out, let alone Duke3D, your assumption is faulty. Not only did Quake not require a 3D card, it did not even support 3D cards until the very end of 1996. That was when vQuake was released, which added support for Verite chips, and then later glQuake came out to support OpenGL. But those came later, and since very few people had 3D cards, they were not the norm at the time.

Quake games did not require a 3D card to play until Quake 3.

Re:duke nuken (1)

Guspaz (556486) | about a year and a half ago | (#42950109)

Considering that there were no consumer 3D cards on the market when Quake came out, let alone Duke3D, your assumption is faulty. Not only did Quake not require a 3D card, it did not even support 3D cards until the very end of 1996. That was when vQuake was released, which added support for Verite chips, and then later glQuake came out to support OpenGL. But those came later, and since very few people had 3D cards, they were not the norm at the time.

Quake games did not require a 3D card to play until Quake 3.

Excuse me if this is being double-posted, Slashdot keeps eating the comments and I'm not sure if they're actually being posted.

Re:duke nuken (1)

Mister Whirly (964219) | about a year and a half ago | (#42946861)

Yeah Blood took what was good about DN3D and multiplied it times ten. For a long time that was my favorite FPS, probably until Half-Life came out and I got my first Voodoo 3DFX graphics card.

Re:duke nuken (1)

SolitaryMan (538416) | about a year and a half ago | (#42948979)

RR was helluva fun! The levels were unnecessarily complex though. I mean in "I have no idea where to go now" way.

Re:duke nuken (4, Informative)

Tarlus (1000874) | about a year and a half ago | (#42946649)

Duke 3D was waaay more sophisticated than Wolfenstein. While it did employ similar dated rendering techniques and the need for sprites, it did offer full range of motion along all three dimensions, actual floors and ceilings, interactive environments, the ability to look around using a mouse, and the ability to have passages that could overlap one another. Doom couldn't even do that.

The Quakes were technologically superior, by far. Three dimensional rendering in the truest sense, greater lighting effects, antialiasing (I think that came about with Quake 2, but correct me if I'm wrong). Network play out the wazoo. Even the audio capabilities were incredible. (I used to love putting different CD's in the drive to change up the soundtrack. Megadeth's "Rust in Peace" goes very well with Quake.)

But despite all that, I always had more fun with Duke 3D than I did with Quake. It just had a more colorful personality and it had more creative levels. Quake was always so... brown and gray.

Re:duke nuken (3, Funny)

isorox (205688) | about a year and a half ago | (#42947029)

Duke 3D was waaay more sophisticated than Wolfenstein. While it did employ similar dated rendering techniques and the need for sprites, it did offer full range of motion along all three dimensions, actual floors and ceilings, interactive environments, the ability to look around using a mouse, and the ability to have passages that could overlap one another. Doom couldn't even do that.

The Quakes were technologically superior, by far. Three dimensional rendering in the truest sense, greater lighting effects, antialiasing (I think that came about with Quake 2, but correct me if I'm wrong). Network play out the wazoo. Even the audio capabilities were incredible. (I used to love putting different CD's in the drive to change up the soundtrack. Megadeth's "Rust in Peace" goes very well with Quake.)

But despite all that, I always had more fun with Duke 3D than I did with Quake. It just had a more colorful personality and it had more creative levels. Quake was always so... brown and gray.

The amount of weekends I spent with a friend, 2 computers, and a null modem cable, so much fun. We even built a map of our school with build. And we showed it off during open evenings. Probably get arrested nowadays.

Laser trip mines.Oh yes.

Re:duke nuken (1)

Tarlus (1000874) | about a year and a half ago | (#42947591)

And the pipe bombs. Oh man, I loved those.

Re:duke nuken (0)

Anonymous Coward | about a year and a half ago | (#42947971)

Quake 2 could use voodoo cards for rendering whcih provided AntiAliasing. I have a Canpus Pure 3D with 6 meg of ram versus the normal 4! I was cool back then.

Re:duke nuken (2)

sharkey (16670) | about a year and a half ago | (#42945687)

Pfft. I know a genuine Panaphonics when I see it. And look, there's Magnetbox and Sorny.

Re:duke nuken (0)

Anonymous Coward | about a year and a half ago | (#42945819)

I feel like going to some Asian marketplace and playing "spot the genuine artifact"

Re:duke nuken (0)

Anonymous Coward | about a year and a half ago | (#42946331)

Sorny sucks, I only use quality SQMY-products.

Re:duke nuken (4, Funny)

Sockatume (732728) | about a year and a half ago | (#42945691)

"I'm here to use my bubble-gun and kick some asps. And I'm all out of bubbles."

Re:duke nuken (2)

xxxJonBoyxxx (565205) | about a year and a half ago | (#42945855)

"Dam toes, ale in bass 'tards argon happy forts 'ooting up my right. "

Re:duke nuken (1)

din0 (2608929) | about a year and a half ago | (#42945867)

I'd like the follow up to be Mew Super Nario Bros. for the Wii-V

Re:duke nuken (1)

asylumx (881307) | about a year and a half ago | (#42946631)

I guess that's why they need a code review.

Re:duke nuken (1)

Megane (129182) | about a year and a half ago | (#42946835)

Maybe it was just a case of really bad keming. [xkcd.com]

Nuken... Really? (0)

Anonymous Coward | about a year and a half ago | (#42945619)

For shame /.!!

Re:Nuken... Really? (4, Funny)

Hatta (162192) | about a year and a half ago | (#42945709)

For shane.

Duke Nuken (5, Funny)

digitalmonkey2k1 (521301) | about a year and a half ago | (#42945639)

Cone get sone!

Fuck, it's a 5 word title (2)

nedlohs (1335013) | about a year and a half ago | (#42945699)

And you can't get it right. Find a job more suited to your lack of ability already (though I admit it's going to be hard to find a job that requires less).

Re:Fuck, it's a 5 word title (5, Funny)

stepdown (1352479) | about a year and a half ago | (#42945723)

Don't be so hard on tinothy, he got 60% of the words right!

Re:Fuck, it's a 5 word title (1)

Desler (1608317) | about a year and a half ago | (#42945917)

Firmly mediocre. Yep, that describes Slashdot to a T.

Re:Fuck, it's a 5 word title (1)

hedwards (940851) | about a year and a half ago | (#42947163)

Yeah well, Tirnothy tends to miss things like this.

Re:Fuck, it's a 5 word title (0)

Anonymous Coward | about a year and a half ago | (#42948069)

Don't be so hard on tinothy, he got 60% of the words right!

It's like saying: "Statistically everyone eats one bread every day, when actually one person eats two breads every day and the other one is starving to death".

Re:Fuck, it's a 5 word title (-1, Offtopic)

Anonymous Coward | about a year and a half ago | (#42945803)

Would you hire someone who had "Was Slashdot editor 'timothy'" on their resume?

Shit, I'd rather hire someone straight out of prison.

Re:Fuck, it's a 5 word title (1)

Desler (1608317) | about a year and a half ago | (#42945935)

Men's room attendant?

Re:Fuck, it's a 5 word title (0)

Anonymous Coward | about a year and a half ago | (#42946589)

Men's room attendant?

Fluffer in gay porn studios?

Re:Fuck, it's a 5 word title (0)

Anonymous Coward | about a year and a half ago | (#42947369)

He already moonlights as that.

Re:Fuck, it's a 5 word title (0)

Anonymous Coward | about a year and a half ago | (#42945985)

Would you hire someone who had "Was Slashdot editor 'timothy'" on their resume?

Shit, I'd rather hire someone straight out of prison.

I just said, "I'm going to change your name to timothy" to my dog.

He came over and pissed on my leg.

Re:Fuck, it's a 5 word title (-1)

Anonymous Coward | about a year and a half ago | (#42945811)

Even being a jizz mopper requires more ability.

Re:Fuck, it's a 5 word title (5, Funny)

damn_registrars (1103043) | about a year and a half ago | (#42945841)

Find a job more suited to your lack of ability already (though I admit it's going to be hard to find a job that requires less).

Timothy has been with slashdot for so long that he is no longer qualified to do anything else.

Re:Fuck, it's a 5 word title (1)

isorox (205688) | about a year and a half ago | (#42947059)

Find a job more suited to your lack of ability already (though I admit it's going to be hard to find a job that requires less).

Timothy has been with slashdot for so long that he is no longer qualified to do anything else.

He never had any abilities, how do you think he got the job in the first place?

Re:Fuck, it's a 5 word title (0)

Anonymous Coward | about a year and a half ago | (#42947205)

He had the largest micropenis of all the applicants?

Oh, you're going to get an F on that one for sure! (4, Informative)

crazyjj (2598719) | about a year and a half ago | (#42945707)

Most methods have "void" parameters and return "void". Everything goes via global variables.
Methods naming does not use camelCase or NAMESPACE prefix.

Somewhere, my CS professor just had a simultaneous heart attack/stroke.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42945797)

The method names are more preference. Libraries should use a namespace prefix sure, but it's less of a problem for an application. And case typing is entirely a user-preference.

But I agree with you on the voids/globals.

Re:Oh, you're going to get an F on that one for su (3, Insightful)

Murdoch5 (1563847) | about a year and a half ago | (#42945847)

The difference is most CS prof's don't program for the real world and would get a F if they tried.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42946263)

Yes! I use to roll me eyes that they things they would spout off about.

Re:Oh, you're going to get an F on that one for su (1)

h4rr4r (612664) | about a year and a half ago | (#42946339)

Here in the real world using global variables gets you fired. Even worse are the PHP dunderheads who think that turning on register globals is a good idea.

Re:Oh, you're going to get an F on that one for su (1)

Murdoch5 (1563847) | about a year and a half ago | (#42946471)

Okay, sit down, grab a good embedded C board and write me an entire full featured RTOS without using a global, once you can do that you can slander global variables.

Re:Oh, you're going to get an F on that one for su (5, Informative)

h4rr4r (612664) | about a year and a half ago | (#42946533)

Which is not what 99% of code does.
I was speaking generally, and generally globals are a bad idea.

Re:Oh, you're going to get an F on that one for su (1, Troll)

Murdoch5 (1563847) | about a year and a half ago | (#42946681)

Embedded Code out numbers Non Embedded Code on about a 50 000:1 scale. Every single little micro-controller, power IC, control system and numerous other devices, to many to mention, all run Embedded Code. Desktop code really being the exception should follow Embedded Code.

Desktop code roughly teaches:
Global's are evil.
Goto is the most evil and hated statement ever.
Loops shouldn't run forever.
Pointers in general are evil.
Function pointers are to hard to understand because people are morons.

etc... etc... etc... Basically all the great features of a languages are considered evil because some dumb ass in the office who doesn't understand programming messed it up. Don't blame the guys who know how to program, blame the guys who don't. If desktop code was designed more like Embedded code you would have computers that run multiple times faster and more secure.

Re:Oh, you're going to get an F on that one for su (1)

h4rr4r (612664) | about a year and a half ago | (#42946743)

Ha, yeah right. We don't even have secure embedded devices. We have plenty of buggy, crashy, insecure ones though.

I am not sure what metric you are using, but most programmers are not employed writing embedded systems.

Re:Oh, you're going to get an F on that one for su (1)

Murdoch5 (1563847) | about a year and a half ago | (#42946855)

I never said most programmers were embedded programmers, I said embedded code out numbers non embedded code. If you take unit insecurity and compare the desktop to the embedded world then you'd easily find the desktop contain FAR more insecurity then the embedded world. Every door lock, finger lock, bio-meteoric lock runs embedded code. Most cars on the road run embedded code, most airplanes run embedded code. Most military drones run embedded code, all phones run embedded code, all desktop computers even run embedded code in the form of a Bios / UEFI. I can keep going but you should get the point. If you scale embedded code and desktop code to be equal I think you'd find that secure desktop programming is basically non existent.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42947995)

Indeed, these Apple iOS programmers must be doing something wrong, with their OS X desktop code running on devices filled with viruses and malware.

Re:Oh, you're going to get an F on that one for su (1)

crazyjj (2598719) | about a year and a half ago | (#42947239)

I actually miss goto and I'll admit it. It doesn't NECESSARILY produce spaghetti code, people! [ducking for cover]

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42949427)

It's not proper spaghetti until there is a jump across functions.

Re:Oh, you're going to get an F on that one for su (1)

yincrash (854885) | about a year and a half ago | (#42947623)

I think that would be for most number of devices, not necessarily lines of code written (or even # projects). Most code written today is not for embedded systems.

Re:Oh, you're going to get an F on that one for su (1)

Murdoch5 (1563847) | about a year and a half ago | (#42947771)

Even a small update to a micro-controller can cause millions and million of devices to requires updates. Embedded Systems far out number Desktop Systems, even a mobile system is an embedded system. So I would say that most development really is for embedded platforms.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42947821)

The no globals thing comes from OO programming. Doesn't matter if it is embedded or desktop, on OO languages you use static class members. These are essentially globals, but they are confined to a namespace. In C you sometimes need globals, but if you are using globals to return the results of a function call, your doing it wrong. You made your API non-thread safe for no good reason.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42945883)

Those who can, do.

Those who cannot, teach

Those who can't teach, teach college!

I love professors like that- they never account for all the bad code that is already out there and never realize that sometimes you just have to deal with it.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42945945)

those who can't teach become journalists

Re:Oh, you're going to get an F on that one for su (1)

hedwards (940851) | about a year and a half ago | (#42947209)

I always love when people post this sort of nonsense. Good luck getting a job teaching if you can't do it first, sure it does happen, but portraying that as the status quo is just ignorance.

Teachers not only have to be able to do whatever it is, but they also have to be able to teach other people how to do it. The references I see in this thread are pretty much indicative of, we don't actually want to do it correctly, so we'll disparage the folks trying to make our lives easier by forcing the development of good habits. You see that in pretty much any specialty.

Re:Oh, you're going to get an F on that one for su (5, Insightful)

BasilBrush (643681) | about a year and a half ago | (#42946239)

The engine was written by an 18 year old. You've got to forgive the lack of college CS education and work experience, and marvel at the talent to actually make the best featured and performing 3D game engine of it's day.

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42946377)

ISTR it was well featured but not as fast as DOOM, on my old P60. Fast enough, though, and just way, way more variety in the artwork than DOOM.

Re:Oh, you're going to get an F on that one for su (2)

petsounds (593538) | about a year and a half ago | (#42949571)

Well it wasn't true 3D; the Build engine was basically 2.5D -- the levels were still 2D, with an added height component -- using a lot of clever hacks to enable Z-axis levels and targeting. It worked well enough, and was a lot faster than the true-3D Quake on machines of the day. Quake needed a Pentium; if memory serves, Duke could run well on a 486.

I'd disagree that it was the best-featured engine of the day though. Bungie's Marathon engine was 2.5D with free-look and z-axis targeting, but also allowed for higher bit-depth textures, featured a basic physics engine for weapon effects, featured alt-fire modes for weapons, and more advanced networking. And it came out in 1994; Duke arrived in 1996. Ultimately, they're both innovative engines, but I'd give the nod to Marathon as being the best of the time.

Re:Oh, you're going to get an F on that one for su (0)

BasilBrush (643681) | about a year and a half ago | (#42949795)

Thanks for the pointer. Back then I was still on PCs, so I wasn't aware of Marathon. I see it's been ported to the iPad, so I'm downloading it for a look.

I imagine Macs of the day were better featured than the PCs. So that might account for some of it? Perhaps.

Did Marathon have angled floors? I remember being impressed with that in DN3D, having been used to Doom's limitations.

Re:Oh, you're going to get an F on that one for su (0)

BasilBrush (643681) | about a year and a half ago | (#42949823)

Oh yeah, destroyable walls, transparent windows and reflecting mirrors were also impressive aspects of DN3D, did Marathon have those?

Re:Oh, you're going to get an F on that one for su (5, Funny)

MrSteveSD (801820) | about a year and a half ago | (#42946625)

At my old job I was once writing a while loop and decided to use "i" as the name of a counter variable I was incrementing. After a while I noticed that I had not declared the i and was perplexed as to why there was no compile error. Then to my horror I discovered that someone was using a global variable named "i".

Re:Oh, you're going to get an F on that one for su (0)

Anonymous Coward | about a year and a half ago | (#42947045)

There was a coder in our organization that did not understand what the 'var' keyword does in Javascript, and hence never used it for any of their variables, ever. That person is, shockingly, no longer employed here.

Every so often we come up against a problem as a result of this person's legacy, even a year later. We call such incidents [Name]Bombs. Just goes to show how a bad coder can have a severe negative effect on an organization.

Re:Oh, you're going to get an F on that one for su (4, Funny)

Namarrgon (105036) | about a year and a half ago | (#42947453)

Had a similar problem; couldn't figure out why I kept getting surprising compiler errors in some of my perfectly legal loops. Even more surprisingly, I got similar errors in some basic expressions, despite identical expressions using different variables compiling just fine.

Surprise was no longer adequate, and I had to resort to astonishment when I found a colleague had #defined the letter "r" to a constant.

Duke Nukem Forever (4, Interesting)

KPU (118762) | about a year and a half ago | (#42945717)

I'm more interested in a Duke Nukem Forever code review. Imagine how horrible it must be.

Re:Duke Nukem Forever (4, Interesting)

Sockatume (732728) | about a year and a half ago | (#42945749)

It'd be interesting to date various components of the code by technological improvements or software development trends.

"Here we see a portion from the early 2000s, by which point the developers had discovered primitive particle effects. It is built upon the ruins of an older epoch developed in the Quake II engine."

Re:Duke Nukem Forever (2)

SrLnclt (870345) | about a year and a half ago | (#42945781)

So anyone have an ETA for the Duke Nukem Forever source code?

Re:Duke Nukem Forever (5, Funny)

Anonymous Coward | about a year and a half ago | (#42945927)

When it's done!

Re:Duke Nukem Forever (2)

91degrees (207121) | about a year and a half ago | (#42945783)

There's probably several working but incomplete versions. Different iterations apparently used 3D Realms home grown "Build" engine, the Quake 2 engine and the Unreal engine, and while I guess the engines may have been designed with some compatibility but it's rarely easy to just switch.

Re:Duke Nukem Forever (0)

Anonymous Coward | about a year and a half ago | (#42946215)

The Build engine wasn't exactly home grown. It was a personal project by Ken Silverman, which ended up a lot more advanced than most commercial engines at the time. I believe 3DRealms bought up Ken and his engine after it was considerably complete.

Re:Duke Nukem Forever (0)

Anonymous Coward | about a year and a half ago | (#42945863)

I'm more interested in a Duke Nukem Forever code review. Imagine how horrible it must be.

Of all the bad things I've heard about DNF, "buggy as hell" strangely wasn't one of them. Care to elaborate?

Re:Duke Nukem Forever (2, Interesting)

Anonymous Coward | about a year and a half ago | (#42945921)

What I love about DNF is that you can spot the bits where, over the years, they looked at the hot FPS du jour and thought 'shit we better put that in'. Like the eerily empty Half-Life 2 bits.

Re:Duke Nukem Forever (1)

locopuyo (1433631) | about a year and a half ago | (#42948277)

It probably wouldn't be quite as bad as you think. They scrapped a lot of the old code when they switched engines. In the end they used a modified version of the Unreal 2 Engine so they were at least building off of something good.

Resource limit reached (0)

Anonymous Coward | about a year and a half ago | (#42945815)

Resource Limit Is Reached
The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.

Hmm, maybe there will be an update released any day now...

Yeah (1)

Prokur (2445102) | about a year and a half ago | (#42945907)

Piece of cake!

Re:Yeah (3, Funny)

telchine (719345) | about a year and a half ago | (#42946279)

Piece of cake!

That's a lie!

The appeal of DN3D (5, Interesting)

RogueyWon (735973) | about a year and a half ago | (#42945957)

DN3D came out when I was in my late teens, about 18 months before I went off to university and got a net connection good enough for online gaming. At the time, it was DN3D, rather than Quake, that was the LAN multiplayer game of choice for my friends and I.

Partly that was because of the actual gameplay. While Quake was a better twitch-shooter, DN3D had a real, nasty, sneaky dimension to its multiplayer. You could use the pipebombs and holoduke in particular to make traps for opponents that were just like something out of Spy vs Spy. Much more potential for hilarity than a simple rocket to the face.

But it was also the ease of level creation. Once we were bored of the levels that came with the game, it was trivially easy to fire up the bundled level editor and make new maps. We'd been doing that before with Doom and, if anything, despite having "2.5d" levels (as opposed to Doom's straightforward "2d" levels), DN3D level creation was even easier due to the quality of the tool. By contrast, creating "3d" Quake levels was massively more difficult and time consuming.

Once I went to University, of course, it became much easier to download new maps from the internet and the superior network infrastructure underpinning Quakeworld, Quake 2 and eventually Half-Life multiplayer moved my gaming in that direction instead.

Tricks and traps (1)

phorm (591458) | about a year and a half ago | (#42946381)

My personal favourite was:
    laser-tripmine just outside of a door beside a pile of pipebombs...

Door opens, breaks laser, explodes tripmine, explodes pipebombs. Bonus if you can leave a little breadcrumb trail of pipebombs.

Also fun to stick at the bottom of mineshafts, steps, etc.

Re:Tricks and traps (0)

Anonymous Coward | about a year and a half ago | (#42946931)

There was one of the official levels that had teleporters that were right in front of each other allowing players to simply run forward and go in a circle. You could fire a rocket into the teleporter and it would keep going in a circle until it hit something. I would always fire off a couple of them at the beginning of the game at head-height and then duck whenever I used the teleporter. Eventually someone else wouldn't take that precaution and I'd get credit for a kill minutes after firing the rocket.

Re:Tricks and traps (0)

Anonymous Coward | about a year and a half ago | (#42948073)

I remember you, you little fucker!

Sequel (5, Funny)

Nick (109) | about a year and a half ago | (#42946007)

When I first created my account on /. I remember getting excited about the sequel that was going to be released soon.

Re:Sequel (0)

Anonymous Coward | about a year and a half ago | (#42946117)

Damn noobz.

Re:Sequel (1)

telchine (719345) | about a year and a half ago | (#42946295)

Slashdot User #101 thought it was going into his room

Re:Sequel (2)

jon3k (691256) | about a year and a half ago | (#42947001)

Excellent use of a three digit UID, I applaud you sir.

Portals (1)

BasilBrush (643681) | about a year and a half ago | (#42946367)

When I used to look at Doom and Duke3D and try to imagine how the engine worked, portals was the concept I imagined. I was surprised and initially rather confused when I found out that Doom actually worked using Binary Space Partitioning.

I'm rather pleased to see that I was at least right in my theory with regards to DN33. Possibly I came up with the portals theory after seeing DN3D's windows and mirrors, and then imagined that Doom worked the same way.

Anyhow, the article was a great read.

Re:Portals (1)

BasilBrush (643681) | about a year and a half ago | (#42946417)

... Mind you I'd only ever imagined portals as complete rooms. But in actuality the borders of portals are everywhere the floor or ceiling height changes. So each chair for example consisted of two portals, one for the seat area, and one for the back.

My favorite part (0)

Anonymous Coward | about a year and a half ago | (#42947173)

Is the genesis of a source port that doesn't engage in a delusional modder's fantasy of sticking in Ted Turner and redundant real-world weapons.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>