Sunday, November 20, 2005

The World's Best Computer Games #1 - Quake 1

I thought I would try my hand at saying not only which computer games I think were the best, but also how they could have been made better. Firstly, the list of games. Although everybody else in the world is likely to disagree, the list is based on what games I find myself wanting to play when I have exhausted whatever the most recent game I installed was. I'm not a huge games player but I have played an awful lot over the years and have found an unfortunate trend for modern games to be mostly devoid of gameplay. This list should, hopefully, point people at games that are fun to play, engaging, have lasting appeal and are not sold as an advert for a CGI workstation.

I'll quickly list a few of the candidates, however this is not is order and is almost certain to change and be updated as I describe each game in detail, along with where I think their sequels or extension packs should have gone.

The Settlers (PC)
Chaos / Lords of Chaos (Spectrum)
Syndicate (PC)
F29 Retaliator (PC)
Final Fight (Arcade)
Spy Hunter (Arcade)
Quake (PC)

First, though, I'll start with Quake. For the sake of simplicity, I'm going to take Quake 1, GLQuake and both "official" Mission Packs together.

Quake was (I believe) the first ever truly three-dimensional, fully textured game on a standard computer. My first exposure to it was on a Pentium 133MHz . To set the scene, 3D graphics cards did not really exist except in the most extreme of PC's, the Internet was there but mostly limited to specialist uses and the OS of choice was DOS or Windows 3.1.

At the time, Doom and some other minor shareware offerings were the only games to have any sort of 3D. The best 3D offering up until Quake had, in fact, been Doom, with it's textured walls that didn't scale well, 2D-only movement (3D was faked... you could see out of windows and go up stairs but it was all a clever trick... you could never look up or down), blocky sprites and an atmosphere that no game before its release had ever shown before.

Doom was no more that a more convincing version of the "3D" techniques used in previous titles of a similar nature, such as Wolfenstein 3D and Spear of Destiny. Quake, however, managed to invent a whole new level of gameplay. Fully 3D environments, introducing full mouse-look, had most people spending the first hour of playing their new game just looking at the scenery and eagerly hunting out things to look at.

Quake was beautiful for it's time. 3D cards showed off their power and uses like never before and most people who bought a 3D card at this time bought it so they could play Quake. A 3D-card in this era meant that you bought a 3DFX card - no set standard of 3D acceleration in DOS existed until 3DFX's Glide arrived, thereby making itself the standard for years to come. Now virtually unheard of, 3DFX and Glide had set the pace for home 3D graphics. Without them, the nVidia's and ATI's of today wouldn't exist.

3DFX cards were also able to use SLI (Scan Line Interleave). PC's at the time were pretty puny for any serious 3D work and so being able to install 2 3DFX cards in one PC and having them share the work of the drawing helped considerably and at a price point where there wasn't a faster processor available to just brute-force their way through the calculations.

Quake showed off Glide's capabilities to the point where, ever since, they've been basically an essential part of running a gaming PC. Modern computers are approaching a point where 3D and 2D are integrated so tightly, processors are so over-powered and consumers so demanding that most PC's are capable of running even the most powerful games without "specialist" 3D hardware, just an ordinary graphics card. Back in Quake's day, to make people go out and buy an expensive component was the games one main drawback but it easily overcome it by making such good use of every processor tick it could.

The 3D environments were used well. Monsters jumped out of shadows, attacked from every concievable angle, pored out of secret doorways that you wouldn't notice if you weren't paying attention. Secret areas were difficult to get to but many players found them just by trying out things that they'd never been able to do before... jumping across obstacles, leaping onto tiny platforms, looking for inconsistencies in room sizes, hunting for secret buttons above and below them.

Lighting was used to good effect, the rooms going dark and strange noises coming from behind you was guaranteed to make you panic, critical areas were visible from the rest of the map making you try to fight through to get there, slits of light under wall indicated secret areas.

The sounds were incredible but no more scary than the noises of Doom, except now full stereo and an enviroment to support your movements made it even more realistic. But what made the game was its easy introduction to such new environments, the balance of the game, the level design and the relatively new multiplayer facilities.

