Throughout the winter of 2006, I was a contractor with Large Animal Games in New York City, working on LEGO Bricktopia, a Breakout-style game targeted at the casual gaming market.
Since I’d never been a large consumer of Breakout games, my obvious first steps were to survey the contemporary market as well as research the genre to gain some historical perspective. The results of this exploration, along with “sage wisdom” from my on-the-job experience designing Breakout-style levels are the basis for this article.
Genre Overview, A Brief History
Breakout, Arkanoid, and just about every “paddle & ball vs. blocks” videogame you can name have roots that go back as early as 1967, when Ralph Baer designed the Magnavox Odyssey game system and the paddle controller. One of the seminal games for this system included a “paddle & ball” game mechanic, making it the great-granddaddy of the Breakout genre (many mistakenly assume the paddle & ball game mechanic originated with Nolan Bushnell’s Pong, Atari, 1972).
Years later, Nolan Bushnell and Steve Bristow, along with Steve Jobs and Steve Wozniak (of Apple fame) took paddle & ball game play a step further when they designed and developed Breakout (Atari, 1976). This was the first game to include the “paddle & ball vs. blocks” game mechanic integral to subsequent games in the Breakout genre.
In 1986 the Breakout-style game took a radical leap forward when Sega released Gigas and Gigas Mark II, games which introduced innovations such as: rich graphical backgrounds, power-ups, and falling objects which the player must avoid.
That same year Taito/Romstar muscled into Breakout territory with the release of Arkanoid. Although a later arrival than Gigas, Arkanoid is possibly the most popular game of the genre, and the one which most notably defines the “paddle & ball vs. blocks and other stuff” game play we know today.
Core Elements of Breakout-style Games
Every game genre has its originator(s), followed by an inevitable string of clones that introduce one or two new features. The Breakout genre is no different. While the original Breakout offered very limited level design and target object variety, a legacy of cloning and incremental improvement now presents us with a large number of features which are considered “core” to Breakout-style games.
Multi-hit breakable blocks – blocks form the bulk of most Breakout-style game levels. In some games variation in block durability (single or multi-hit) is used to create a more complex playfield.
Block and ball size variation – larger blocks and balls generally make for a shorter, easier game since it becomes easier to get the ball to a specific target. Conversely smaller blocks and balls increase the level of difficulty (due to reduced target size and visibility).
Block color variation – color can be purely cosmetic and used to create representational game levels (see Level Design – Common Structural Archetypes, later in the article). It can also have a specific meaning; with different colors used to designate different properties (number of hits required, higher point value, etc).
Unbreakable blocks – the primary purpose of unbreakable blocks is to limit access to level objectives (or repeatedly channel the ball). Unbreakable blocks sometimes have special properties like rebounding the ball at a faster speed, or disintegrating once the ball hits a special switch or trigger.
Power-ups – there are so many types of power-ups that I won’t even attempt to describe them all here. However, I will list the archetypes that seem to appear in most games: (a) ball adheres to paddle, (b) ball is slowed, (c) ball damage increases, (d) ball becomes larger, (e) extra ball in play, and (f) paddle becomes wider. Some power-ups like “ball becomes larger” can actually be power-downs depending upon where the ball is when the power-up takes effect…
In most cases power-ups fall from block formations (when hit) and need to be caught on the paddle to take effect. This provides the player with a significant choice between chasing down the ball or going for a much-needed power-up.
Power-downs – as above, I’ll simply list the most common archetypes: (a) slow paddle, (b) narrower paddle, (c) fast ball, (d) tiny ball. When these fall from block formations, it is usually obvious to the player that they are negative, so he/she can take care to avoid them.
Ball trajectory controllers – there are several common trajectory controllers usually seen in Breakout-style games: (a) the mechanism, which grabs the ball and ejects it upon a trigger event, (b) the hole, which sucks the ball in and auto-releases it at a pre-determined trajectory, (c) the wedge shape, which forces the ball to return at a less predictable angle, (d) the channel (or arrow), which constrains the ball to move along a new vector (see Paper Ball: http://www.e-giraffa.com/). Trajectory controllers can prove extremely challenging depending upon the “return angle” of the trajectory controller and its distance from the paddle (or bottom of the screen).
Ball speed amplifiers – speed amplifiers usually take the form of persistent pinball style bumpers which rebound the ball with increased velocity. However they can also be playfield regions with a “speed amplifier” property that accelerates the ball as it passes through them (good for shaking up the player’s sense of timing).
Moving power-ups and power-downs – some games provide power-ups with limited motion (oscillating, path-based, or logic-based) which makes them harder to obtain, increasing the challenge. Moving power-downs (with homing capabilities) are also a great way to turn the tables on the player.
Switches (ball locks, trigger areas, buttons) – switches are often used to open up “reward areas” of a level by destroying large numbers of normal blocks or unbreakable blocks. Switches can also be used to activate boss enemies, set additional targets into motion, etc. Ball locks can be triggers, or trajectory controllers (see above), catching the ball then shooting it at another switch or a bomb (see below).
Ball traps – ball traps are small gaps in block formations that hold a payload of one or more balls. When the player destroys enough blocks to breach the ball trap, its payload of balls is released. Ball traps also take the form of objects which must be hit or broken in order to release their payload (wooden crates, glass containers, etc).
Bombs – bombs can be free-moving, but are usually stationary, nestled within a formation of blocks. When hit with the ball they explode, carving out small chunks of blocks or setting off major chain reactions.
Shields – shield are a special class of power-up that blocks the ball from falling off the bottom of the screen. Shields can last for a specific duration, or for one ball-hit per shield layer.
Invisible blocks – these blocks start in an invisible state and only become visible for a short time after one of them is hit.
Progressive blocks – each time the ball hits the paddle, the wall of blocks descends a small amount towards the bottom of the screen. Players must focus on breaking the lower wall of blocks (or simply trying to score as much as possible) before they are overwhelmed.
Multiple paddles – this feature presents the player with two paddles, one above the other. Additional options include adjustable spacing between the paddles, independently varying paddle sizes, and changing the points awarded for using a particular paddle.
Innovations of Contemporary Breakout-style Games
Any attempt to google “breakout game” will certainly be rewarded with a massive number of links to downloadable demos. This proliferation of Breakout clones is probably due to the speed with which a novice programmer can cobble together a Breakout prototype. I’d like to say most of these games are fun to play, but the truth is the novelty has long worn off classic Breakout-style game mechanics, thus innovation and differentiation have become critical in pulling off a contemporary Breakout-style game.
Below I highlight some of the more recent features to appear in the genre, along with a game or two you can download to see the feature in action:
Extensive motion on majority of game objects – today’s Breakout-style games are often very dynamic, presenting the player with a large amount of animation. From blocks that simply oscillate back and forth or move between pre-described coordinates, to “smart” objects that interactively respond to the game play environment and player. See Ricochet:Lost Worlds for a good example of motion (http://www.ricochetlostworlds.com/).
High-fidelity physics/motion simulation – the higher speed of contemporary CPUs allows developers to invest more processing cycles towards providing quality physics simulation for all objects, not just the ball. See BreakQuest and the DynaMo motion library (http://home.iae.nl/users/starcat/dynamo) for further information.
Particle effects – with the advent of graphics accelerators and powerful CPUs, particle effects have come into their own. Sparks, glows, and particle fountains bring previously static levels to life. In particular, “ball-trails” have made perceiving the ball’s motion much easier. LEGO Bricktopia uses ball trails and background texture perturbance to make the ball’s position as obvious as possible. (http://www.largeanimal.com/games/deluxe/lego-bricktopia). And then there is Plasma Pong (http://www.plasmapong.com/). While not actually a Breakout-style game (it’s Pong…) it does use particle effects, in the form of an impressive fluid dynamics simulation.
Moving beyond blocks – some games (notably BreakQuest: http://www.nurium.com/) get rid of blocks and replace them with extremely dynamic target objects. The result is a considerable increase in play variety. You will also find a large variety of target objects in Magic Ball 3 (http://www.alawar.com/games/magic-ball-3/).
Narrative and multi-level objectives – motivational prose for Breakout-style games has come a long way since “SMASH! POW! CRUNCH! A brick wall appears at the top of the screen…” Take a look at Funkiball Adventure (http://www.funkitron.com/games/funkiballadventure). Who would have thought that you’d one day be searching for stolen artwork on a Breakout level…?
Humor – games such as Jardinains 2 imbue Breakout-style play with much more humor and character than one would expect from a wall of impassive blocks (http://www.jardinains.com/). Be sure to play with the sound on.
Paddle bump – Funkiball Adventure was the first Breakout-style game to “break” the bounds of the bottom of the screen by allowing you to “bump” your paddle, raising it a small amount in order to strike the ball sooner and with increased force. Besides enabling super powered hits and splash damage to block formations, this simple control modification greatly increases your ability to manipulate the ball’s trajectory (http://www.funkitron.com/games/funkiballadventure).
Paddle construction – LEGO Bricktopia is the first game I’m aware of to let players significantly modify the structure of the paddle, in this case, by stacking it with LEGO blocks (http://www.largeanimal.com/games/deluxe/lego-bricktopia).
Advanced trajectory controllers – the game Paper Ball makes extensive use of trajectory controllers to direct the ball on circuitous courses through its levels (http://www.e-giraffa.com/).
3D graphics – while contemporary Breakout-style games with 3D graphics engines restrict the ball to 2D motion, most allow stacks of target objects to extend beyond that 2D plane. In some ways this simply creates a variation on multi-hit blocks, as eliminating the lowest row of blocks simply causes the stack to descend. Magic Ball 3 applies actual physics, which allows 3D objects to tumble and roll, disturbing other objects on the level and creating unpredictable chaos.
System Design, The Playfield
The Holy Trinity – Paddle, Ball and Blocks
Although it will seem remedial to mention this, all Breakout-style games have at least three things in common – each contains paddles, balls, and target objects for the balls to hit. When dreaming up a new Breakout-style game, there’s no right answer as to which you should design first. If your game is based around an incredible variety of targets, then coming up with your core targets will suggest the type of paddle and ball you’ll need. Conversely, if your game play revolves around a “super paddle” or novel type of ball, then the initial properties you dream up for these will suggest properties for the other playfield objects.
Blocks and Playfield Scale
When designing prototype levels, one of your first tasks will be to determine the scale of your blocks (or other target objects) versus the size of your playfield. Smaller blocks make it easier to design representational levels and complex play areas (see Level Archetypes below). Larger blocks make level design a faster process, but also necessitates you provide a wide variety of block types in order to keep the level from looking boring.
Once you have determined a scale for your playfield and blocks, you can work out the low/average density of blocks on a level. 50 blocks? 100 blocks? 200 blocks? 400 blocks? This will help you determine the required striking power of your ball/paddle (see Ball Speed and Damage below) as well as the types of blocks and power-ups that would be most appealing for your game.
The empty space surrounding your blocks (voids and playfield background) should also receive some thought. Voids highlight and contrast your target object structures, and also determine how interesting the ball’s motion will be. Cramming too many blocks onto the screen can overly restrict the ball’s motion and create a boring start to the level. If you plan to crowd a level, think about using power-ups, switches and bombs to quickly create (and reshape) voids.
While a simple black background provided good contrast for classic Breakout level structures, contemporary games contain animated backgrounds, or backgrounds that interact with the ball as it passes through (for example: having the ball illuminate the background image/texture).
Is your game “slow and sneaky” or “fast and furious?” The base speed of your ball and the base horizontal movement and striking speed of your paddle will have an impact on the perceived character of your game. Thinking about them upfront can help you avoid having to change audio/graphics to suit a game whose character has changed due to major speed adjustments. While there is no need to lock your game to a single play speed, you should always rely on play testing to determine the best speed(s) for your target audience.
One of the most important initial decisions you can make is how your paddle handles and how its surface rebounds the ball, as this will determine the amount of control your paddle offers the player. Throughout the development process ask yourself “When missing the ball, does the player’s frustration center on their lack of skill, or do they blame the paddle?”
Paddle Speed and Size
Here are two important rules to remember. (1) The greater the paddle’s horizontal movement speed, the easier it becomes for the player to reach the ball. (2) The wider the paddle striking surface, the easier it becomes for the player to hit the ball upon reaching it.
Let’s take a closer look at two paddle archetypes: Slow/wide paddle vs. Fast/narrow paddle. Although functionally able to deliver similar amounts of coverage, they do not deliver the same type of play experience.
Slow/Wide paddle – The slow/wide paddle will provide a more casual game play experience, with the player needing to anticipate the ball’s return trajectory but not worrying a great deal about the point of contact (where the ball hits the paddle), due to the wide paddle surface.
Fast/Narrow paddle – a fast/narrow paddle still requires the player to anticipate the ball’s return trajectory somewhat, but the small size of the point of contact instills a continuous sense of jeopardy. This creates substantially increased tension as the player attempts to intercept the ball for a return volley.
Thus a “purist” game with static levels and very few power-ups might want to have a slightly narrow, slightly slower paddle. While a game with many moving objects and power-ups on its levels might want to provide the player with a slightly faster and larger paddle since there are probably many other things competing for the player’s attention.
Moving blocks make it very hard to judge the ball’s return trajectory, so if your game uses a lot of moving blocks, you should probably increase the initial size of the paddle. Of course, as your game progresses, you can always introduce effects that shift this balance around…
Paddle bump is an interesting addition to the list of paddle abilities (seen in Funkiball Adventure, LEGO Bricktopia). It allows the paddle to move upwards slightly in order to address the ball sooner. This allows the player to create a much wider range of shot angles and often allows the player to power-up the ball, increasing its striking damage and speed.
When introducing paddle bump you need to take into account five things: (1) How far upwards the bump takes the paddle. (2) How fast the paddle can bump upwards. (3) How fast the paddle returns to its normal level. (4) Whether or not the bumping paddle powers up the ball with increased speed, splash damage, etc. (5) Whether or not repeated paddle bumps continue to power up the ball to higher levels of velocity and damage.
Paddle bump has several benefits. Most importantly, it allows players to have a greater degree of control over the ball (as shown in the diagram below). The amount of control over the return angle does not appear to be much in the context of a single strike. However, when multiplied over hundreds of strikes per level it turns out to provide a considerable advantage over a completely 1-dimensional paddle. If paddle bump also increases ball speed, it can provide a further boost to control which is very useful on non-static game levels. (Note: if a powered-up ball hits an “unbumped” paddle, try demoting the ball one step towards its normal state.)
Paddle bump also gives the player something to do while they are waiting for the ball to return. This may seem strange, but idly bumping the paddle can be a lot of fun! Especially if there is an associated visual effect and sound. Think of it as tapping your foot to a catchy tune.
Finally, paddle bump makes the game feel more dimensional. Instead of locking the player to the exact bottom of the screen, the player is given a little wiggle room to advance into the playfield. (Note: for an example of a game that does not use paddle bump, but still allows the paddle to advance into the playfield, see Nervous Brickdown for Nintendo DS, from Arkedo.)
The earliest Breakout games used rectangular paddles with flat surfaces. The ball’s trajectory would be influenced by the part of the paddle the ball touched, with the edges providing a flatter bounce trajectory.
Today’s Breakout-style games provide a much wider variety of paddle shapes including hemispherical and isosceles trapezoid (flat top and bottom with wedge-shaped sides). Unlike completely flat paddles surfaces, these paddles help to suggest how they can control the ball. The combination of isosceles trapezoid with paddle bump provides a remarkable level of ball control (LEGO Bricktopia).
Besides speed, size, shape and bump, you also need to think about the transmissive properties of the paddle surface. In particular, friction – how much of the paddle’s horizontal speed is translated to the ball upon impact. Paddle friction is one of those things you can live with or without. I tend to favor paddle friction because it gives the player more control over the ball and makes the paddle feel a little more tangible. You can break paddle friction down into three basic categories:
The reflective paddle – this equals ZERO friction. The paddle imparts no spin and reflects 100% of the ball’s energy back to it like a stationary glass wall. Of course, in real life there is always some energy transferred from the ball to any surface it touches, but breakout “breaks” those rules to keep the ball moving fast. In practice this paddle simulation requires the least CPU cycles, but provides the least dynamic play since every interaction with the ball is fairly predictable.
The paddle with simple friction – this paddle’s surface transfers a portion of its horizontal movement to the ball, thereby changing the ball’s trajectory. For instance, if the paddle is traveling in the same direction as the ball, it will leave at a sharper angle whereas if the paddle is traveling counter to the ball’s horizontal movement, the ball will reflect off the paddle more directly upward.
The paddle with friction and ball spin – the next step up from a paddle with simple friction is one that can also impart spin to the ball. Here the paddle surface translates a portion of its horizontal movement to the ball as both linear and angular velocity. A spinning ball will bounce off other surfaces at a sharper or shallower angle much as a spinning pool ball will reflect off a bank differently based on its spin.
Further Paddle Enhancements (Super Paddles)
While most paddles only alter the ball’s trajectory, maintaining a fairly constant speed, there are also games with paddles that add significant additional energy (via paddle bump for example). These “super paddles” don’t necessarily have friction or impart ball spin. For two good examples of super paddles see Funkiball Adventure or LEGO Bricktopia.
Pardon me for pontificating, but one day I hope to see a Breakout-style game that allows the player to instantly cycle through a range of available paddles with a right-click of the mouse. I mean, in an FPS you have a multitude of guns right? Similarly, I think it’d be great to have a ball with user-selectable properties, allowing the player to cloak the ball, or switch on self-illumination on a dark level, or perhaps even make the ball intangible for short periods of time (all with a right-click of the mouse). This would open up a multitude of possibilities in level design!
Ball Speed and Damage
For classic Breakout games, the extent of ball speed and damage is simply this – the ball moves at a fixed speed and breaks one block with each strike. This rule continues unchanged, with the ball moving at the same speed, doing the same amount of damage, level after level… Some games change the ball’s speed and damage potential through the use of Power-ups, or increase the default speed as the player progresses to higher game levels. Funkiball Adventure was the first genre game to significantly break this mold by introducing paddle bump; enabling consecutive ball hits to increase the ball’s speed and striking power.
At high speed and power levels, the ball imparts splash damage, fracturing or completely destroying adjacent blocks. There are a few reasons to consider this an improvement over simple power-ups. First, it puts control of ball speed and power firmly in the player’s hands, at all times – as opposed to giving this control over to the random distribution and collection of power-ups. Second, it allows players to self-regulate game speed and dynamism – players with less skill, who frequently miss the ball, or who don’t paddle bump, get a decline in speed and power.
The Ball Motion Simulation
A critical component of any Breakout-style game is a compelling simulation of ball motion. In general, the ball starts with fairly predictable movement, generating fantastic motion under the effect of power-ups (or paddle bump). Let’s take a closer look at the motion simulation, starting with its common state, with no power-ups or other extreme properties acting upon it.
The bouncing ball – this is your no-frills Pong-style ball. It bounces around, perhaps gaining or losing energy from objects it strikes. It has a perfect center of gravity and doesn’t spin.
The bouncing and spinning ball – in games that utilize surface friction, ball spin becomes possible. The simplest implementation uses a perfect sphere with a stable and “perfectly centered” center of gravity. Spin is used to modify to the ball’s trajectory coming off the paddle (or any other game surface) but doesn’t create any truly complex ball motion.
The complex ball – a more complex ball (non-spherical, semi-solid or aggregate object) will have a “complex” center of gravity and perhaps variable friction depending upon which ball surface contacts the paddle. Some examples of complex balls include: an egg-shaped ball, a square rubber sponge with a rock embedded in one corner, two basketballs connected by a chain.
A Look Under The Hood
A classic Breakout-style ball simulation can be created rather easily. However, once you include spin, complex balls, or move to a full physics simulation, complexity quickly spirals upwards. I asked Josh Welber, lead programmer of Large Animal Games’ LEGO Bricktopia, for some tips on managing the ball simulation.
Is there an obvious point where ball motion becomes too complex to manage with a simple motion simulation?
Josh Welber: A simple motion simulation where the ball reflects perfectly from collision works well if you are going for the classic Breakout mechanic where: (a) all obstacles are rectangles, (b) the walls are always static and, (c) the ball has a constant velocity.
When you start adding arbitrarily shaped obstacles and walls, animated obstacles, or want a more realistic and variable ball motion, you will want to consider a more general physics solution (either home-grown, or built out of one of the many open source packages: http://en.wikipedia.org/wiki/Physics_engine).
Is there anything developers should look out for when using a full-blown physics system in their Breakout games?
JW: The tricky part of working with a more generalized physics simulation is that Sim tends to want to control everything.
For instance, artificially changing the velocity of the ball or other properties of the world can upset the simulation. Most robust systems will allow this to happen at some point in the integration/collision loop.
However some systems rely, for instance, on the velocity vector to determine how to resolve collisions over multiple steps – artificially changing that vector inbetween integration loops can “fake out” the physics simulation, causing it to resolve collisions incorrectly.
What impact did this have on developing LEGO Bricktopia’s implementation of fast/slow ball power-ups and paddle bump?
JW: In order to have realistic ball movement as well as retain control of ball speed, we implemented a system where the ball speed was artificially increased or decreased by applying small forces to it if it was outside the target speed range. For slower movement, we just threw in a “bullet time” trick, where we controlled the simulation time (We would slow down the entire sim in certain cases. That is, instead of integrating the real elapsed time, it would integrate say 50% of that time, so everything would appear slower).
The paddle bump was another place where we needed to implement some artificial forces to get what we wanted. The paddle is actually really massive compared to the ball, so that real result of say a “super bump” would be a tremendous increase in speed.
However, the force correction system I mentioned above would make sure that the ball would rapidly slow down if it was going too fast. The result was a satisfying bump without any crazy unpredictable ball speed changes.
What facets of the ball simulation are you most proud of in LEGO Bricktopia?
JW: I would say the brick stacking/paddle mechanics, and getting that to play nice with the ball. The player has the ability to catch LEGO bricks on their paddle, changing the paddle’s shape and unlocking a range of strategies for completing the levels. Getting this stacking mechanic to work seamlessly with the overall physics simulation was a real challenge, but it really paid off in the final game.
Common Structural Archetypes
While most games add additional object types or possess level designs that go far beyond the simple blocks of Breakout, a surprising number still present the player with an initial level reminiscent of this.
A partially familiar first level can help ease casual players into a unique game system; especially if it’s radically different than previous Breakout-style games. However, if you’re going after hardcore gamers, you probably don’t need to “ease” them into your game system. They’re most likely familiar with the Breakout genre and are seeking out your game for “La Difference!” In this case I suggest you present a “signature” first level and make a strong initial impression. (Note: If you’re using highly abstract or unusual target objects, be sure to communicate their properties to the player.)
Common Level Archetypes
If you’ve played or seen a screen-shot of any Breakout-style game since the early 1980’s, you’re aware that Breakout level design no longer consists of simply placing 4-8 horizontal rows of blocks and calling it a day. Although that may be the classic formation of blocks most associated with Breakout-style games, there are many other level archetypes to consider.
A central mass of blocks surrounded on all sides by empty space. Often convex. Sometimes hollow. Tip: Placing a static target object within the central mass or several moving targets above the mass will create very different initial choices for the player. A moving target which circles the mass will introduce a compelling time-based element.
The classic… A wall of blocks, often bounded on the top and bottom by empty space. However, it can also consist of horizontal layers of blocks, separated by vertical space. It can stretch all the way from the left edge to the right edge of the screen, or can provide a small amount of wiggle-room on the sides allowing a well-placed ball to pass from the bottom to the top of the screen. Tip: Place power-ups into the core of the formation or along the top row of blocks to provide interesting objectives and to keep the structure from being boring. Concave formations on the lower rows of blocks can provide surprising initial ball dynamics (see Cavern below).
These levels consist of blocks arranged into vertical columns with variable empty space between each column. Tip: placing a mix of wedge shapes and target objects on the ceiling of the level (top of the screen) will create some interesting initial choices for the player.
A stationary mesh is usually a grid-like arrangement of blocks. When moving, a mesh might appear to be a central solid, columns or a wall in its initial arrangement; however, when the formation oscillates into an alternate arrangement (with some blocks offset) it becomes a mesh that can trap the ball, creating interesting ball dynamics. Tip: if your system supports multi-coordinate or logic-based motion for blocks, try to create meshes with 3 or 4 arrangements.
A bumper level is similar to a mesh, but the blocks tend to be clustered into fewer and larger arrangements at greater spacing. Moving bumpers also differ from moving meshes, in that bumpers tend to move independently, rather than as a unified whole. Tip: you can also insert actual bumpers into your game. LEGO Bricktopia includes special pinball-style bumper objects that cannot be destroyed by the ball.
A peek-a-boo level contains formations of blocks that hide behind other formations or that temporarily (or permanently) move on and off screen. Tip: if you game includes multi-coordinate or logic-based motion, try having moving formations reenter the screen from a different angle.
Think of these as your “signature” levels. Anything that expresses the unique qualities or capabilities of a particular Breakout-style game design/game system. This goal is to provide levels which players can only expect to see in YOUR game and which surprise naïve players by the disjoint they create with the accepted Breakout-style gameplay.
Diagonal formations of blocks, created with actual angled blocks or stair-step patterns of rectangular blocks. This is a refreshing change from levels filled with rectangular structures and provides an obvious use for the angled corners on isosceles trapezoid-shaped paddles.
A split screen level contains block formations that separate the playfield into two obvious regions (left/right, top/bottom, inner/outer). These can be static or animated, creating temporary split-screen conditions at timed intervals. There can also be a wall separating the regions (breakable or indestructible).
These are large concave formations that fill the sides and top of the screen, leaving the lower region and most of the center empty.
Used with horizontally or vertically scrolling block formations to create an area with discrete objectives that must be completed before scrolling to the next area (hitting a switch or getting your ball into a particular ball-trap). These types of levels can combine elements from the previous descriptions … just be sure to destroy all the blocks before initiating a scroll or the ball could get caught, dragged off screen, and make for unpredictable results!
Robots, pistons, wrecking balls, turtles … anything that visually approximates objects and silhouettes players are already familiar with. Be careful to ensure that your representational levels are as interesting to play as they are to look at.
Although the previous archetypes are effective as static structures, motion can add a totally new dimension to each – the dimension of time/timing. Complex interaction among moving elements can create a sense of evolution to your levels. Replay value can also be enhanced by introducing a modest number of timed/random events which further increase the strategy required for players to succeed.
While not actually a type of motion, mounting objects to one another creates object chains, allowing the constituents to automatically move around together. This can create rigid, mechanical motion, or flexible, organic motion depending upon the type of mounting force used. When combined with physics and/or rotation, you can create some very interesting levels (see Ricochet Recharged and BreakQuest).
A single rotating object with a unique collision profile will create very interesting play possibilities (fan blades, gears, etc). When combined with parenting, rotation can create an incredible variety of moving objects. (Note: don’t forget variable rotation speed!)
Scaling can be useful when you want to simulate playfield depth or when you want to create shrinking/expanding multi-hit targets. Imagine a Mesh-type level comprised of many scaling objects…
Oscillating motion is where a block or other level object simply ping-pongs back and forth along a vector. Although this type of motion is always a straight line, clever use of many oscillating objects can “suggest” your game has more sophisticated motion (see LEGO Bricktopia). A proper system of oscillating motion will include properties like: initial delay before moving, movement speed, pause at extents, ease in and out, and execute ‘n’ number of oscillations before stopping.
Providing your level objects with the ability to accept multiple coordinates allows you to send them on a simple path. With a large enough set of coordinates, pause states, timing adjustments, and triggers, this system can produce extremely complex motion.
Path based motion is a natural next step if your system supports lists of coordinates for movement (as in the simpler Multi-Coordinate-based Motion above). The difference here is that you will likely want to provide a visual tool for the level designer to draw paths (presumably made up of nodes). The simplest paths would be linear, but once you have the concept of path-following in your system, you could interpolate between nodes along a curve (using B-splines, for instance).
Having level objects react to trigger events is a good initial step on the path to logic-based motion. However, providing playfield objects with the ability to move or adjust motion in reaction to the continuous stream of changes in the game play environment provides more flexibility. This can be as simple as passing the object the current paddle or ball position and providing methods to “avoid” or “home in” on either. Higher levels of complexity would provide multi-object swarming behaviors or perhaps an awareness of the object’s current state to simulate bravery (“home in” while life is strong) or cowardice (“avoid” when life is low).
The previous examples discussed motion controls for individual objects. Obviously, on a scrolling playfield everything moves at once. Let’s take a look at factors involved in scrolling the Breakout-style playfield.
Vertical Scrolling – blocks (or other level objects) move downwards towards the player; either at timed intervals, due to a switch being hit, or due to game system events (e.g., a lower row of blocks being completely cleared out). Implementing vertical scrolling may result in uncleared blocks hitting the paddle or severely crowding the lower portion of the playfield. That is, if blocks touching the bottom of the screen are not an end-condition for the level. Tip: one way to remedy this is to ensure all the blocks below the new “floor” of the level are destroyed before initiating a scroll. Try putting all the blocks into groups that represent vertical slices of the level and then clear out the appropriate slice before scrolling.
Nervous Brickdown from Arkedo provides several levels with “vertically scrolling shooter” style gameplay. Here the scroll is continuous, and the paddle must dodge obstacles while continuing to rebound the ball.
Horizontal Scrolling – blocks (or other level objects) move left or right across the playfield; either at timed intervals, due to a switch being hit, or due to other game system events (paddle touches left or right extent of screen). Implementing horizontal scrolling risks the ball getting caught between blocks during a scroll and becoming trapped or dragged off the edge of the screen. Tip: try placing your blocks into groups that represent horizontal slices of your level and then clear out the appropriate slice before scrolling. Also try halting playfield action during scrolls to ensure the ball doesn’t get trapped before the scroll is complete. Finally, think about dispensing any important power-ups that might be embedded in level formations before they too scroll off screen.
Scrolling Triggers – as suggested above, many things can trigger a scroll, from a percentage of blocks on the level being eliminated, to a switch being hit, to a certain amount of time passing. Tip: use consistent and obvious rules for initiating scrolls, or you risk the player becoming frustrated when they can’t discern why the playfield keeps changing.
Scrolling Speed – Breakout-style games that implement scrolling tend to display a fairly sedate scrolling speed, giving players time to review level contents or to build anticipation for special items that are scrolling onto the screen. If you want to take a closer look at Breakout-style games that use scrolling, see Funkiball Adventure, LEGO Bricktopia and Nervous Brickdown.
Physics Based Level Design
The physics-based level is a breath of fresh air for the Breakout genre. These types of levels were made popular (if not introduced) by Nurium Games’ BreakQuest. In these levels blocks (or other objects) tend to persist when hit by the ball, knocking into other objects to create a complex physics-based interaction. Batting objects around frequently becomes the primary focus of a level, creating barely controlled chaos. This makes BreakQuest levels very dynamic. The great interaction between onscreen objects also makes the levels feel more cohesive and often quite humorous. Jiggling. Swinging. Scrunching. These are words you would never have expected to associate with Breakout-style game play.
Here is a short Q/A with the developer of BreakQuest, Fèlix Casablancas.
Why did you decide to make a physics-based breakout game?
Fèlix Casablancas: I had some game ideas but finally decided on ‘Breakout with physics’ as I wanted to do something original but accessible for a one-man team. There are lots of Breakout-style games, another one would not be a great thing. But adding physics to the classic game mechanics opens up a whole new dimension for level design. I also wanted a ball that moved in a realistic fashion.
What led you to decide traditional block-based levels wouldn’t be the focus of your game?
FC: As I said, there are already many Breakout games and block-based levels don’t offer enough flexibility to be able to create something really different. In fact, if I hadn’t come with the physics idea I wouldn't have done a Breakout. With block-based levels, moving bricks that (for example) hang one-from-another connected with springs is just unthinkable. With a physics engine this is something relatively easy.
Was there any special reasoning behind particular objects/shapes you chose to populate your levels with or particular types of motion you chose to highlight?
FC: Well every level had his reasoning. Shapes are quite varied, from the classical rectangular brick, circles, triangles, stars and others. For example, the asteroids level where bricks break in smaller irregular chunks when hit by the ball, also bricks that look like aliens, little monsters or whatever. About the motions…again variety is what I was looking for. Some things move in a linear predictable fashion, others collide and interact amongst themselves and the scenery via springs and other constraints, controlled purely by the physics engine or helped with some hard coded algorithm – with or without gravity, with different levels of friction, torque and mass, just rotating in response to ball hits, or even vanishing to appear somewhere else.
When building levels, how were you able to predict the interactions between objects, or was the level design process mainly trial and error?
FC: Well in some levels the interactions were quite predictable but others required serious adjusting from the original designs. Trial and error has been important but you always need to start with the basic idea before experimenting with tweaks.
What type of visual impact were you trying to achieve with your level designs?
FC: I was trying to get a retro look but with vibrant colors and a bit of pixel art but with some modern designs and special particle effects. Kind of updated retro.
Since your game levels are so widely varied, what steps did you take to ensure that players were able to understand level objectives?
FC: Well, most levels consist of directing the ball to whatever you see and check if breaks. Others require some explanation and a small ‘tip’ window has been enough to clarify. I think that players may be a bit shocked at first but as they advance in the game they get a sense of what has to be done in each particular level.
What’s the most important piece of advice you’d give to a developer looking to build a Breakout-style game with complex physics?
FC: If you’re going to use a physics engine (as I did) before choosing one you have to do some research. There are a few ways to implement a physics simulator – different algorithms will have problems in different situations. So depending on your game mechanics one may better than the others. Also you have to understand what’s going on under the hood because the math may become unstable in some configurations and you need to understand why the engine blows up to find a suitable workaround.
What plans do you have for BreakQuest and Nurium Games in the future?
FC: About BreakQuest: there is a mobile version in the making. I hope it will be ready in a few months. Also a company is developing a Nintendo DS version but this is more a project than a reality at the moment. There are also talks about porting it to one of the big consoles, but just talks at the moment. About Nurium Games: I'm working on a puzzle game, no physics this time. But the mechanic is quite original and hope it will do well. I don’t really know when it will be finished as I have too many projects right now!
Level Quality Checklist
In the grind to churn out levels, it’s easy to make choices that adversely effect level quality, or to get into a groove creating a certain kind of level and find it over-represented in your content mix. Below is a checklist that can help you to improve level quality as well as increase differentiation. While every question posed isn’t applicable to every level type, asking these questions can point out missed opportunities in a level design. Take a moment to review the questions when planning a new level or reviewing a level you think still needs work.
Initial impact – does the player feel excited when the level loads and she is seeing it for the first time? Is the impact strong from the beginning, or does it evolve over time? Is the impact based on visual design or the play possibilities inherent in the game tokens used to construct the level?
Initial choices – besides simply hitting the ball into a formation of blocks, are there any other initial choices the player can make with the ball? Interesting trajectories to send the ball on? Switches to hit? Chain-reactions to initiate? How many initial choices does the level present the player with?
Clear objectives – if the levels don’t simply end when all the blocks are gone, are the “end of level” objectives clear? Is there an overarching objective that makes a sequence of levels a cohesive whole? If so, how clearly is this presented? Do all game objects (blocks, power-ups, power-downs, etc) clearly suggest usage and degree of strength or threat? Are important level objectives clearly defined?
Feedback – can the player clearly tell when he/she is playing well? (Important on levels that don’t rely on target object reduction to end the level – i.e., a level with multi-hit objects where hitting each objects three times, turning it RED, is required to end the level.) Does the player believe the ball is behaving in a logical or (ultimately) predictable manner at all times?
Ball return – does the ball return to the player in a relatively timely fashion and not bounce around forever while the player sits idle? (Note: if the main ball is going to be bouncing around out of the player’s reach, trigger the release of a second ball for the player to use in the meantime.)
Rewards – is there a sufficient variety of rewards and power-ups available to the player? Are there juicy rewards placed deep within block formations – acting as a lure to get the player to interact more with the level? Can players collect items or power-ups whose effect spans multiple levels?
Play possibilities – does the interaction between the ball, paddle, target objects (blocks, power-ups, etc) and empty space create sufficient play variety and keep the game satisfactorily engaging? If the level were played again, how likely is it that the play experience would be exactly the same? Are there random or scripted events? Is there complex algorithmic interaction between objects on the level?
Carnage/Dynamism – is therea play technique or special object that will allow large numbers of blocks to be destroyed at once? How static are the levels? How many objects on the level are moving besides the ball and the paddle? Would the level still be interesting if the ball were to disappear from the screen for 10 seconds?
Level duration – were the levels tested to see how long they take your (target demographic) players to complete? Do you know how long feels too long? How short feels insignificant?
While classic Breakout level structures can still present the player with a fun experience, you can further enhance your levels (or level groups) by applying an overall theme. (Some of these themes are suggested in “Level Quality Checklist” above.)
Multipath – give your players a few obvious initial choices by clearly presenting multiple paths to an important objective or level-ending goal. For example, one that can be reached with: (a) relatively few trick shots, or (b) with rapid reflexes and brute force tactics.
Destruction – give the player lotsa blocks, lotsa balls, and lotsa powerups. This type of level has much less to do with accurate ball placement than with maintaining controlled chaos as long as possible.
Target practice – think of this as a relatively empty level that requires ball handling skills to beat. Since this type of level is about controlling the ball’s trajectory, be sure you have accurate ball placement systems in your game as well as systems to scale the difficulty if the level drags on (timed power-up disbursement, auto-targeting, etc). Place these types of levels carefully as they can make your game boring if used too frequently.
Avoidance – this type of level is about staying out of harm’s way by dodging with the paddle to avoid falling power-downs (which fall upon contact with the ball, at random, or at timed intervals). Try placing one of these after a ‘target practice’ level for a nice change of pace.
Puzzle –How do I get the level to scroll? How do I get to the prize? What is the right order to hit those switches? These are all questions you might want the player to ask on a puzzle level. However, if you find your players asking a very general “What am I supposed to do here?” – you might want to try and clarify the problem/solution.
Boss – The Boss level is the ultimate expression of the difficulty of a sequence of levels. Players face off against a challenge that’s been impending, or perhaps suggested by the design of previous levels. You could also look at the boss level as a way to test skills or deplete power-ups acquired over previous levels. Note that a “boss” is not necessarily a large moving game object, bent upon the player’s destruction. In breakout terms, a boss might be a single block that teleports around the level each time it’s hit, or level with falling snow, that freezes the paddle (slowing it down or immobilizing it) if the player lets the paddle stay in one place too long.
Game Token Priority
For Breakout-style games, there are certain “truisms” in terms of where the player’s attention should be focused at any given moment. Below are some guidelines for the priority of game tokens on your levels. The list includes both manually placed and programmatically generated elements. (Note: lower numbers have greater priority.)
Priority 1 – paddle and ball, including sound of ball
Priority 2 – level objectives or integral game tokens
Priority 3 – threats and power-downs
Priority 4 – power-ups and special blocks
Priority 5 – point exclamations, ie: “500 points”
Priority 6 – text exclamations, ie: “You Rock!”
Priority 7 – regular blocks
Obviously moving, pulsating and glowing objects will attract more attention than their static counterparts. As will objects that are reinforced with strong audio effects. Take special care to ensure that game tokens with low priority do not compete with (or look like) game tokens with high priority.
Level Editing Tools
The Game Engine
Classic Breakout has very low performance requirements. So if all you want to do is create a retro Breakout clone, you can pretty much use anything. And I mean ANYTHING (http://excelgames.org/breakout.asp).
If you intend to create a competitive contemporary game, and aren’t planning to create all of your own technology from scratch in C, C++, C#, Java, etc., there are a host of open source and commercial game development engines to choose from (http://en.wikipedia.org/wiki/List_of_game_engines). Among general interactive media tools, Adobe Director and Adobe Flash are obvious first choices. In the case of Adobe Flash, be advised that for serious work you’ll want to use ActionScript 2.0+ and you may run into performance issues if your game system requires large numbers of simultaneously moving objects and effects.
The Level Editor
Most dedicated game engines come with some form of level building tools. But let’s be honest, you can use just about any old text editor to build levels for a simple Breakout-style game. All you need to describe the static level archetypes is an array of data – e.g., comma delimited values typed up in notepad. However, this type of editor is not exactly interactive, and will probably start to introduce syntax or logical errors when your game evolves to include complex functionality (settable properties, motion coordinates, named triggers, named groups, nested groups, etc).
Reflexive Entertainment’s Ricochet Recharged is known for having an extremely wide variety of levels, produced by designers from all over the world. Ricochet levels include animated backgrounds and an extensive amount of level-object motion, all features that suggest an advanced editor. Let’s take a look at Ricochet’s level editor and then discuss its evolution with James Smith, its producer and lead programmer.
What were your most critical considerations in building a level editor for use with a geographically distributed design team? Was building a player-accessible level editor ever a factor?
James Smith: We really just build the level editor to be a tool for our internal level designers to use. We built it to be as flexible as possible to allow many diverse types of levels to be built. It is not designed to be extremely simple to learn. It is designed to be efficient and effective in the hands of our practiced level designers. It takes a little bit of time for new user to figure things out, but once they do learn how things work, they are not held back by simplistic concepts or limited hand-holding user interfaces.
To facilitate diverse development we were careful to not have bottleneck files that must be edited by many different people. For example, there is no master file that lists all the levels in the game. Each level designer can work on their own pack of levels independently of each other. We also had to build in tools to make it easy to merge and split level packs. This is primarily done by just copy/pasting groups of levels from one pack to another.
The Ricochet series is known for its large number of moving objects. Can you describe the evolution and thinking behind some of the more complex motion controls of your level editor?
JS: You won’t find any time lines or key frames in the Ricochet editors. Motions are constructed using in rather unique system that evolved from many simple parts.
The editor and the game scripting engine were heavily influenced by similar systems we built for RPG and RTS games we made in the past. The core concept is to construct complex behaviors by assembling collections of smaller building block parts. The scripting commands (plug-ins) are all very simple actions that could be used for many different purposes. Some example are move to a point, orbit around a point, mimic the movement of another object, wait for an object to be destroyed, wait for a message, broadcast a message, destroy self, or move along path.
These can be assembled into groups of simultaneous actions, or an ordered series of actions, or a shuffled (random order) series, and so on. Any combination of action and groups can be nested inside each other. There is no scripting language that gets typed or parsed. Everything is constructed though object composition. You put plug-ins into slots and many of those plug-ins contain more slots to plug more things into. A single brick could easily have ten plug-ins attached to it in a tree like structure with one or two plug-ins at the root and more plug-ins inside of each of those.
Complex animations are usually constructed by making a few bricks work together including hidden bricks called position markers. An invisible position marker may have a few plug-ins on it to make it move around. Then many other bricks may use plug-ins of their own to make them mimic the movement of the position marker or they may use the position marker as a reference point, and do their own motion relative to that moving reference point.
Any time a level designer requests a new high level behavior they want to perform, we always break it down into a few simpler components that can be assembled together to make the behavior that was requested, or reused in other combination to make new behaviors no one has thought of yet.
What factors led you to include animated backgrounds, and how do you expose this feature to your level designers?
JS: Each environment is designed to look like a particular place (real or imagined). Including animation was one of many things that seemed obvious to do to help make the environment be more complete and convincing. How could you make something look like an ocean without fish swimming, plankton floating, and bubbles rising?
Each Ricochet game has a different set of environments which level designers can build their levels in. Each environment has its own sound track, its own background, it’s own background animations, and it’s own pallet of bricks (some would call this a tile set). Level designers select an environment and then build their levels with the bricks available in that environment. They can animate the bricks to mimic some of the animation happening in the background, such as the fish that swim in the underwater environments, but level designers don’t really have any control of the background animation that are part of the environment. The artists, not the level designers, are responsible for setting up the animations that will always be part of each environment.
Did your level editor and game design evolve simultaneously? Or did you build towards a pre-determined list of features?
JS: Everything was evolved iteratively. There were often over arching design goals we were working towards, but many unexpected features were invented along the way. Many times design goals would mandate that a new feature be added to the game and therefore the editor. But other times new features of the editor would inspire new design ideas.
Can you describe some key moments in the development/revision process of building your level editor?
JS: All our editors have always been based on a very powerful object property system. This system uses a home brew “reflections” mechanism that allows us to enumerate all the member variables of a object/class at run time so that all the member variables can be edited as properties in a dynamically generated editor and saved in files on disk. Using this system has made building editors very simple.
With the second Ricochet game we started to really take advantage of our property system by building the composition based scripting system discussed earlier. The first Ricochet game only allowed for very simple movements and no triggers. When we added the plug-in building blocks to the second Ricochet game the possibilities for new level types grew exponentially. Suddenly levels became much more dynamic and interactive with some event triggering other events to happen.
The next key moment was several months after the second Ricochet game was released when players started making some very unexpected things with the level editor. They used some features in some unintended ways to make any piece of art from the whole game show up on top of any brick. Suddenly levels had bricks covered with pictures of power-ups, explosions, game-over messages, UI elements, and all kinds of misappropriated images from other parts of the game. At first we were impressed, then we were disgusted, and then we realized that the level designers were desperate to find some way to add more color and more decorations to their levels.
This inspired us to add many new abilities to Ricochet Infinity to allow level designers to add color and decorations of their own, in addition to enabling new and improved ways of misappropriating even more images from the game itself. Now they have more freedom to make things as colorful, elegant, or disgusting as they like.
Did incompatibility problems arise between level files generated by the various builds of your level editor?
JS: We have never had a problem with level incompatibilities due to changes in the editor. Ricochet levels are stored in a very flexible file format based on hierarchical text files much like XML but with a simpler syntax. There are name values pair like “X Position = 40” and “Brick Style = Underwater/Blue Stripe Power-Up” to store each property of an object. These are wrapped in curly braces to nest object inside each other in a hierarchical fission. Level packs contain levels which contain bricks which contains plug-ins (scripts).
This hierarchical text based property system allows us to add new properties to bricks or levels without breaking old levels. Occasionally we add special code to convert older property types, but for the most part, old levels just work even in newer versions of the editor since there is no rigid binary structure to the level data.
Harvesting Bad Levels
It’s rare that you’ll find yourself using every single level you’ve designed. Some of the levels will just be less fun or somewhat “out of sync” with the bulk of the levels you’ve created. This will certainly be the case if you’ve been evolving your game’s features parallel to level design; early levels may not utilize superior game features that were added late in your development process.
One solution is simply to adjust these levels to make them “introductory” and place them earlier in the game, sans complex game features. If they still feel too basic, introduce a new focus such as a static target, moving object or an obvious switch/trigger.
Before you decide to throw a level away, take a good look at it. Often, early levels will have some small part or structure that is worth salvaging. These bits and pieces can be combined to beef up your weaker level designs. So, if you find a few pearls like these, copy and paste them together in a consolidated level file for later use (if your level editor supports copy/paste that is…).
If you decide to merge a bunch of pieces into a complete new level, be sure that the disparate elements don’t appear schizophrenic when used together.
Once you have a set of complete levels, the obvious next step is to arrange them for the best playability. If you’ve been designing incrementally against a story or overarching design theme, you probably already have an implied level order. If you’ve been designing levels as independent play experiences, you may have a tougher time figuring out a sensible order. Below are a few suggestions to help you get started. Note that some of these may not make sense for the traditional console market, but could be viable in the casual downloadable space.
Smaller levels come first with larger levels last (e.g., single-screen levels before scrolling playfield levels). For casual players this can make your game more visually comprehensible and approachable. The downside is that you’re putting all that large, expensive-to-create work where many players may never see it!
When introducing power-ups, be sure to take into account the disparity in size between early and late levels, and note what types of power-ups would be most effective on a level of a particular size.
This order can be similar to size order, since larger levels generally take longer to beat. However, the intention here is to have the player chew through initial levels quickly to garner an early sense of accomplishment and develop an attachment to your play mechanics and audiovisuals. Remember to play test with a large sample of your target audience to determine average playtime per level.
Subjective difficulty order
This is the classic level structure of most games. Simple levels up front, with complex, tough-to-beat levels coming last.
In order to accurately determine subjective level difficulty, you can record play data from a large pool of play testers like: playtime per level, number of lives used per level, number of power-ups used per level, etc. The levels that consume an average of 6 minutes, 4 lives and 80% of stored power-ups are going to be a bit tougher than levels that average out to 90 seconds, 0 lives and no power-ups. The information you collect will also show you potential problems with your level designs like: (a) no one is able to obtain a particular power-up, or (b) a single, impossible-to-hit block is making your level take an extra 5 minutes to complete.
Be sure not to turn your game into a grind of progressively more difficult levels. Use stair-step (plateau) difficulty, allowing players to get used to a set of objects/enemies/objectives before moving on to greater challenges.
Visual impact order
An interesting fact about most Breakout-style levels is that the entire level is visible at the start of the game. This means that unless you scroll the level or subsequently bring new challenges on to the screen, players can form a pretty accurate idea of the level’s potential play possibilities in the first few seconds. Since Breakout players in particular seem to live for this moment of revelation, arranging your levels in order of increasing visual impact (regardless of difficulty) will allow you to continually serve this appetite. This structure is probably best-suited to a game with highly representational levels (dinosaurs, robots, faces) where a big part of the payoff is actually the quality/complexity of the representation.
Player (or play tester) preference order
Put your most enjoyable content up front. While this order goes against the grain of traditional level ordering, it could help you convert more demo players into paying customers – many of whom may not play through even half of your game (even after they purchase it). There is a big downside however. Your game will have a relatively weak finish and perhaps rack up bad reviews. To counteract this you could simply discard levels that rate below a certain threshold, thus no level would actually suck…
Create a level access system that allows players to know in advance what the stats are for any given level (difficulty, overall quality, average duration, etc). Sort of like a menu, with ratings for each food item. This way players can pick and choose from the available levels and there are no surprises once they use up all the best content. (I seem to remember encountering this sort of system on a CD ROM compilation of user-created DOOM levels.)
BreakQuest has a menu that presents players with a small, cropped preview image of each level. While not large enough to show the possibilities of the entire level, these menu items still whet the player’s appetite by giving a hint of things to come. (However, this menu system doesn’t provide free level access, at least not initially. Since it still requires players to first conquer each level in a linear fashion.)
A hybrid approach
A good hybrid solution for level ordering is the following: (a) start with Subjective Difficulty, which should hopefully supply a good mix of sizes and playtimes, (b) intersperse with a Visual Impact (or Oddball, or Boss) level every 5-10 levels. Then (c) front load with several Playtester Preference levels to improve conversion rates for your demo. (If Playtester Preference levels don’t fit in with your subtle level progression, try calling them “bonus levels.”) Finally, be sure to add in a menu system that allows players to quickly replay any level they’ve already completed.
Tips to Manage Large Numbers of Levels
The simplest Breakout-style levels take only minutes to build. Moderately complex Breakout levels generally don’t take more than a day. Even an extremely complex scrolling level with tons of motion, power-ups, switches, etc, takes no more than a few days to build and test. Thus a single level designer can be very productive, building 100+ fairly complex levels in only a month or two.
As a solo designer working on a small project (about 60 simple levels), you might be able to get away with only using file names to keep track of your level contents and progression. But when working: (a) with a team of designers, (b) on several hundred complex levels, (c) over a long period of time, or (d) ALL OF THE ABOVE – you definitely need to keep detailed records.
Ensure Consistent Design
Distribute a list that outlines when/where in your collective level progression particular game features are meant to be introduced. For example: “Block Type 6 is an EXPERT object. Do not use in EASY or INTERMEDIATE levels.” If you have the time, build this functionality into your editor so that when a designer selects “EASY LEVEL” (from a dropdown menu) she only gets an EASY set of game objects to design with.
Ensure Consistent Description
Add a “level type” field to your level data. In your editor, populate a dropdown menu with several pre-defined values such as “puzzle level,” “boss level,” etc. If your level files are stored in XML format, this additional field will make organizing chores much easier by allowing you to use the Windows Start Menu search tools to aggregate specific levels. Having an embedded field is also a lot safer than only adding a “p” or “b” prefix to file names in order to identify level types (e.g., “pLevelName” for puzzle, “bLevelName” for boss).
Track Game Object Usage
If your game system is even moderately more complex than the original Breakout, you’ll want to keep track of the types of game objects and game play challenges used in each and every level file (e.g., moving triggers, scrolling, etc). Being able to sort, group and rearrange your levels using these stats will give you maximum flexibility when you have a very large number of levels.
Rather than opening each level file, counting blocks and other game tokens, and recording the result in an Excel spreadsheet, develop a utility that parses your level files, creating detailed stats of the entities found in them. Have the utility export the results as comma delimited text and transfer that into a spreadsheet. You can then use the spreadsheet’s sorting tools to quickly determine relevant groupings and progressions.
Also try pairing this game object usage data with the data generated from your playtesters (see Level Progression – subjective difficulty order). The combination will give you an extremely powerful toolset for tuning and ordering levels.
Tuning for Varying Demographics
A Breakout-style game targeted at the Nintendo DS (younger/hardcore gamer) will usually be quite different than one designed for the casual/downloadable market (more mature/often female gamer). While most Breakout games will fall somewhere in between these two extremes, here are a few things you can do to adjust your levels to favor one or the other demographic.
Casual gamers – use larger blocks, use more one-hit blocks, create a larger initial gap between your block formations and the paddle, provide a little ‘auto-targeting,’ provide a wider paddle, set initial ball speed to moderately slow, provide “visibility enhancers” for the ball (larger ball, distinct color, comet tail, etc).
Hardcore gamers – feel free to use multi-hit blocks or strange target objects, place block formations lower/closer to the paddle, use more unbreakable block and switch combos, use a smaller paddle, increase ball speed slightly with each consecutive paddle hit, use more power-downs, make power-up use integral, use more moving objects, use more Oddball-type levels, provide more Destruction and Avoidance-type play.
Some Final Things to Remember
Be Diligent – get into the habit of regularly replaying finished levels. The minutest changes to your game engine can wreak havoc with them. This typically happens in the 11th hour as you make adjustments to facilitate new game features.
Be Different – if you’re building a commercial product, be sure to differentiate from Arkanoid and your present-day competitors with distinctive features and play mechanics.
Be Clear – develop a vocabulary of design elements and then apply them consistently so the player won’t be confused (see Game Token Priority). This is especially important in the early levels when you are trying to communicate your game’s unique qualities.
Be Clever – educate players on your game’s specific features and then recombine existing features to create new play opportunities. This is a good way to get extra mileage out of your game and significantly increase the number of interesting levels you can provide without having to think up dramatically different play mechanics.
Be Merciful – if you’re designing for casual players, make sure the floor of your block formations (especially in the early levels) is a generous distance above the paddle. And make sure your ball is still visible at its maximum speed!
Be Cruel – always remember that a BORING SUCCESS is less fun than a GLORIOUS FAILURE.
Be Precise – if you’re designing for hardcore Arkanoid fans, make sure your ball mechanics