Showing posts with label slashdot. Show all posts
Showing posts with label slashdot. Show all posts

Friday, 17 October 2008

And...

Hi Slashdot. Again.

Friday, 25 January 2008

I, for one, welcome our Metafilter overlords

A big hi to everyone coming from Metafilter. While you're stopping by, feel free to have a cup of tea, answer the poll, read a few articles, maybe download a game.

(Oh, and John - finish typing up that interview).

Thursday, 22 November 2007

Hi Slashdot

(Just wanted to re-post a comment I left on the Slashdot article. As for the occurrence of the 'zonksucks' tag on the article - the story submission was submitted via the firehose and went 'hot' along with a story about a man-sized scorpion. Zonk had little involvement.)

I'm arguing for the existence of levels, not against. I apologise for not making it clear enough in the summary - I guess I expected more people to read the fine article. However, I'm setting out the reasons why the existence of levels in order to load additional parts of the game is no longer a requirement, and perhaps theming, pacing, narrative, learning curve and reward are much better reasons for the level structure (I missed out reward, and I'm kicking myself for not thinking of when I first wrote the article - ironically, there's a great review of Supreme Commander on Eurogamer at the moment arguing one of the frustrating issues in that gave is the reward for 'finishing a level' in that game is to expand the play area and make it harder).

A book has chapters and a movie has scenes because these are both (mostly) narrative mediums. A counter example of books without chapters which venture closer to the game space is the Fighting Fantasy series, where the chapter mechanism is thrown away in favour of the 'choose your own' mechanic. Similarly, cross-cutting two scenes in film is a way of mixing up the narrative structure. I would be interested to know if there are any Memento-like games out there.

A game has levels for - well, narrative is certainly a reason, but not the only one.

Wednesday, 21 November 2007

Why do games (still) have levels?

(If you are looking for articles on Unangband dungeon generation, you'll want to read parts one and two first. If you're just here to find out about why games still have levels, read on. Edit: For those of you coming from elsewhere, this story got Slashdotted yesterday. You may wish to join in the discussion fun there as well, perhaps after reading my follow up blogpost).

Elite, the Metroid series, Dungeon Siege, God of War I and II, Half-Life (but not Half-Life 2), Shadow of the Colossus, the Grand Theft Auto series; some of the best games ever (and Dungeon Siege) have done away with the level mechanic and created uninterrupted game spaces devoid of loading screens and artificial breaks between periods of play. Much like cut scenes, level loads are anathema to enjoyment of game play, and a throwback to the era of the Vic-20 and Commodore 64 when games were stored on cassette tapes, and memory was measured in kilobytes. So in this era of multi-megabyte and gigabyte memory and fast access storage devices why do we continue to have games that are dominated by the level structure, be they commercial (Halo 3, Portal, Team Fortress 2), independent (Darwinia) and amateur (Nethack, Angband)?

1. Resource constraints.

As memory and storage capacity got bigger, so did game size and complexity. In almost all instances, the fundamental limit of a level size is based on a resource constraint of the game-engine. This constraint may be due to total memory availability to store the game, due to performance limits on in-game resources such as textures or game elements (which is why Half-Life 2 has loading screens and Half-Life does not), or due to lack of cleverness (or time to implement) on the programmer's part.

Almost all the games mentioned at the start of this article overcome these constraints by streaming additional data off of the disk as the player reaches the edges of the in-memory map, and through various clever workarounds of engine performance such as converting visible geometry to bit maps when exceeding a specified draw distance (SotC). Elite and its successors such as Spore and Infinity: the Quest for Earth take the different route of procedurally generating content when it is required and discarding it when it has been used to provide a continuous play area.

So resource constraints are a feasible explanation, but not the only one. Valve has implemented streaming technology to improve the in-game performance of Half-Life 2 not once, but twice, for both the Xbox and Xbox 360 platforms. And yet on the PC, what is arguably one of the best games of the year, Portal, there are frequent interruptions in the form of elevator rides and loading screens, the two of which often coincide. And Source engine games are renowned for the corner/corridor/corner map design for separating two levels. Similarly, one of Mass Effects' biggest criticisms is the use of the elevator to hide poorly implemented level loading mechanisms.

(In the event that this degenerates into a semantic argument, I'll define a level as a 'discrete area of game-space interrupted by a either map load or noticeable period of lack of game-play'. What I mean by lack of game-play is limited or no ability to act inside the game, as opposed to the necessity of crouch-rolling through Hyrule field. But I'm basically relying on your smarts to know what a level is when you see it. Before you ask, yes, each game of chess is a separate level).

