Jun 11

This model was created by Andrew Comb. It took six years to model in Lightwave 3D, and has a total of nine million polygons.

Once upon a time, a handful of pixels madeth the space invader. Graphics were iconic, not representative: a picture on the box or manual showed you what it was meant to look like, and your mind filled in the necessary gaps. Nobody could have predicted that in just 20 years, we’d be immersing ourselves in realistic living cities, flying over gorgeous tropical islands and going head-to-head with astoundingly rendered characters – and not even being particularly impressed. But in years to come, modern games like Grand Theft Auto IV and Crysis will look just as dated as the classics we remember from the days of yore. In fact, they’ll probably look more so: while the simplicity of a retro game’s look has a certain charm to it, old 3D titles tend to flat-out look old. Try almost any hit game of the mid-to-late ’90s for proof of that.

3D is about more than just pretty graphics. Done right, it makes gameworlds come alive. A 2D sprite can only do what it’s been drawn to do, while a 3D character has a complete endoskeleton and can respond naturally (at least in theory) to anything that happens – the classic example being ‘ragdolls’, where a fallen enemy doesn’t simply slump to the ground in a canned animation, but tumbles off the railing and lands with one arm draped over a step.

You can create worlds rather than merely levels, unlocking the player’s ability to truly explore and experience the world as the character would. You can build simulations ready to be poked and prodded, abused and enjoyed.

It’s phenomenally powerful, to the point that many nominally 2D games are now really 3D ones viewed from a locked perspective, so that they can better use the possibilities of animation, physics and art assets. Why render hundreds of frames of animation you may not be happy with when you can make a model and keep tweaking it until it’s perfect? You may lose some of the old-school charm, but you gain far more.

Dawn of a dimension

The first big 3D success was Battlezone, a tank game released in 1980 that used vector graphics to create its work, much like Asteroids. While a simple game by modern standards, it was fiendishly complex for such an early example, offering the ability to go anywhere in an (admittedly featureless) world, hide from attacks and fight enemies.

Battlezone was thought to be so realistic that the US Army used it to train tank gunners.

Not impressive enough? In 1987, the first Freescape game, Driller, hit the shelves. It offered a full 3D world on platforms as basic as the Spectrum, and was an actual game rather than just a tech demo. Next to that, it didn’t matter that it was ugly, the frame-rate was abysmal and the game itself wasn’t actually much fun – it got lots of attention.

The Freescape engine in its various forms was used in several famous releases, including Castle Master and its sequel, and the all-out 3D Construction Kit. Legend has it that someone somewhere once made something other than a surreal, unplayable mess in this, but we never saw it. Freescape also made it onto TV, in the form of the absolutely atrocious Craig Charles vehicle Cyberzone, one of the most toe-curling attempts at creating a games-related TV show ever. Thankfully, all that remains of it is a single YouTube clip – and that’s painful enough. Most of the early 3D games stuck to simpler technologies. These days, we think of 3D as free-roaming, real-time engines, but back in the day, simply getting a game to look 3D was impressive. As early as 1981, games were achieving this feat – 3D Monster Maze was terrifying a generation with its slowly updating screens and roaming T-Rex, and the first Ultima game was offering a very advanced hybrid of block-by-block movement 3D graphics for its dark dungeons alongside a top-
down 2D overworld for exploration.

Interestingly, while most developers kept pushing further towards 3D, Ultima ended up pulling back, switching entirely to a top-down sprite-based system for the series’ glory days. The 3D element later developed into its own spin-off – the Ultima Underworld games – before returning for the series’ sadly disappointing final outing – the buggy, system-murdering Ultima IX: Ascension.

Faking it

The problem has always been the same: the potential of 3D fights with the limitations of current systems, whether it’s simply displaying the graphics in the first place or making them look as good as other art styles. Going back to an early ’90s 3D game now is almost painful. Flat faces, non-moving lips during conversations, stick-figure character models, smeary textures and appalling animation… the list of problems goes on. Some games got past this, sometimes bizarrely – most obviously Core Design’s legendary heroine Lara Croft, who managed to become an international sex symbol despite looking like a pointy-chested Pinocchio. Most survived simply because playing a 3D game felt futuristic, even if the lack of polygons our PCs could push out meant that 2D games were usually much more detailed.