Multiplayer was only used in relatively basic games up until the likes of Quake and Doom. Quake supported local network play (traditional IPX and newer TCP/IP), effectively creating the first LAN parties as well as modem and serial connections. I can remember playing Quake with certain mod's over a 56,000 bps serial connection (I remember distinctly because we didn't have any sort of connections between the machines beforehand and had to bodge a 9-pin to 9-pin cable using a variety of other cables and adaptors. The final cable ended up over 6 metres in length with numerous adaptors but worked at full speed without any issues - I still have the cable and still use it because, by disconnecting it at certain points, you can form ANY serial connection you're ever likely to need with each end being male or female, null-modem or plain, 9 or 25 pin.)

Talking about mod's... the fact that people could make maps and modify the game added greatly to its use. I spent many hours combining the best parts of my favourite two addons (both of which changed everything from the weapons to the monsters to the AI) and removing features they had that I didn't like (things like instantaneous weapon respawning) while adding in other stuff that I wanted. This wasn't tweaking or playing about, you were actually given a fully functional programming language (QuakeC) in which to do whatever you wanted. It was a little buggy and pernickity but once you got the hang of it you could do almost anything. In fact, that's how the addon packs came about - the better AI in the official addons (codenamed hipnotic and rogue after the companies that made them) worked purely by using new code in QuakeC, with new models and new maps. The Quake executable never really changed at all, except to support loading from different filesets.

Quake was my first exposure to multiplayer deathmatch - years after our first foray with "the ultimate serial cable", we were still playing Quake mod's like Nehara and Wyrm with friends over our 10base2 network and the internet and still they worked just as you'd expect today, sometimes miles better than even many modern games multiplayer implementations!

Even the basic single player game would last you ages, though. You could probably force your way through it in several days of gaming but you never wanted to. Much more fun to actually play the game, find the secrets, kill every monster on the map. Your path was always pretty linear but it was actually intriguing, wondering what new monsters you'd have to deal with around the next corner. Quake was never easy, it wasn't a game to pile through just to say you'd completed it, you could take your time over it and enjoy it.

From a technical side, the system requirements were pretty minimal, even adjusting for relative price increases, and signle-handedly sparked the entire 3D gaming hardware industry - and the compatibility was phenomenal. It ran under DOS originally but then Windows came out in force and Quake still run under Windows, then a Windows native version was released and when the game was over-sequelled, the source code (which was already being licensed into games for things like the Half-life engine etc.) was GPL'd and Unix-native versions came out among all sorts of strange conversions. It also ran on Mac's from early on in it's life.

