tisdag 21 juli 2009

Grundkoncept

Okay, I've decided to make a puzzle game with coloured blocks (pretty original, right?).

The player has a game board with stacks of blocks, and can move a row in the stack either to the left or right. If three(?) blocks of the same colour make a row (horizontally or vertically... what about diagonally?) they disappear, and points are added to the player's score. If this in turn leads to more blocks disappearing as the stack collapses (gravity!) you get extra points - the player's goal is to create chain reactions akin to the ones in Puyo Puyo.

There also needs to be an element of danger - if the player is too slow, taking her jolly time, she must be punished. Maybe a new row of blocks will appear if the player failed to remove any blocks in her previous move? Also, as is the standard in these games, you get a "game over" if the screen fills up with blocks.

That's the basic concept - here's how I'm thinking the flow of program should look like:
1.) The player moves a row of blocks
2.) Check if there are blocks with no blocks under them, i.e. they're "hovering"
2.1.) If hovering blocks are found, make them fall down
3.) Check if there are any rows of three of blocks of the same colour
3.1.) If rows like that are found, remove those blocks and go back to 2.), else go back to 1.)

Okej, jag har bestämt mig för att göra ett pusselspel med färgade block (originellt, eller hur?). Spelaren har en spelplan med massor av block, och kan flytta alla block i en rad ett steg i sidled. Om tre(?) block i samma färg ligger i rad (vågrätt eller lodrätt, men inte i sidled?) så försvinner de och spelaren får poäng. Om detta sedan leder till att fler block försvinner genom att högen med block kollapsar får man extra mycket poäng - målet är alltså att skapa kedjereaktioner (precis som i Puyo Puyo).

På något sätt måste också spelaren straffas om hon är för långsam - kanske en ny rad av block dyker upp varje gång man flyttat block utan att lyckas ta bort några? Spelet är slut när spelplanen är helt fylld av block.

Det är det grundläggande konceptet. Så här hade jag tänkt att programflödet skulle se ut:

1.) Spelaren flyttar en rad block
2.) Kolla om det finns block som inte har några block under sig ("hänger i luften")
2.1) Om det finns sådana, låt dem ramla ner
3.) Kolla om det finns några rader av tre block i samma färg
3.1) Om det finns några rader, ta bort blocken och gå tillbaka till 2.)

Inga kommentarer:

Skicka en kommentar