For much of 3D’s history, the trick has been getting the effect of the third dimension without having to do it for real. The early Wing Commander games gave the illusion that you were flying through 3D space, but really they were just scaling sprites up and down. In first-person shooters, it quickly became clear that walls were easy thanks to their incredibly simple geometry, but snarling hellbeasts dripping blood from their fangs were asking a bit too much. So developers compromised. The worlds themselves were made in 3D, initially just as mazes. Then, as texturing became more advanced, more realistic-looking areas were created, like those in Catacomb 3D.

Interestingly, the state of the art varied dramatically across genres. Shooters had to be fast and fluid, so they were kept simple. In the case of early games like Core Design’s Corporation, things were stripped down so much that the engine didn’t even bother with textures. Id’s first breakout hit – Wolfenstein 3D in 1992 – had textures to depict the inside of its supposed Nazi castle stronghold, but all the maps were completely flat and the interaction was limited to just opening doors and shooting enemies. Ultima Underworld, which came out in the same year, had sloped surfaces, advanced lighting effects, dialogue, puzzles, magic systems, physics, 3D objects, a real plot, the ability to look up and down instead of having your view locked straight ahead and much more.

Ultima Underworld could afford to push these limits because as a role-playing game, it was inherently slower than a shooter, and the audience was more willing to accept the necessary limitations, like the small viewing window. It didn’t hurt that while publisher Origin’s official motto was ‘We Create Worlds’, its unofficial credo was ‘Your PC Will Cry’. It never did worry about system requirements…

Two and a half dimensions

For performance and sales reasons, most games were stuck in what was dubbed 2.5D until the launch of Quake in 1996. Quake wasn’t the first genuinely full-3D shooter in the modern style, but it was the one that made 2.5D officially obsolete. These faux 3D or 2.5D games were flat maps, where areas could be raised and lowered (and in later games like Duke Nukem 3D, sloped), but you couldn’t have one room on top of another. Some games pretended otherwise, but it was generally a trick – the player would be silently teleported as they crossed the room’s threshold. Descent provided a full 3D world made up of polygons in 1995, but only a basic one – it was a series of sprawling mineshafts. The Star Wars game Dark Forces offered rooms above rooms, but otherwise stuck to the standard technologies on display in any other shooter of its era, including sprites.

First-person shooter bosses like this were unheard of before Quake was released in 1996. Now, they’re standard issue.

Sprites were a growing problem. By the mid ’90s, level design was getting more and more impressive. By modern standards, the opening cinema level in Duke Nukem Forever is empty and unconvincing, but to an audience used to bland military base corridors and castles, the realism was incredible.

Almost all these games were able to do this because they saved their 3D for the world. Actual characters were pre-drawn 2D images, pasted in to the game. Not only did they increasingly look weak, not part of the scenery and incredibly blocky up-close, but they also didn’t fit. Games could scale sprites to deal with the player getting closer to and further away from them, but when they started offering the ability to look up and down (first made popular with Heretic, a 1994 fantasy game) the effect showed its limits, with sprites shearing and increasingly looking like the cardboard cutouts they were.

A little voodoo magic

Games had to get more advanced, but the performance wasn’t there. Quake brought full-3D worlds and enemies to the field in 1996, but at the cost of visuals. Technically, they were better, and the improvement in animation was stunning – an early sequence where a snarling Fiend leaps out of a door to attack the player directly is one of many gamers’ fondest memories, to say nothing of the first episode’s room-
sized, lava-throwing monster Cthon. But the world was still drab, ugly and simplistic, with enemies that looked like they’d been knocked into shape with a sledgehammer and textures that would have lowered the tone in a morgue. Like all graphics technology, this quickly improved over the next few years, but it was increasingly obvious that simply throwing more CPU power at games wasn’t going to cut it.

Not alone, anyway

Most people didn’t really see the need for dedicated video cards at first because, to put it bluntly, there wasn’t much of one. Games increasingly offered a high-end mode that offered a higher resolution and additional effects without a specific need for extra hardware – bar a hefty processor. This high-end mode slowly became the standard experience, yet it was a long time before video cards became mandatory for playing PC games. Even technical showpieces like the original Unreal would run in so-called ‘software mode’. There wasn’t one big game that marked the transition, more a slow giving into inevitability.

