How Much of a Genius-Level Move Was Using Binary Space Partitioning in Doom?

I still remember the first time that I played Wolfenstein 3D. It was on a contemporary hardware, as a minigame in a far more recent Wolfenstein game. My first thought was how rudimentary simple it was; my second was “Holy crap, you could do this on a 286?”.

By modern definitions, I don’t think anyone would be thrilled by the limitations Id’s early engines had for map geometry. But I think for their times, it was a small price to pay given the hardware. And to be fair, as a kid, when I first played DooM ’93 on a Sega 32X^, I certainly didn’t notice. Years later when I would play it on a PC, I didn’t care—because it was still fun. All these years later, I still find DooM ’93 to be a lot of fun. That’s the real success of a video game, I’d say :P.

For the time, even the console ports were pretty impressive games. I mean, most of the games we had looked like this:

Meanwhile if you popped in DooM, this was what you got:

That just didn’t happen, lol.

Many times that I’ve read about porting PC games to the Super Nintendo, and other consoles, they’ve usually been stories that I would describe as “Lossy” or “Brutal” depending on the complexity gap. Such as when an arcade machine was far more powerful than a console, or a PC simply had more oompth than a console.

Id’s games were kind of revolutionary: both in their visual technology, and in their portability. Wolf 3D, DooM, and Quake were pretty widely ported during their era of commercial viability. Post open sourcing of their code, they have come to run on virtually everything, and anything. As technology has advanced, we’ve probably reached the point where it is no longer a surprise if your wrist watch is more powerful than many of the things DooM ’93 was ported to in the ’90s.

Today, I think that DooM’s use of BSP is somewhat novel. You should think of that today, or your hardware is probably so powerful compared to your goal: that you just don’t care. Given a decent computer science education, the concept isn’t the leap into rocket science. Today though, I imagine most people aren’t tasked with solving such a problem, because they live in the world John Carmack helped create: one where we have this thing called a Game Engine.

When Carmack programmed these games, I don’t think it was so obvious a technique. People were still struggling to make PCs do this kind of thing at all. Resources for learning these things have also changed a lot over time. Many of us have the advantage of knowledge built on the minds of geniuses, if we have any education at all—and the code.

Two of my favourite engines to read: are modern source ports of the Quake III: Arena and DooM engines. By releasing the code into the wild, I think it helped all of us learn better how to solve these problems. Both the things you can go off and learn, and the code you can get ahold of have evolved since these games were written. But thanks to games like DooM: it’s easier for us to do that today. Because technology is built upon what came before, by extending the ideas of others in new directions and taking advantage of improved hardware.

Genius isn’t in using a rock to smash something, it is in realizing you can smash things with a rock far better than your thick head.

^ Being around 25 years later, my brain cells are foggy. But DooM was one of my brother’s games, so the first thing we had that played that would probably have been the Sega Genesis, which AFAIK means 32X release. We also had the PlayStation versions of DooM, Final DooM, and Quake II but those were later in our childhood.

Almost a Quaketorious Victory :'(

It was a nice double that quickly turned into a massive battle, going up from last to match leader in the first couple minutes… couldn’t be racking up frags any faster if I had a nuke: I actually had greater then 2:1 K2D ratio. It’s like no matter what the other players did, BAM I was right on’em, often being involved in  3 to 8 way melees.

Ended up neck in neck with another match leader at the end, and cinched it at like the last blink of an eye by scoring like 6 frags in near perfect succession, winning the game!

Loaded up the next map and was having like the best freaking roll of my life, bodies dropping left and right. There’s something uniquely satisfying about using my SAS skills to counter the other match leaders “Mad skillz”, with great effect no less. Again neck in neck for the lead and looking like the end of this match is gonna flop in the bag in a sec…. when I got called off to clean up someone elses disgusting mess. Worse then that, because of QLs scoring system, not only does that mean I was forced to forfeit everything earned during that pwntacular frag fest, it negatively impacts my reputation for the quit.

And so, family induced as only it could ever be, ends one of the best game nights of my miserable little life. There must be some bastard in the universe, who can take a perverse pleasure in that. Odds are we’re related.