Gamesaves were simple - one key save and restore from whereever you were. Without those sort of gamesaves, the game would have taken months to complete. Video options could be ramped up or down to suit your hardware and platform. Modern computers just laugh at Quake now as they can all run it in it's top resolution without any sort of strain but back in it's day, some of the options seemed unreachable. The fact that it still scales and plays well on modern machines (and modern OS's) is only testiment to it's high technical quality. You could actually play with just the keyboard if you wanted to but having mouse-look on made it the exact equivalent to the modern FPS's that it spawned.

Network play was smooth, single play was great fun and engaging, the maps seemed enormous and to have no end to their number, downloads (if you had Internet connections back then) would only extend the amount of things you could do and the time you could spend on it. There wasn't really much of a community of multiplay gamers back then and yet there was still a major source of new content for it coming out, from official mission packs just as large as the original game to entirely new ways to play the game coming out of FTP sites.

There was no complex plot; it needed none, it was sheer atmosphere. You could jump, swim, drown (!), burn, electrocute yourself, get squished, use lifts and stairs, dodge flying buttresses and collapsing rocks, watch lava balls leap into the air in front of you, see zombies rise from the water, tear off their arms and throw them at you. The new concepts that arose were just fascinating and that's where the gameplay come from. Mods added things like low gravity levels, grappling hooks, heat-seeking weapons, trap-laying, capture-the-flag games, even primitive physics.

It was like nothing that had been seen before by the average gamer. And all from your home PC. Unfortunately, the number of new features introduced into a dozen modern games is seriously dwarved when compared against those introduced just in Quake. We might have higher-tech games now but, short of more realistic physics, there is little new in them that wasn't present or possible with the now-ancient Quake engine. In fact, many modern games use engines which are based, somewhere along the line, on actual Quake source code.

Tuesday, November 01, 2005

Trust 445a Router Recovery

A few years back, when I first went to ADSL from 56k, I bought a router from my favourite company, Trust. The router was a Trust 445A Speedlink xDSL Web Station, a bog-standard Conexant-based router pretty much indistinguishable from a technical point of view from my previous AMX-CA64E router.

After about 6 or 8 months, however, I tried to change a setting in the router's config without thinking about it (I made the router switch to PPP Half-bridge mode as I was pretty much using it in a Half-Bridge configuration anyway) and managed to make the admin interface inaccessible. At the same time, it stopped giving out DHCP, connecting via ADSL or working at all.

I couldn't find any firmware to restore it from (the one time Trust has let me down by not having the correct drivers) and it seemed beyond repair. I threw it into a back cupboard to use as an emergency four-port Ethernet switch in case I ever needed one. At the time I was a bit short of money but still went out and bought a replacement so that must have really meant that back then there was no way to recover this particular router; I never consign anything to the bin if there's the slightest chance I can recover it.

Digging it up a few weeks ago when clearing out some of my older computer cables, I thought that it was worth another shot. ADSL doesn't seem to be going anywhere any time soon so it was worth getting a backup router or using it if I have to fix someone's computer.

Details were sketchy to say the least. Google only turned up Origo Repair as a likely candidate (which would probably work if you knew how to fiddle it and probably works wonders for people whose routers can take most firmwares and who are willing to try any number of firmwares first.

Instructions for the 445A were much harder to track down until I spotted an old forum entry, hidden away in the depths of a long conversation:

"I have Trust 445a too, and it seems it uses the same chipset CX82310-14 ARM940T Processor as Billion BIPAC-711CE and others. Italians secceded flashing Trust 445a to Billion BIPAC-711CE."

The website linked to contained an instructive PDF, a driver set and a firmware image of a Billion router. The PDF itself was in Italian but with that, the firmware and an online translation service, I was able to get the approximate gist of the plan.

1) Open up the router and short jumper JP1.
2) Turn on router.
3) Connect via USB between the router and a computer with an Intel chipset motherboard (the flashing utility requires certain chipsets, otherwise it can't recognise the USB ports). I found this out on the Origo Repair page which seems to use similar flash utilities: "The only limitation is the Flash program that is used. This seems to be very fussy about the chipset in your machine. It is known to work with VIA & Intel but not with SIS, nForce2 & KT266."
4) Boot DOS (I used the Ultimate Boot CD's version of Freedos)
5) Run the flash utility with the /e switch to erase the current firmware.
6) Run the flash utility again, this time supplying the firmware on that website.
7) Wait until it's uploaded and the modem settles (quite worrying that for several tens of minutes it just looks completely inert but eventually it all completes successfully)
7) Remove the jumper, reboot and test the router.

Additionally, there's a further step to then go on to upgrade the onboard files on the router to support UPnP and various other minor fixes, but that's just the easy part.

After a few false starts (a laptop and a desktop with only SiS chipsets that the DOS utility couldn't use the USB ports on, having it plugged into a USB port which the DOS flash utility did not see as the FIRST USB port, etc.) I managed to flash the firmware perfectly.

A quick reboot of the router showed it working just as it should, albeit with another company's branded version of the admin interface. Basically, from a blank EEPROM, it had restored the 445A to perfect working health and even added UPnP support as a bonus (the 445A didn't support UPnP with it's original settings).

I stood little chance of finding this stuff out on my own and am eternally grateful to the forum poster, the Italian website authors and Google for restoring a dead router back to full health, thereby saving me about £50 in the future.

Now to go and burn that firmware, driver and my own instructions onto a million and half CD's, tapes, DVD's, floppies, USB disks and hard drives just in case the website goes down and I need it again!