Dedicated 3D cards came into their own around 1997, with several competing, mutually incompatible brands fighting it out for dominance. By far the most successful was 3DFX with its Voodoo cards. Even now, with built-in low-end 3D a standard on motherboards, a separate 3D card is mandatory for most games. On the plus side, the dominance of DirectX means that you don’t need to worry too much about which card to buy.

Individually, the abilities offered by 3D cards don’t sound too exciting. In the late ’90s, the core functions were transformation, clipping and lighting – in short, getting the card to work out where items in the world were and how they should be lit. The next big advance was the addition of shaders. Shaders are additional calculations thrown into the rendering pipeline that work on individual pixels, vertices and pieces of geometry to add effects and change the final image. Examples include working out appropriate shadows, making a flag flutter or adding bump mapping (a texture that gives the illusion of raised and lowered areas on an object without the need to add polygons). More advanced shaders include motion blur and bloom effects, soft shadows, depth of field and volumetric lighting.

The new bottlenecks

With the technology burden eased (or at least partly passed onto the card manufacturers), developers could focus on making the most of what they had. Valve largely pioneered skeletal-based characters rather than keyframe-by-keyframe animated enemies in Half-Life, and Ritual went out of its way to create interactive elements such as hackable computers in the real-
world environments of Half-Life’s closest rival of the time, Sin. Ragdolls spread to every new game until the games that didn’t offer them felt stodgy and ancient in comparison. Most importantly, the new realism of these games finally let developers sink their teeth into genres that they’d never have been able to do as traditional corridor shooters. Grand Theft Auto III gave us a living city. A million games brought the horrors of World War II to life in glorious cinematic style.

Realistic character and facial animation is a surprisingly recent addition to gaming.

Problem solved? No, just replaced. Now the issue became one of creating all this in the first place. A simple maze-based 3D shooter could be churned out in under a year by a competent team, but building cities, battlefields and other real-world elements requires an immense number of assets. Games are much shorter than they used to be, not because they’re more complicated – in most cases, the features are more advanced but the thinking is more conservative – because of the amount of content required, and the cost of making it. There are shortcuts for some things, like the Speedtree libraries for procedurally generating a forest in a hurry (used in, among many others, Grand Theft Auto IV, Elder Scrolls: Oblivion and Fallout 3), but in general, if a developer wants something, that developer has to make it himself.

Crysis 2 is the current state of the art: explore New York in the wake of an alien invasion.

Technology itself has also reached a plateau, not because there’s nothing more to do – nobody thinks that – but because right now, the big money is on Xbox 360 and PlayStation 3. Both are relatively old machines, but that doesn’t matter. PC ports often allow for higher resolutions and sometimes let you switch on better graphics (Metro 2033 looks much better for instance, as will Crysis 2 when it lands) but it’s usually a token gesture. To put the graphical difference into context, many PlayStation 3 games don’t even use anti-aliasing to smooth out the edges of their polygons, and games on both platforms typically render at a lower resolution than the high-def numbers you’d expect from the systems’ marketing.

May 07

Building a great website is tough, but finishing the code and layout is only half the story. Too many sites have problems after going live because they weren’t tested properly first. Lots of things can and do go wrong, from poorly formatted code that some browsers choke on, to pages that break when opened on other platforms. If you developed your site on a Mac, what guarantee do you have that it’ll look the same on a PC, for example?

Your site is a prism for browser light. Make sure it’s not a flawed one.

Even now, when HTML structures are likely to be served as part of a CMS template system, it’s important that all the basics are in place. You need a soak test: a checklist of crucial areas that you can test are working before the site goes live. That’s exactly what we’ve put together here. Follow our tips and your site will be as problem-free as possible.

Clean up your code

Clean, glitch-free code with no stray tags or unclosed comments looks better, is easier to edit and is less likely to spring surprises on you when your site goes live. WYSIWYG web authoring tools already include features for tidying up your code. Let’s face it – some of us really need them. Dreamweaver will even format and indent your HTML following your configuration guidelines. Go to ‘Commands | Clean Up HTML’ or ‘Clean Up XHTML’.

We prefer to run static code through HTML Tidy, which is available as a stand-alone program from http://tidy.sourceforge.net/#binaries, or as a plug-in for manual code-editing tool NoteTab Light. The software deletes stray tags, adds any missing tag elements and completes open tags for you.