I would have expected to see games with levels less prevalent, as engines with suitable streaming technologies become more wide-spread. However this doesn't seem to be the cast. Indeed, the CryENGINE behind Crysis, and Id Software engines that support MegaTextures such as Quake Wars are now capable of containing huge game spaces. But both Crysis and Quake Wars still have multiple levels.

2. Design constraints

What I mean by design constraints is the ability for map design to be worked on by multiple designers. Certainly, game design technologies have lagged in a number of areas. It has only been very recently that multiple designers and graphic artists have had the ability to work on the same game-level at the same time. Perhaps the best examples of this is the Forge tool within Halo 3 and Sandbox mode within Crysis. But earlier examples include Cube and Sauerbraten, which allow play and editing of the level geometry with the same engine, as well as Gary's Mod, should anyone attempt to create playable games within that tool. And you could argue that games like Populous and Civilization are based on the mechanism of multiple players editing the game space at the same time.

Without these technologies, a level then becomes a mechanism for splitting up the design process amongst multiple people, turning the production of the game into a factory floor where game 'parts' are built individually before before being assembled into a final product. The assembly of these levels is done through well defined end points, such as the ubiquitous elevators, or even simply by picking up the player from one map location and dropping them into another. Any game that positions you in a helicopter before landing you in a drop-zone is taking this mechanic and making it literal.

Again, technology should improve the ability for game designers to work on multiple parts of the same map at the same time, and so we would expect to see levels decreasing in prevalence as these technologies become more wide spread.

3. Unity of design

You've played games with 'the lava level', 'the ice level', 'the sewer level' and the 'water level'. Unity of design originally arose as a resource constraint issue. Only so many tiles could be loaded in the game engine at once. So by designing multiple tile sets, one for each particular locale, and then only loading the relevant tile set for each level, the game could have a much greater variety of visual elements without hitting the original resource constraint issue.

However, the unity of visual elements in level design has persisted a lot longer than games have had separate tile sets to build a level. To an extent, replace tiles with textures, and it still becomes a resource constraint problem. But it is also as much a player perception issue. Map regions close to each other should look the same. And by having separate levels, each with their own visual look, the player can associate the underlying (abstract) level, with a physical place.

More importantly, the visual design (and sound design) is often linked to game-play elements, in particular the types of enemy that the player will encounter. This linkage is built up through association of visual elements and level geometry with certain enemy types, and then repeating the visual and aural space whenever the player re-encounters these enemies. Think of the association of radioactive waste and zombies, or sand and ant lions, or force fields and Combine in Half-Life 2, or military equipment and soldiers in Half-Life.

But neither a separate visual look, nor associating a game-space with a particular enemy is a requirement for having separate levels. In fact, Grand Theft Auto: San Andreas could be remade as a Half-Life 2 total conversion and through clever design, the association of enemies and visual look of certain areas could be maintained, provided a sufficiently high Combine citadel could be built (and then parachuted from).

4. Linear narrative constraints

First, I blew up the specimen in the test chamber, then I escaped the test chamber lab, then I wandered through the alien-infested offices, then I climbed up the abandoned rail facility to launch the satellite into space... if Gordon Freeman had been able to press a buzzer on the opening monorail sequence and got off one stop earlier, the outcome of the Black Mesa incident may have been a whole lot different. Having levels solves a complex narrative problem, in that through clever use of design, unlockable doors and chest high obstacles, and at last resort, invisible walls, the player is compelled to experience a sequence of events in a specific order.

As a counter-example, the narrative mess that is S.T.A.L.K.E.R. and to a lesser extent the Witcher and Oblivion, show the danger of attempting a linear narrative in an open world. Grand Theft Auto gets away with it because the characters of GTA are more than likely to take time out from an urgent task to steal a car and rob a takeaway. God of War I and II allow the player to navigate back at many points (unless Kratos jumps down a cliff that his bad-ass blades are not tough enough to help him scale again) but the wealth of enemies going forwards and empty ruins that lie behind him is usually good enough incentive to continue. And the constrained openness of the Metroid series is choked at points that require story-telling, by combining narrative events with rewards (Varia suit, freeze ray) that open up new areas to explore.

5. Escalation of skill

