Friday, September 14, 2012

DEMO - CUBE LOGIC

Well, this blog was marked as spam, by the automated spam detection system, after one post. I do manage to impress myself occasionally. Anyhow, the mishap has been cleared up and I'll start by posting some work on my first demo idea. 


Project Goal


My attempt was to make a puzzle game, that had a very small scope in terms of it's gameplay. An experiment to figure out how to go about structuring basic game code as far as transitioning between scenes, loading/unloading assets, handling menu systems, handling how components interact with each other, how the user interacts with the objects. Basically, creating a template that could be applied, with minimal tweaking, to my future projects.


Game Idea

On every level the player is faced with a group of rectangular columns, each with a number representing it's position, zero, one, two or three.  The point is to level all the columns down to zero. However, some columns  effect other ones by a certain factor. For example, pulling column 'A' upwards may effect column 'B',  pushing it downwards by two positions. The move is only valid when all the effected columns are within the range of positions zero through three (inclusive). After every move the column visually updates to its current position. The puzzle is to figure out which combination of movements are needed to result in all the columns moving down to position zero.


The Result


The game runs exactly how I imagined it. However, while forcing a few reluctant people to play the game, under threat of pain, there were certain things I noticed. 

One, after the first few minutes no one paid attention to the number position on any column. Instead, the puzzles were solved by randomly moving different columns to see what the effect would be. Solving the puzzle basically by getting a feel for how the columns interacted. This makes the numbering system almost irrelevant. The only benefit is knowing when a column is zero or three, to mark them as limits, and even in that there is only slight utility.

Two, how much one column effects another column is completely unpredictable. The reason being, no rules govern it. It is simply how I made it to be on any given level. One way to rectify this would be to think of the positions of each column as weight. Moving a column would transfer its weight evenly onto the effected columns. Example if a player moves a column by two positions, and that effects two other columns. Then each of the effected columns will be moved by a magnitude of one.This gives some predictability to the interactions. However, this seems like a minor point because of the first issue. Namely that it is more fun to move the objects around and get a feel for the interactions rather than work through it. 

Three, it's not obvious what direction the effected columns will move. Some move in parallel to the original movement, some move in opposition.  It is color coded but difficult to differentiate. I am partial to black and white design, so I left it as is. Easily rectifiable using different colors though.






Download

An eight level demo is available in my Dropbox, for Windows users. I'll post a mac version up if I'm not lazy about it.  Apologies, I'll export my future projects for the web browser to avoid a download.


Controls

The only keyboard input is to bring up the pause menu screen up while playing.  To do so press the  'A' key.


No comments:

Post a Comment