Tag Archives: Hardware

Non-Binary Computing

Check out this presentation on non-binary computing! It’s for an entry for the Hackaday Prize, a competition to commemorate the 10th anniversary of Hackaday’s founding.

Continue reading

Tagged , , , , , , , , ,

PS4 Architecture: More ‘Open’?

ps4 controllerRecent comments that game console software distribution is quickly becoming a media channel that is too archaic for reaching today’s gamers are somewhat misguided. Many high-profile websites like Eurogamer and Kotaku seem to be lauding the rough specifications of the new PS4 console as a sort of dramatic shift in the way console gaming has traditionally been conceived. They allege that by adopting a hardware architecture more in line with that of the PC, the PS4 will exhibit an openness as yet unseen in console gaming. Is this really true? This article from Gamasutra applies some healthy scepticism to Sony and Eurogamer’s optimism–what does an ‘open console’ mean, and, perhaps importantly, what isn’t an open console?

Confucius Say, Look To The Past

Wise old Confucius tells us to look to the past if we want to divine answers about the future, and by looking back at the console architectures of ages gone by, one can tell that he’s not far off the mark. It’s a commonly known fact that the most popular at successful game platforms of the last 40 years have usually always featured relatively open and accessible hardware architecture:

  1. Atari 2600: It may have only possessed 128 bytes of RAM, and lacked any kind of frame-buffer–not to mention Video RAM–but its CPU was a stripped down the MOS Technology 6502.
  2. NES: While its PPU featured bit-mapped sprite indices (limited sprites per TV scan-line, limited sprite sizes, colours and transformation rules), which caused developers endless frustration late in its life-cycle, it’s CPU was, again, based on the MOS 6502–it was modified to incorporate a sound generator, and more O/I addresses.
  3. Commodore 64: Famously employed the MOS 6502 in its modified form, the 6510, which incorporated a general 8-bit O/I port into its design.
  4. TurboGrafx-16: Possessed a very intelligent three-chip architecture, which featured a CPU based on a modified 6502 design. Its CPU had an additional memory management unit, allowing it to address many times more memory than the original 6502, a parallel I/O port and a programmable sound generator. The brilliant thing about the TurboGrafx/PC Engine’s architecture was that its 16-bit Video Processor and accompanying Colour Encoder chip allowed the processing ability of its CPU to be maximised, allowing what was really a much cheaper console architecture to convincingly compete with its more modern rivals.

    Starting to see a pattern emerging?

  5. Super NES: Utilised a 16-bit CPU that was based on the architecture of the MOS 6502. Its instruction set (the list of digital input data required to make the processor do something) was a superset of that of the 6502, meaning that it could emulate its operation more or less flawlessly. In designing one of the most famous and fondly-remembered game consoles of all time, Nintendo made the decision to base its architecture on a platform already well-understood.
  6. Sega Mega Drive: Had its CPU based on the Motorola 68000, which was, for a time, very popular for its power and inexpensiveness. It was used in many famous computers such as the Apple II, the first Macintoshes and the Commodore Amiga. One of the stand-out features about the 68000 family of processors is that their design philosophy focused on orthogonality. This meant that its instruction set was as divided into two types of instructions as strictly as possible: operations and address modes. Ideally, all operations and address modes should be available and compatible with one another. Very simply, operations specified how to process/manipulate information, and address modes more or less specified where that information was. For a time during the 80s, it was uncertain whether the design architecture of the 68000 or the x86 (8086, 80286 &c) Intel IBM PC architecture would come to dominate the future design of computers. In comparison to the 68000 design philosophy, the x86 architecture was (and is) incredibly ugly and unintuitive.
  7. TRS80, Sinclair ZX80/Spectrum, Sega Master System: These gaming platforms used the Zilog 80 CPU, which, along with the MOS 6502, dominated home computing in the 80s. The Commodore 128 used famously the Z80 alongside its 6502-derivative CPU so that it could attain CP/M (a widespread Operating System) compatibility.

    Compare the CPUs used in the following post-fourth generation era consoles with those of the above.

  8. Playstation 1: Used a MIPS Computer System’s R3000-family CPU, then a high-end graphics workstation processor. It was fairly well understood and documented in elite graphics-production circles, but did not have anywhere near as widely-spread commercial use as the above processors.
  9. N64: Made of use of another member of a MIPS CPU family, the VR4300. Again, a very specialised processor.
  10. PS2: The Emotion Engine; custom processor designed for the PS2 alone by Sony and Toshiba. While it features a MIPS-compatible instruction set, the processor is actually eight separate processors that were designed to work in parallel. This design architecture was notoriously difficult to harness without special effort, in comparison to the Intel Pentium 3-based Xbox and IBM PowerPC-based GameCube.
  11. PS3: Another highly customised CPU developed in conjunction by Sony with Toshiba, and this time IBM, the Cell Broadband Engine. It was another parallel-processing chip. As many commentators have said before, its potential has not been realised due to the increasing prevalence of multi-platform

