Per the requirements outlined at the course site.
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.
The interface should be immediately understandable (or discoverable) to a user familiar with Minecraft.
(This is largely equivalent to a similar requirement vs. other first-person games as the controls are largely standard: WASD to move, space to jump, mouse to look, mouse buttons/some keys to interact with the world.)
The entire state of the game world should be discoverable and editable straightforwardly. (visibility).
(This is worth mentioning because the uses include a sort of programming (game customization), which if not designed with consideration, might cause there to be hidden state.)
It should not be necessary to manually perform block-by-block operations in worlds using a given block set as a result of modifying the block set.
(For example, if a block type is deleted, it should be possible to specify the other block it should be replaced with in the worlds that contain it, rather than locating and replacing every instance manually.)
TODO: Need more less-specific 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.
Fun, at least to the sort of person who enjoys Redstone design in Minecraft and building large-scale active/reactive constructions.
Immersiveness: The means of defining blocks and their behaviors should feel similar to the building of structures out of those blocks. Interactions should take place almost entirely within the 3D space.
Unlimited customizability of the appearance of the world, within the pixelated-blocks constraint/aesthetic.
TODO: Write this
The conceptual model consists of the following elements:
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.
TODO: To be completed after data gathering.
TODO: To be completed after data gathering.
TODO.