Meet HTML standards

Compliance with World Wide Web Consortium (W3C) standards makes your sites more accessible and usable, and also helps them to perform well on multiple platforms. You can see whether your site is compliant with XHTML and CSS standards by using W3C’s online validation tools. You’ll find the main testing page at http://validator.w3.org. This gives you a full breakdown of all the syntax and code errors in any page submitted. You can then update your code in accordance with the guidelines. Don’t be disheartened if your site fails. Some of the web’s biggest sites have XHTML errors according to the validator, including Google and Microsoft’s homepages.

There are numerous tools online that will validate your site for compliance with the relevant standards.

To use the W3C’s validation tool, go to http://validator.w3.org and enter the URL of the web page you wish to test. You can also upload code from a local machine or paste HTML mark-up into the Direct Input box. The validator can only check one page at a time.

Meet CSS standards

There’s a second service available to help you check and correct CSS scripts. It can be found at http://jigsaw.w3.org/css-validator. Again, you can point the validator to a version of the file you wish to check online, upload the code or paste it directly into a box.

The errors returned come with detailed explanations of how you can fix them. The validator will identify even the smallest of problems, including missing line terminators and brackets.

Enable resizing

Remember the early days of the web, when sites came with front-page disclaimers such as ‘Optimised for Internet Explorer at a resolution of 800 x 600 pixels’? How we groaned. Don’t forget that people are viewing your site on different platforms, with different display settings and monitor resolutions. Enabling your page to resize to any browser means that it will work better on multiple platforms, from desktop machines to handheld devices. The key is to use percentage sizes when creating <div> layers rather than specifying fixed sizes. It’s a tough habit to get into, especially if you’ve become used to creating exactly positioned layouts.

Resizer is essential for testing the flexibility of your site’s design.

First, check that your site looks good on the largest monitor size your setup can muster, then work backwards – down to 800 x 600 pixels. Right-click your Windows desktop and choose ‘Properties’. Click ‘Settings’ and you’ll be able to change your default desktop resolution using a slider. If you use Vista, choose ‘Personalise’ from the contextual menu instead. It’s even easier in Windows 7 – there should be a right-click menu item labelled ‘Screen Resolution’. Some video card control panels let you do this without venturing into Windows’ display settings.

Test on all browsers

It’s important to make sure that pages look the same in the big five browsers: Internet Explorer, Firefox, Chrome, Safari and Opera. Fire up your site in each of these and make a careful comparison. Here’s a quick tip: if you have two browsers open showing the same page, right-click on an empty part of the Windows taskbar and choose ‘Tile windows horizontally’ (or ‘Show windows side by side’ on Windows 7). This makes it easier to spot differences.

Five browsers on one system may seem like overload, but there are ways to cut that down. If you’re a Firefox user, you can install IE Tab, a plug-in that enables you to view pages using Internet Explorer’s rendering engine. There’s also Chrome View, which renders pages in Firefox using Google Chrome. In short, get Firefox.

Test on Macs and PCs

Your pages should look the same on Macs as they do on PCs running Windows, whether you have access to one or not. The best method is to borrow a Mac to test your site. If you’re developing for a professional audience, you can employ the services of Browsercam instead.

The Litmus test. Run your site through actual browsers on actual operating systems. For a price…

Litmus uses a bank of testing machines running multiple browsers on all the main OSes. For a subscription fee of $49 (£30) a month, it lets you test an unlimited number of web pages. You enter your site’s URL and receive screenshots as it appears on Macs and Windows systems running any of 24 web browsers. Most of the important ones are included, with different iterations of Firefox, IE and Chrome on Windows, and Safari and Camino on the Mac. The only current important omission we can spot is the Mac version of Chrome. $39 (£24) buys you a 14-day ‘project pass’, which is a good choice if you only have a single site to test.

Testing for free

These are trying financial times for most of us, so here are a couple of free solutions. The runaway leader is Adobe Lab’s Flash- and Flex-based BrowserLab. It’s similar to Litmus in that it gives you a side-by-side view of a given URL in a set of chosen browsers. The tool is currently in limited beta and you’ll need an Adobe user account to use the service. Once in, you enter a URL, pick a browser and platform (or choose from the default browser set), then pick your view. As well as side-by-side comparisons, there’s an ‘Onion Skin’ mode that helpfully enables you to see the output of one browser laid over that of another. BrowserLab renders pages using the main browsers on Mac and Windows.