Portal is a brilliant study in game-design, because it's levels are not just laid out one after the other, but the actions required to progress within a level are also laid out one after other (until some of the later puzzle rooms). To progress to the next step, and ultimately the next level requires that the player learn a new technique, and master it. The dungeons in Zelda are similarly laid out, so that the tools that the player acquires (one half-way through each dungeon, and one near the end) must be mastered before the player is capable of beating the dungeon. Zelda is interesting in that it has a relatively open over world, explicitly opened up in the case of Windwaker, and then a succession of restricted dungeon levels. Similarly Super Mario World has a hub from which levels hang which may be beaten in any order.

The level mechanic provides guarantee of minimum skill, and similarly is an attempt to guarantee a level of maximum required skill. We've all played games that suddenly ramp up difficulty within a level (Blades of Hades, I name you), but imagine playing a game where you could arbitrarily wander into a zone of instant death (It's called Morrowind). And even in Morrowind's sucessor, Bethesda deemed it enough of a problem that they replaced it with the much hated difficulty scaling system which is loathed to this day.

Similarly, it can ensure that certain required power-ups are held before encountering a boss monster that requires these power ups, but not always. Numerous Metroid speed runs testify to the game-breaking moves that can be made to get power-ups out of order. But it could be game-breaking for a player to encounter a monster which is unbeatable by a power-up mechanic which they do not yet have (The smart designer will have the player rescued at the last second - but even this would look wrong if it was repeatable).

As the number of power-ups and the size of the game-space increases, the problem of ensuring the correct ordering of power-ups and quests takes on Traveling Salesman problem-like dimensions. This means even as computers advance, game complexity will always ramp up faster.

6. Player constraints

Closely related to skill, is the ability of the player to remember the total available options within the game. While geospatial memory can be improved, and studies suggest that game-playing can eradicate supposed gender differences in geospatial memory, it is not infinite. Similarly, the number of separate individuals that someone can know, Dunbar's number, is finite and based on the total brain weight of the species they belong to. Short term memory is even more limited, such that, for example, a player can only recall approximately 7 to 10 numbers without training.

As I suggest, it might be possible to improve all of the above through repeated training. But there are human limits, and the game-play is sure to provide diminishing rewards in return for improving these abilities. And similarly to the resource constraints experienced by computers, an open world is sure to hit the human side resource constraints on memory, and force the player to resort to game-play interrupting memory aids such as quest logs.

Levels provide a natural limit, particularly for multiplayer games, such as Team Fortress 2, which allow the player to memorize the total possible options, much like memorizing a book of openings for chess.

In addition, levels are a great mechanism for limiting the total number of options available to the player. Humans become confused when presented with too many choices, and will limit themselves only to an inefficient subset of the available choices or none at all. There is a natural 'choice limit' that we operate the most efficiency under, and this is a restricted as much player memory is.

7. Reset mechanism

Imagine, if at the end of a game of football, instead of celebrating victory and confronting a new opponent in the league, you woke up the next day, went out and played the game against the same team, starting at the same relative scores as you finished the previous game. While 5 day Test Cricket is interesting for some, the recent domination of the Australian team over all-comers arguably makes the sport less interesting overall.

The level mechanic provides a useful reset mechanism for games. In many instances, all players start a new level on the same footing. Similarly, for games where designers feel that sufficient challenge is required by withholding an auto-save mechanism, the end of a level is a natural point to provide save game facilities (as well as a quick rubdown and shot of Scotch).

Moreover, there are less obvious elements that need to be reset. From a resource constraint point of view, ragdolls and other in-game objects may need to be expired and freed up. In Dungeon Siege, which has a continuous game world, the fact that time was handled as a continuous variable became problematic, and required extensive debugging. Because time was represented by low precision FPU, if the game was played for long enough, time quantization effects would occur. Dungeon Siege also experienced significant problems trying to implement an in-game teleport system, as everything on the map was only located relative to the current game location. For more details, there is an excellent white paper available.

And some game positions can end up in an unwinnable situation for the player. A classic example is in Rogue, where demons can summon other demons in a pattern of exponential growth, forcing the player to escape the level to reset it or die due to the presence in the dungeon of 'too many demons'.

8. Pacing

The level mechanic provides a natural game-pacing mechanism, even if its only to rest briefly during a loading screen. The player cannot hope to continue playing a game at maximum skill and has a natural requirement for periods of lull. The next time you are in an elevator stuck at a loading screen, take the opportunity to stand up, stretch you legs and start the kettle brewing. And reflect on why it is there are still levels stuck in the way of you playing your game.

(More on how this relates to Unangband dungeon generation to come in part four).