While there are exceptions (barring the original Xbox, both Nintendo consoles and the latter Xbox being based on slightly more common, but still commercially obscure IBM PowerPC architecture) to the pattern constructed above, the decision by Sony to base the PS4 on x86 architecture actually presents a return to basing a gaming console on a widely understood and utilised hardware architecture. In this vein, the comments that some media outlets have been making about the purportedly archaic console-concept of game content delivery is misguided because, as history shows, consoles originally echoed the design concepts of personal computing.

Gaming in the 1980s was more-or-less exclusively powered by the MOS 6502, and to only a slightly smaller extent the Zilog 80. In the fifth generation we see something of a deviation from the use of common processor architecture in the form of MIPS CPUs. A qualification here is important–both Nintendo and Sony used MIPS technology, so, in a sense, the CPU instruction sets that they were asking programmers to deal with was very similar between their two competing systems. However, if the fifth generation was to follow the trend of the first four generations of console gaming, they should have implemented x86-compatible architecture then!

The release of the fifth generation of gaming consoles also coincides with the commercial rise of Reduced Instruction Set Computing (RISC): the design philosophy that smaller CPU instructions lead to more efficient and powerful computer processing capabilities. If we use the implementation of RISC CPUs as our independent variable for the analysis of how gaming console processors have diverged from those most commonly used everywhere else (x86 architecture) we can conclude fairly decisively that game consoles have done nothing but very significantly specialised their hardware since the mid-to-late nineties, since the PowerPC architecture is indeed RISC.

Yes, Indeed More Open

Ignoring content delivery systems (Blu-ray discs, Steam-like online content delivery &c), based on a mere cursory glance at the Central Processing Units used in game consoles since the late seventies, the PS4 architecture, if indeed based on the Intel x86 design concept, actually does present a more open platform for development. Much like the jump from the more-or-less exclusive use of assembly language to the use of higher level programming (like C) from the fourth to the fifth generation of consoles, the use of an architecture more familiar to that of the PC will allow developers to access more resources (both in terms of capital and labour) at much cheaper costs, ideally causing games to be more plentiful, and of better quality due to the ability of everyone being able to ‘talk the same language’. However this increased openness doesn’t actually present a challenge to console gaming as a tradition or a concept, because the dichotomy between console-versus-PC is actually only a relatively new event. It’s only really subsisted since the mid-to-late nineties.

Shovelware: Plato’s Republic

This might present itself as a fairly obscure and convoluted way of making what is really a very simple argument, but in The Republic, Socrates outlines to his listeners that justice manifests itself in three different compartments in people’s ‘souls’ (their personhood or psychology &c): a rational part, that pursues and lusts after truth, a ‘spirited’ part that desires nothing but honour, and an appetitive soul-section that lusts after everything else: carnal desires, food and money. Socrates argues that in order for someone to be just, these three parts of someone’s personhood need to be in the correct proportion. The same could be argued to apply to the design of console hardware.

If this strikes the reader as a fairly bizarre connection, I point them towards Egoraptor’s famous and influential (not in an academic sense, obviously) ‘Sequilitis’ video about the first and second NES Castlevania titles. His argument is actually just a derivative of Plato’s argument in The Republic! The point trying to be made here is that by basing their console on x86 hardware, Sony risks exacerbating what their Playstation 1 and 2 console libraries suffered from worst of all: poorly and cheaply developed games. While the cause of the production of all the terrible money-grubbing titles that flooded store shelves in the 90s and 2000s for the Playstations was not due to the hardware design of those consoles, but due to their branding good will, Sony are actually risking the creation of a particularly efficient cause for the development of PS4 shovelware.