If you’re unable to access BrowserLab, BrowserShots was once a favourite of ours and is still good for checking multiple versions of Internet Explorer on Windows. Support for Macs has waned, but there are Linux- and Windows-based WebKit browsers included. WebKit is the rendering engine used in Apple Safari, and Google Chrome uses a tweaked version.

Check your gamma

A perennial brain-ache for designers working on Macs and PCs is that, until recently, Mac displays had different default gamma settings to PC monitors. These settings determine the relative brightness of the screen. PCs have a gamma setting of 2.2, whereas Macs had a gamma setting of 1.8. We say ‘had’, because that changed with the release of OS X 10.6 (Snow Leopard), which sets display gamma to 2.2 – the same as PCs and TVs. Even so, many people still use older Macs, and there’s a disproportionate number of Mac-based designers. The result? Images produced on pre-Snow Leopard Macs can look muddy on PCs, while PC-created pics can seem washed out on older Macs. The solution is to check images at both gamma settings to make sure they look OK either way.

You can never be entirely sure of the look of your site, but it does pay to test varying gamma settings.

Adobe Photoshop has a built-in Mac (or PC) gamma preview feature. Select ‘2 Up’ in the Save for Web dialog, then set an image to render using the setting ‘Macintosh (no colour management)’. It’s arguably more important that Mac-based designers get it right than PC users – and if you’re a Mac owner, you can switch your display to PC gamma in the Display section of the System Preferences panel. Click ‘Colour’, choose the current profile and click ‘Calibrate’. Work your way through the Display Calibration Assistant and choose ‘2.2 Television Gamma’.

Buy a Mac

If you have a lot of sites to test, it might be worth investing in one of Apple’s diminutive Mac Minis. They start at £510 (or even less on the second-hand market), are small, stylish and make excellent media centre PCs. Load yours up with Google Chrome, Camino and Firefox and you’ll be ready to test as many sites as you need to. You don’t even need to leave your PC to do so – you can use free remote desktop software TeamViewer to access and control any application on a TeamViewer-equipped Mac from a PC, or vice versa. The machines don’t even have to be on the same LAN, because connectivity is routed over the internet.

DDA accessibility

Your site needs to be accessible to all users – that’s the law. The Disability Discrimination Act is the main legislation covering this area, and the guidelines you need to match have been laid out by the World Wide Web Consortium. Full details are at www.w3.org/WAI.

Accessibility testing will help make your site available to all potential visitors.

There are fewer online accessibility testing services available in 2010 than there were in 2000 because many of them have become commercial. For example, you can use Adobe Dreamweaver to produce an accessibility report. Go to ‘Site | Reports’, then go through the Accessibility section to select elements to test.

Fujitsu offers a free tool that does a similar job, letting you test your site locally on Windows or Mac OS X. Download the Web Accessibility Inspector from www.bit.ly/aDgNZD. There’s also the Fangs screen reader emulator (www.bit.ly/bDhCfQ). It’s an add-on for Firefox that shows you how your pages will be seen by readers, enabling you to tweak the textual content.

Speed

The need for speed never went away – you should still optimise images and link to multimedia rather than embedding it directly. This is particularly pertinent in the light of Google’s recent admission that page speed is a component of its labyrinthine page rank algorithm.

OctaGate SiteTimer is a free service that not only tells you how speedy your pages are to download, but also pinpoints exactly where any bottlenecks may occur. As pages download, SiteTimer saves data on every element, recording how long each takes to download. More recently, Google came up with Page Speed, a Firefox add-on that you can use to generate a report on your code and your web server’s efficiency in delivering it. If there’s a bottleneck, Page Speed will find it.

User experience testing

Big web companies pay lots of cash to have their sites tested by specialist usability testing agencies. They’re looking for problems with the navigation system, embedded media and the site’s overall flow. However, you can cobble together your own tests with very few resources. All you really need is a group of people, some computers, a site to test and the right set of questions. Your first task is to gather a test group together. The group doesn’t have to be large, but its makeup should correspond roughly to your site’s target demographic.

