Sunday, March 2, 2014

Week 1 Idea:

For this week I want to create a clone of a puzzle game I used to play in my younger days.  The game was called Yahoo! Towers and was produced as part of Yahoo!'s games initiative way back in the day.  The game itself is actually a clone+modification of a tetris-like game called Columns.  The game board consists of a 6X13 board of blocks.  A new block that falls down is a column of 3 blocks of different colors.  There are 6 different colors overall.  A block begins falling like tetris and once it fits into place, any blocks which are in the same color in a row/column/diagonal are broken and the blocks above them shift down.  Once blocks shift down, blocks can still be broken/shifted down until there are no more blocks to be broken.  Then, a new block will spawn and start falling again.  In the original Yahoo! towers, there was a multiplayer element where there were power-ups, players could use those power-ups against each other, and the winner was the last man standing.  I highly suggest anyone interested in these types of games to check out the now-almost-defunct Yahoo! Towers (although it requires a login, you could also look at Youtube for Columns or Yahoo towers).

For this week, I want to create a simple clone of the Columns/Yahoo! Towers game.  There will be 6 colored blocks, and they will come down and the user will need to rotate the colors around and move the piece to put it into a place which will break colors and/or cause all other colors to break.  There will be a simple score system for the player and a simple menu.  The point of this challenge is to get me back into the SDL library.  I've been an OpenGL programmer for 10+ years, and I've used mainly GLUT in the beginning, then the GLFW library for GL context management and for setting up the main event loop.  SDL seems to be a much fuller-featured library for this type of thing and also contains functionality for all other aspects of programming which game programming requires (audio, controller input, etc), so I want to get into this and use it so I'll have experience with future projects.  I will also be using code that I come out with to be used on future GaW projects (not the game, just utility functions such as sprite blitting or menu functionality).

Goals:
1. Create a simple columns clone.  Piece of three blocks falling with 3 random colors from the 6 color pool.  Once a piece is landed, pieces will break if the colors are in order in a 3-or-more like color succession.  Pieces will continue to break if they are in color succession when other pieces break.
2. Simple menu system, score identifyer, and next piece viewer.

Stretch Goals:
1. Power-ups

Language used:
C++

Libraries used:
SDL, OpenGL (version XX, I might be using newer OpenGL version. I'll make sure to edit this once I post the game).

After the game, I will post which libraries I used, which ones I had to create which could be used in future games, and other stuff.  See you next Sunday.

-Billy

No comments:

Post a Comment