While Plato’s argument about justice (in the mouth of Socrates) has fairly undemocratic consequences about politics, and correspondingly fairly elitist suggestions with respect to the artistic value of games (let alone anything: see the sections where Socrates discusses the ‘noble lie’ on which his republic would be founded (n.b. Nintendo fanboyism), and his justification for state censorship), one should at least be partly persuaded by it when the plethora of mindless first-person shooter franchises that dominate our current gaming culture are brought to mind. More than that, if we construe Plato’s 3-part soul argument more favourably, we can acknowledge that too much appetite (shovelware, mindless sequels &c) is the antithesis of good artistic values, but also see that too much lusting after truth produces illusion, and the excessive pursuit of honour is oppressive and unnecessarily violent.

While quite often success is based on something external to a planner’s purposive intention, let’s hope that this return to hardware convergence that the PS4 (and the new Xbox) seems to be making escapes excessive appetite in terms of aesthetics. Who knows, the PS4 might fail due to excessive honour, instead of appetite, like its predeccessor, and many other consoles before it (the Saturn, with its rushed redesign due to Sega’s ignorance of the rise of 3D graphics, and, in part, the N64–with Nintendo’s spate with Sony leading to their rejection of CD-ROMs as a game medium).

Tagged , , , , , , , , , , ,


titlecardAs previously alluded to in our article on the development of the Sega Saturn hardware, history is written by the victors. It’s because the Saturn ultimately failed–commercially–as a platform that games like Exhumed never got to deliver developers like Lobotomy Software the reward for their efforts that they deserved.

Exhumed (or Powerslave, as it was known in the US) is a corridor game that touts the virtues of the Saturn. With tight controls, well-executed concepts, and fantastic early fifith generation graphics, Exhumed is an example of a triumph of substance over form, a true case of game design done right. At the risk of sounding formulaic, it’s important to stress that while it is a fantastic game, it isn’t without its flaws.

I’m going to buck the trend and say that the best thing about Exhumed is its non-linearity. That’s not to say that non-linearity is a virtue in itself (cf. this Kotaku article); in this particular game, it, as a method of delivering game-play, non-linearity has been well-executed. From the very beginning, the player will get the impression that there exists some deeper intention behind the levels they’re exploring. Out-of-reach items and impassable passages might at first present themselves as confusing obstacles, but upon finding new power-ups and using good old-fashioned logic, finally satisfying your curiosity is definitely satisfying. Given Exhumed‘s Egyptian setting, it’s entirely appropriate that the player should be feeling as if they’re stabbing around in a warren of inter-related pathways (many fittingly tomb-like), some to be traversed early, some later, some many times, and some to be noticed once and then entirely forgotten. As the game progresses you will truly get the feeling that you’re moving deeper and deeper into the heart of some powerful and mysterious heart of darkness–and this is where Exhumed‘s aesthetics lend a great helping hand.

obeliskIn addition to the way it structures its substance, Exhumed‘s graphical prowess offers much to impress. I’m going to ignore the features of Exhumed‘s graphics that modern attitudes towards first-person shooters would deem unacceptable (like the lack of: two real degrees of player visual freedom: left-right, up-down; full 3D, context-sensitive game environments; complex NPC AI &c), because they don’t impact on the kind of game Exhumed was trying to be. In 1996, first-person shooters were games of a fledgling new genre. Many of them, like their proginator, Doom, were corridor games. Given that it is a corridor game, Exhumed‘s graphics/aesthetic features are of a very high standard. Combine this with the fact that it was purposefully designed for the Saturn, a platform with hardware architecture that was notoriously difficult to program, and you have something of great interest in terms of video gaming history.

The stunning thing about Exhumed‘s visuals is that they feature large environments without sacrificing its fast-paced game-play speed. This is achieved through a neat programming trick that owes much to Exhumed‘s Doom origins.

As Exhumed‘s 3D-engine programmer Ezra Dreisbach tells Eurogamer in 2009,

…the main different thing about console FPS of that era is that every wall has to be diced into a grid of polygons. This is because there is no perspective-correct texture-mapping and, in the case of the Saturn, no way to clip. You really needed some custom tools to deal with/take advantage of this, and Lobotomy had Brew (made by David Lawson).

As Dreisbach stated in his interview with Segasaturn.co.uk, overcoming this limitation in texture-mapping was achieved by

automatically [combining] the wall tile graphics into fewer “uber-tiles” and [rendering] the walls like this when they [were] far away.

machine gun lasersIt’s a simple concept, but many 3D games of the era on the Saturn failed because they refused to take account of the Saturn‘s hardware. Through original programming, Exhumed was able to pull off enormous environments with fluid animation and dynamic lighting, helping develop a proper atmosphere in which to immerse the player.