Things have finally settled a bit, this is perhaps the closest to a proper day off yet: played Raven Shield for a few hours on the [SAS] Proving Grounds, took a break for chores and followed that up with some Quake Live, then went back to the [SAS] Proving Grounds for a couple hours. Then a few rounds of Clan Arena in QL before dinner.

I don’t play much Clan Arena in Quake Live, because it is rarely my `style` in the public servers; maybe more formal matches might be better. CA games basically amount to a round based last team standing form of competition, where everyone starts out with a Mega Health, and virtually all standarded weapons, plus plenty of ammunition; the catch of course being, there are NO power ups, no health kits, no extra ammo. You best have rocket launcher skills as well ^_^. Managed to get in a few good team games, before ending up in a mixture of 2vs2 / 1vs2 games, giving great chance to practice weapons selection and application. I also learned of a spot on one of my training maps, where you can rocket jump over (or camp on top of) a wall. One cool feature of Clan Arena mode, is you can rocket jump freely without taking any damage; it lends itself to a very fast, furious, and high octane form of combat. Although, it often becomes a crazy melee.

For lighting things up a bit, Charles Dickens Great Expectations, and Wanted. The former redefines the expression (from the more modern vernacular), of “Gee, what a small world! While the latter, is a gritty but enjoyable action flick, with some very nice fight scenes—that kid is to fighting ability, what a Terminator is to durability.

A day behind schedule, but I’ve also taken the time to burn a SMGL disk, that I’ll likely setup on my desktop, and experiment with porting code to x86_64, as well as playing Quake Live under Linux. Sourcemage is a GNU/Linux distro, that I actually found when Googling for some git operation lead me to their wiki; it also looks like a distro on par with my tastes. I was smiling the other night, when I read a section header in the install docs, about knowing thy `compiler`, until I realized it said `computer`, and my glasses really needed a cleaning lol.

Quake + Sleep != good mix

Been playing QL again, won two matches and placed in a third before taking one extra for the effort.It was kind of hilarious in it’s own sick sadistic way… I won because of applied tactics. The matches were free for alls, and on maps where shotgun, plasma, lighting, and rocket weapons are the most common upgrades to your starter kit: machinegun and gauntlet (buzz saw).

After so many years in [SAS], it’s a triviality for me to be able to calculate the most ‘ideal’ target to engage first with whatever weapons stock I’ve got available…. heard of baddies, shove explosives or paint’em blue with plasma. Even use of the virtually useless machine gun can be useful in a pinch: to pepper the loosing half of a brawl or as a hair cutting follow up to a couple crippling rockets or a plasma flourish, which can sometimes be more expedient then scoring another good splash with the rocket launcher before the enemy manages to kill you lol.

Having always prided myself on piloting skills Mech Warrior, coupled with a heavy knowledge of tactical movement from life in [SAS], it’s also possible to calculate more ideal movement patterns for giving myself a small edge. Once you get used to the games controls, you either master movement quickly or die a noobs eternal death.

Combine all that with effective area / equipment denial techniques (king of the kill!) at the choke points, makes for scoring huge numbers of frags quickly unless the swarms of enemies manage to frag you fast… the key is not dying.

Good clean manoeuvring – always being aware of enemy positions, power ups, and obstacles, while taking care to evade enemy fire as you set up a lethal volly. On the first match I won, it was surprising no one accused me of using an aim bot or some kind of crystal ball for the efficiency with which I nailed enemies while snatch power ups, like a maniac on steroids >_>.

Simple bits of psychology, instinctive/near mathematically determined engagement patterns,  mental timers, and ever increasing ease of manoeuvring through the game environments multi tasking nature…. and volia, you rack up frags until someone out does you.

In a way, Quake is probably the most addictive action game since the original DooM was released! I’ve never really cared much for Q3A or UT style gladiatorial games, but a few games of Quake are much better at cleansing stress then playing Raven Shield. Experience as shown me, never play RvS when pissed, or you will have a vein popping out of your head lol.

Been playing more of Quake 4, and enjoying the storm of heavy strogg; a company of tactical transfers backed up with a platoon of Iron Maiden, Light Tank, and Gladiator units for all intents and purposes.

I’ve noticed that Quake 4, kind of like DooM of old has a “Flinch” like pain chance for different kinds of enemies. You hit them, they feel “Pain”, and are momentarily stunned; typically causing a pause in their movement and potentionally curbing their attack rate.

