CS459 project “Cubes” Iteration #1 Report

Kevin Reid
October 7, 2011

Per the requirements outlined at the course site.

Problem Space

The overall system is a block-building game. This is not a new idea; in fact, the inspiration comes directly from the wildly popular Minecraft. I am looking to produce, not a game that is better or different in a particular way, but a foundation that can be used to make a game that is better in a way the player (user) wants.

The core functionality of the game is largely fixed based on the original concept: the player has a first-person view of a block world, and can add and delete blocks in that world. The available blocks to use for this purpose, the "block set", can themselves be edited by considering them as sub-worlds and editing the smaller blocks making them up (thus defining their shape, color, and behavior).

As an HCI project, I will be considering only finding good user interfaces for individual interactions (for example, choosing a block type and placing it in the world), and perhaps the systems by which block behaviors are defined.

Goals

Usability Goals

The first of these goals is the most important; if it is lacking, then no one will get around to caring about the nifty world-editing part.

User Experience Goals

Questions

TODO: Write this

Conceptual Model

The conceptual model consists of the following elements:

World
A world is a three-dimensional space (in the current prototype, of finite volume) in which blocks are placed aligned to a cubical grid.
Block
Each grid cell of a world may be empty air or contain a block. Blocks are generally solid, obstructing the player's movement (and forming the floor they stand on). The appearance, properties, and behavior of a block are determined by its type, which is one of the elements of the block set. For the most part, all blocks of a given type are completely identical.
Block type
A block type is a particular design of block. Each block type has a world whose constituent blocks are a large-scale model (currently 16×) of the shape and color of the block. The block type may have additional information specifying behavior of the block, and metadata such as a name for the block.
Block set
A block set is a collection of block types. Each world contains blocks from a given block set; therefore the block set determines the theme and capabilities of the world.

There are two basic activities that the user may engage in: building structures in a world (using its block set), and editing the block set (which consists mainly of editing the block types' worlds and viewing the results in a world which uses that block set).

Type of interaction: My plan is for the interaction to be direct manipulation as far as possible.

Persona

TODO: To be completed after data gathering.

User Needs & Expectations

TODO: To be completed after data gathering.

Discussion

TODO.