Present your subjects with variations on your site or page design. Are you unsure where the shopping cart works best, or whether that dark, hi-tech colour scheme works better than a lighter, cleaner presentation? Try the different layouts out on your group of test subjects.

Put together a list of questions to ask your test group. You could ask them to rate site navigation, look and feel and whether they could easily find what they wanted. You could also ask them specifically what they liked and disliked about each aspect of the site.

Apr 20

However you slice it, the PC processor business this year has been all about Intel. First came a revolutionary dual-core chip with a graphics processor shoehorned into the CPU package. At the other end of the scale, a new six-core monster has made Intel’s position at the top of the performance table look even more unassailable. Meanwhile, AMD’s CPU division has released, well, very little. Minor revisions of its dual and quad-core chips has been your lot.

That is about to change. By the time you read these words, AMD will have unleashed its own hexa-core desktop processor, known as Thuban. Based on AMD’s ageing Hammer platform, it won’t be enough to scare Intel’s finest. We’ll have to wait until 2011 and the arrival of AMD’s new Bulldozer CPU architecture before there’s any chance of that happening, but Thuban should make for an interesting addition in the meaty mid-range of the CPU market.

Of course, I’ve chewed the fat regarding the prospects for Bulldozer in PC Pluses passim. But it’s actually the chip scheduled to arrive between Thuban and Bulldozer that should mark the beginning of AMD’s renaissance. Codenamed Llano and due late this year or early next, it’s AMD’s first stab at a CPU-GPU ‘fusion’ processor. Intel may have beaten AMD to market with such a device, but it’s looking like AMD might have the edge.

For starters, AMD has much better graphics technology than Intel. That’s unlikely to change any time soon, given the recent cancellation of Larrabee, Intel’s stillborn effort to engineer a stand-alone graphics processor. Indeed, thanks to some recent disclosures from AMD, the full implications of its superiority in graphics are becoming clearer. Images of the Llano die have been circulating and reveal that the graphics core is big. Really big. It consumes nearly half the available die space. Remember, this is a 32nm quad-core processor. That means AMD has invested lots of transistors in the graphics.

Extrapolating from such images is always perilous, but I’m confident it will be by far the most powerful integrated graphics chip ever. To put it into context, the fastest integrated graphics core AMD currently makes has 40 stream processors. Llano is thought to have as many as 480, making it over 10 times as powerful. Indeed, the Llano graphics core looks more powerful than AMD’s fastest discrete desktop GPU of just a couple of years ago, the Radeon HD 2900.

Comparisons with Intel’s current Westmere fusion chips are tricky, not least because they are dual-die constructions combining a 32nm dual-core processor with a 45nm graphics chip in a single package. Suffice to say that in terms of rendering grunt, Westmere doesn’t even rank as the most powerful current integrated GPU, much less threaten Llano. Of course, by the time Llano appears Intel will be tooling up for its upcoming Sandy Bridge family of chips. Like Llano, Sandy Bridge derivatives will be quad-core, single-die chips. Intriguingly, die shots reveal the graphics core in Sandy Bridge represents at most one fifth of its total area.

All of which means we have two very different looking approaches from AMD and Intel when it comes to fusion processors. You could say each plays to its strengths. AMD has great graphics and relatively weak CPUs, so stuffing a big GPU into its fusion processor allows for a strong narrative. Want a great visual experience from your low-end PC? Then you need AMD. Meanwhile, Intel will be emphasising the superiority of its traditional CPUs, something it will have no problem demonstrating.

On the desktop, it looks like a win for Intel. Anybody who wants serious graphics power will simply drop in a discrete video card (though there’s a good chance that video card will come from AMD). It’s a different story for laptop PCs, however. Power use is the driving factor here, and that means a heavyweight discrete GPU is a non-starter. Likewise, outright CPU performance is less of an issue for mobile systems.

What AMD will therefore be able to offer is a more balanced package. Its CPU won’t be the fastest, but it will be good enough. Meanwhile, it will have by far the best integrated graphics core, all the better for everything from gaming to high definition video playback. What’s more, if general processing on the GPU ever takes off, well, that will just be gravy. All this, of course, is before the arrival of AMD’s new Bulldozer CPU architecture. If that’s any good, Intel really will be under pressure.