Original design document
Match-3 game, where cleared tiles are simply removed from the board, with no replacement tiles added.
Goal of the game is to clear as many of the tiles on the board as possible
Board will be an X by Y rectangle, filled with colored tiles. (To make them accessible for the color blind, they should also have pictures on them, with a 1:1 relationship with the color)
Clicking two adjacent tiles will swap the tiles.
(For now) Only swaps that result in 3 or more tiles matching will be permitted (changing this will produce a very different play experience: will experiment to see what is most fun)
After tiles clear, any tiles that remain will settle vertically (think "falling due to gravity")
Game ends when the player gives up, or there are no pieces remaining on the board.
Player's performance is measured by the number of remaining tiles.
To keep the scope small, these are features that, while nice to have, can be left out if necessary:
Original writeup- immediately after completing the project
One of the most striking features of programming this game was how comfortable the UI was compared to working with the data structures. It is clear that, although I have a decent amount of programming experience, the data structures I primarily work with (lists of read-only data and editable forms) do not translate very well to programming the data structures that drive real-time, interactive motion of objects.
Although I was able to deliver on the core game design in the timeframe, I am disappointed that I was unable to get any of the nice-to-have features. The mechanic that would allow players to add new tiles to the game board would, I think, push the game closer to being a fun (and winnable) experience. As it stands, many of the board configurations simply cannot be cleared.
While it is nice to know that I have a good sense of what I can accomplish in a week, it is frustrating that this is, at best, a bad match-3 clone (with the only innovation making it more frustrating, rather than more fun). The weekly format simply does not provide me enough time to get beyond bare-bones mechanics and implementation. I will be extending the deadline to two weeks, in order to explore more mechanically ambitious (and interesting) core game design.