Saturday, June 25, 2005

SpaceCrack: Planet Basics

This part 6 of an ongoing game design document written as a blog. Be sure to catch up on previous posts. In the last post we talked about using expressive verbs as the model for player actions. This time we'll talk about the need for a game environment that provides a large set of unique and interesting context for each player action.

I’m going to pull another design technique called ‘Player Created Environments” out of the hat o’ tricks that will help us get this with the minimum amount of effort.

Game Environments: A theoretical underpinning.
The verbs we’ve discussed let the player act on a single token. In isolation, such an action is pretty damned boring. If you merely say “I moved a ship,” the typical response is “So what?”

The context and implication of the action depend on what is happening in the game environment. When you can say “I moved a ship that is going to attack the center of the empire that he is forming as a forward attack base on my home planet” then you start to have an interesting context that engages the player.

Game environment: The current state of all non-player tokens in play at a given moment in time.

Most game environments are largely static and pre-planned by the game designer. This takes a lot of work and is typically done by level designers. They build elaborate set pieces with monsters ready to bash through doors and traps poised to spring on unsuspecting player avatars. This can be fun (usually only once), but to be blunt, as an independent designer, I can’t afford it. Every second of game play takes hours of custom molding of the experience and level designers are damned expensive.

Player-created Environments
This is where Player-created environments come in.

Player-created environment: A player-created environment is a game environment where the current state of non-player tokens in play is determined primarily by the intentional and meaningful historical actions of the players and not the designer.

Go sports the classic player-created environment. You start with a small set of tokens and simple rules for how the tokens interact. Over the course of the game, one move at a time, a complex environment emerges whose game play possibilities confound even the most potent supercomputer on the planet.

What is even better is that this environment is unique. The next time someone plays, they’ll be in the middle of a completely different environment full of new strategic implications. With a few tokens and a simple set of rules, the player creates an astronomical number of ‘levels’ at zero cost to the developer.

There are some basic requirements for interesting player created environments

  • The changes that a player makes to the game world have meaningful short-term tactical implications.
  • Incremental changes build on top of one another such that the environment diverges rapidly from its base state. The cumulative effect of player changes has major strategic implications for the game play.
  • The environment does not converge on a few readily identifiable configurations of tokens. Instead each game builds a unique playing environment.

The distinction between Level Editors and Player-created environments
Inevitably when I talk about player-created environments, someone brings up level editors and mod tool. These tools let someone who was not on the original development team create original, typically static, game environments. Since the editing isn’t happening as part of the game during actually gameplay, these are not classified as player-created environments.

The core building blocks of SpaceCrack’s player-created environments are planets. Planets form the physical landscape of the game and serve as the hubs for all player activity.

  • Planets produce ships, the only movable tokens in the game. Based on player choices, there are a huge range of ships that can be produced at each planet.
  • Planets produce upgrades and automatically apply those upgrades to ships.
  • Players capture planets to forms a unique topography of nodes that must traversed in order to conquer the universe.
  • Planets produce resources in the form of Crack.

Attributes of a Planet
They have the following attributes

  • Ownership: A planet is marked by it’s owner. Planets can belong to a specific player, be independent.
  • Military Status: A planet can be being attacked, recently conquered, a conquered perimeter world, or a conquered core world.
  • Class: This is used to determine size of ships that are built and modifies the time it takes to build ships. The bigger the class of planet, the larger the planet on the screen.
  • Number of Upgrade slots: The more upgrade slots, the more upgrades can be built on a planet. Upgrades give your planet and ships special powers.
  • Existing Upgrades: Some planets are randomly generated with existing upgrades already built.

Planet GUI
The planet is the center of the graphical user interface of SpaceCrack Classic. This section describes the icons that exist. Other sections describe how these gizmos are used.

  • Player Ownership: The base texture and color of the planet changes based off which empire owns it. All planets owned by a player have the same texture.
  • Ship Platform: A space station exists for building ships. This is attached to the planet.
  • Upgrade platform: Each planet has a fixed number of upgrade platforms. These are floating disks that also rotate around the planet. By clicking on an empty Upgrade Platform, a menu appears that lets you build a specific upgrade.
  • Upgrades: An upgrade gives special powers to the planet or any ship built on the planet. Once an upgrade is built, it is no longer interactive. Rolling over the upgrade gives a tool tip describing what the upgrade does.
  • Planet rotation: If the player wants to see what upgrades a specific planet has, they can grab the planet or existing upgrades and spin it. Planets spin with momentum.
  • Planet tool tip: Rolling over a planet gives basic stats including Planet Class, # of open upgrade slots, # of total upgrade slots.

Changing Planet Ownership
Each player owns one planet at the beginning of the game. All other planets are independent.

  • Conquering independent planets: The first player’s ship to land on an independent planet takes ownership of that planet. The first player to land on an independent planet gets a Crack bonus.
  • Conquering enemy planets: When a player ship wins a battle at a player against a defending ship, the winning player take ownership of the planet.

We’ve just nicked the surface of Planets and how they contribute to the gameplay. However, at this stage, we’ve described the basic building block of our player environment. Each planet has a number of attributes, each of which has a major impact on the gameplay. The player can manipulate almost any attribute with the basic verbs that we described earlier.

This is a very important design concept. Tokens in player-created environments tend to sport attributes that are player-defined, not designer-defined. If games are all about the player making meaningful choices, why spend time adding attributes that only present meaningful choices to the designer? Remember: we are building this game for Ray, not ourselves. Truly embracing this design philosophy can have a major impact on your game design.

Next we need to figure out a player-driven mechanism for organizing our planet tokens into strategically interesting environments.

The next post is up! Read it now.

take care