It has made fighting the Light Tank much easier actually, keep just outside punching distance but to close for its other weapons to be practical, and hose the thing with the Hyperblaster until it goes down. Especially since light tanks in Q4 love to try close in and use their brute force, it is a very effective technique when terrain permits; IMHO someone must’ve been thinking/watching Judge Dredd when they designed that Strogg. Also during the network node segment, I was pinned to the wall by a light tank…. but it went down before I did, due to pouring massive amounts of plasma into it lol.

Those Iron Maidens however seem to have a much lower pain chance, the lighting gun and hyperblaster are useful simply for their fire rate, although I wouldn’t suggest bringing the lighting gun to bear versus more then one Iron Maiden lol. The hyperblasters use is purely due to damage rate, it won’t cause enough pain to prevent them from shoving a rocket down your throat. The best weapon to deal with those things seems to be the trusty old rocket launcher, fire a salvo rapid fire and bingo—its lights out. Up close and personal, the shotgun also seems to be very effective when combined with double taps hehe.

Generally I’m not a fan of the Mega-hero with at least ten guns, more ammo then a dump truck can carry, and hordes of enemies that can each suck up as much fire as an Abrams school of game design, but Quake 4 has a nice balance. Most threats can be easily neutralized with suitable kit, Iron Maiden, Light Tank, and Gunners are not hard to bring down; a Gladiator on the other hand will warrant a big freaking gun! The real danger comes with numbers and terrain, plus like most games in the “Classic” style of level design: you will get loaded up with supplies before the real big nasty fights happen. Of course, this is almost always so close to the build-up to a pulse pounding, kick a hole in the wall, and pass the shotgun shells kind of brawl , that it ruins the suspense. Some games however can keep that suspense factor going, by shaking things up, so you really won’t know what is coming up, unless you play the game a lot or have a good memory (I do) for such things. I actually liked how in F.E.A.R. the replica troops that make up most of the games enemies are very easy to neutralize, almost realistically so; and there are only a few threats that are “Heavy” enough to make you nervous.

That being said though, a boss fight should always be expected to be worth a speed run and challenge you to complete it successfully, hehehe.

recent Q4 fun

Been playing through Quake 4 again, very fun single player campaign; just started marching into Iron Maiden country on the last nexus tower tour.

Some how, being crammed into a tin can and shot down the throat of a strogg facility brings back memories of Quake II, lol. Personally I can’t fathom the one-man pods having any practical military value in such an environment. When comparing a group drop ship to a one man pod, I reckon with how unlikely you are to get a squadron of ships through without losing a lot of them, the one man pods would be more economical—less grunts lost per ship downed. On the other hand, unless the one-man pods land in closely grouped clusters, it effectively does nothing more then injecting a lone marine into their own personal ant hill! Which is arguably, what folk who grew up or thrive on the production of games like DooM and Quake, relish as a staple of game+level design ^_^. Although IMHO it would have been better to get a group landing (ala Halo) and either cut the player (+ a few cannon fodder) off from the team.

The suicidal crash landings used in Q4, combined with military history of paratroopers being employed en masse, shows that you can expect to get shafted often enough lol.

The levels are about to get more interesting, since now the Iron Maidens become more of a threat. So far, the only big bruisers have been the Gladiator and “Tank” types. Most of the enemies are pretty easy to deal with; bit o’scattergun action or some hyperblaster deals with most strogg, and I love to plug out grenades whenever there is suitable cover to constrict their movement, whilst protecting me from hostile fires hehe.

Back in Quake II, the Enforcers could really rip you a new one with their machiengun arms; on the upside though you could usually dance about outside punchin’ range and cook them super shotgun style before it got to dangerous ;). I haven’t really encountered anything comparable to them in Quake 4, or equally annoying found lurking around a corner! The seem to have been replaced by the Grunts, which are little more then Berserker Junior Grades in my book 8=). Because like the Berserkers, get close, shoot the monster with some shells, back off before it impales you, then pelt it some more. A shame though that you usually encounter Grunts as lone wolfs (unlike Berserkers). With how bulky the things are, it would be an awesome thing to cause some monster infighting DooM style with; not to mention an interesting exercise in level design, to use them to heard the player into the line of fire of worse monsters or even into traps!