Much like the effect achieved by the game-play progression, the visuals really do convey the idea that you’re penetrating a many-thousand year-old civilisation. Sky-lit levels leave you feeling roasted, laying everything bare and brutally exposed in its openness. The swarm-like onslaught of enemies in these environments cause you to become desperate with your weapons, as there is frequently nowhere to run. Contrastingly, underground levels are suitably chilling and dank, sparsely but properly lit, all giving the strong impression that these places are musty from thousands of years of rest, previously untouched, unseen, dormant and perfectly sealed.

The following excerpt from an now-defunct Slovak game magazine does a great job at conveying an idea of what Exhumed‘s atmosphere is like. The language is somewhat over-the-top (and not perfect), but I couldn’t put it any better:

I won’t start with technical execution, graphics or sounds, but I’ll spit out immediately the most important and gigantic thing which Exhumed has: atmosphere. Atmosphere of this game is something so perfect, heavy, [colourful and full of emotional impact], that words are not enough to describe it. You will be walking inside thousand-year-old temples full of mummies, and most fantastic decorations: vases, paintings, hieroglyphs. That [is all said] with a regard for [the game’s] monumental architecture, which makes you feel–even though you are the main hero, [on] which the faith of mankind depends, [and] though you will be fearfully killing enemies with your weapons– small and unimportant. Even though you [might be] cutting with a machete the strings of the original inhabitants, the buildings remain. [So too remains the] gold, paintings and the old culture, which is [also] indestructible. The majestic columns benevolently gaze over at doings of some man with knowledge that he will [soon] leave, and will leave them to rest maybe for [many more] thousands of years.

Before moving on, it’s worth mentioning that a key feature to praise is Lobotomy‘s ability to engineer convincing transparency in the game’s water terrain–something heavily rumoured to be a weak ability of the Saturn.

sobek pass

Sobek Pass’s One-Texture … Samba

There are points where the visuals falter. The main complaint to level against Exhumed here is a common one among many games of its time: poor texturing. As an example, an early level, ‘Sobek Pass’, is almost entirely composed of one texture. See right for an image.

The difficulty in resolving different wall-faces apart from one-another makes finding your way around the level’s environment difficult, and at times frustrating. While this is regrettable, the level very cleverly riddles away the keys to its doors, and staggers its assortment of enemies in an intelligent way. This is much the same where-ever weak texture variation occurs: weakness in texturing is always moderated by the level design. The player is never unfairly forced to deal with too much of a challenge at once.

anubis roomA welcome complement to both Exhumed‘s graphics and game-play is its controls. While the main character’s enormous jump length, somewhat stilted ability to look up and down, and at times slippery pin-point on-the-spot manoeuvring takes some getting used to, Exhumed‘s auto-aim and pleasantly precise controls give it an intuitive feel. As opposed to many corridor games and Doom clones/ports, the controls don’t buck back at you in the middle of hectic fire-fights, resisting your will. It’s obvious that careful attention has been paid to the player’s interface with the game environment because one is able to learn how to get better at Exhumed. It’s rare that a console first-person shooter that relies entirely on D-pad controls features such intuitive player interaction (cf. Croc), but we here have a shining example.

firepotsModern FPS players might have a hard time adapting to what they might describe as primitive control scheme and limited game-environment context, but, that aside, Exhumed is a stellar example of the fruits of the labour of a developer who cared about their work. Lobotomy Software may have ultimately paid the price for not jumping on the same wagon as many other early 3D developers, but they produced something authentic. Effort, here, clearly translated into quality, and it is for that reason that Exhumed is definitely worth your time.

If you can scrounge together–by any means–a working version of this Saturn title, you’re guaranteed to be rewarded with an experience that creatively extends and develops the ideas that made their first exposition in Doom.

The reader can find a Lobotomy Software fan blog here and a YouTube video about the history of the developer here. A really good post to read from the fan blog that centralises a lot of information about Exhumed should not be missed. A write-up and a fairly illuminating interview about the technical aspects of Exhumed by GameFan can be found here:

I put the dynamic lights in after seeing Loaded on the PlayStation. Each of the wall polygons is being drawn gouraud shaded for the static torch light. As each vertex is transformed, the lighting contribution from the dynamic lights is added in. The algorithm is the cheapest, fastest thing I could think of that would still look okay.

EDIT: For more screenshots and another great discussion of Exhumed‘s concepts, read this  NeoGAF thread.

Tagged , , , ,