Whenever I’ve bumped into a shield packing Gladiator, I’ve always plugged it using rockets, grenades, and slugs; I think I’ve only encountered one light tank so far, so there hasn’t been anything really durable yet. If memory serves, light tanks in Quake 4 are a heck of a lot more rare then the Tanks of Quake II were… and no where near as nasty. The Quake II tanks, oi; first time I met one, the sucker soaked up nearly every bit of ammunition I had—before leaving me bare in country riddled with Gladiators, Enforcers, and Gunners!

The Gunners in Q4 are actually not as mean as I remember them being in Q2, feels like they spend less time spamming grenades your way; but they are still awfully fun to nuke on the run :-). Going CQ with them using the shotgun or a rapid fire weapon like the hypberblaster & nailgun is especially more interesting then shoving a few rockets or slugs up their keesters from a far. I think in one spot, it was a ring around the rosey like game: using grenades on the former grenade masters lol.

The only enemies in Quake 4 that worry me are those bloody Iron Maidens; you can’t get much worse then a ticked off cyber.itch wielding a rocket launcher and shrieking your ears off—unless it starts to teleport around, and takes a lickin’ and keeps on shootin’ at you xD.

I reckon the tower hopping war and nexus hub could probably be compared to MDK and the end of DooM. I can’t help but wonder though, what are the odds that the ‘new’ Makron was built using the nameless marine from Quake II? After all, the guy did survive as virtually the last survivor of a failed drop, kick the strogg in the teeth, and deep six their leader…. wouldn’t that be a twisted end? But assuming the hero of Quake II lived to tell the tale, one could argue that he was more effective then Quake 4s Matthew Kane – who ended up part Strogg in the process of one upping a John Doe!!!

It hasn’t been a very comfortable day… to say the least of it. I woke up a bit after 0600Q with a toothache and no luck gettin’ back to sleep. I remembered something a friend once said about using a moistened tablet of paracetamol (acetaminophen) to rub along the site (and iirc, push in the “hole” if such was the case). Finding a bottle of tylenol here being slightly harder >_>.

Since yesterday the phone rang, and I stupidly left my headset on the chair instead of the desk – I sat down with a crunch! So today I had to get a new headset. I can care less about the Live! related features, as long as it is decent quality and durable (even if not 160lb of ass worth, lol). In installing it, I had quiet a bit of a monkey fight to get everything working; seems that the driver disk really likes Live Call / Messenger—and lacks a required USB Audio driver for Windows XP SP3. Ok, I was saved by that annoying hardware detection dialog but at least XP no longer thinks the headset is a mass storage device! Sound quality is totally different, gunfire in RvS and SWAT 4 reminds me of listening to Call of Duty on my brothers (costly) speaker system once upon a time.

Spent a bit of time playing OpenArena, set up a skirmish on my favorite map with 3 bots for help against 4 bots. I scored nearly 70 frags, at least a dozen of which involved the “Buzzsaw”. I couldn’t get ahold of any decent weapons but the starting kit, so I decided to start chasing the pricks with a Buzzsaw, racked up a screen full of kill-icon things with it before finally getting a proper kit. I’ve also started to get better with rocket-placement – even scoring several direct hits as well as the usual splash-damage SOP.

Tried to take some time to write code but no one in this rat-fucking place would let me get work done. Combine with a nasty headache, and I said fuck it all—and just took a nap.

I feel much better now but absolutely nothing has gotten done. I have all of about 2 useful lines of documentation for the library I wanted to get done, LAST WEEK.

OpenArena – addictive Quake III style!

Finding myself a bit light on time today, is tarted looking again at the ioquake3 engine with an interest in playing around with it. Of course, there is nothing better then a real world example – I tested Urban Terror and OpenArena, two games based on ioquake3 and Quake III: Arena game play. Urban Terror applies modern weapons and equipments but beyond that is not really a realism game IMHO. OpenArena on the other hand, sticks close to the core—it is as Quake like as the game play lol.

OpenArena is addictive and you can just feel your brain cells rot away as you engage in the carnage! The game is fairly simple and straight forward, you spawn, you run around, you blow people apart (gibs all over), oh yeah, and there are power ups here and there. Really, there isn’t much more to say about it then that, other then it is strangely enjoyable; no wonder the Quake franchise has made millions.