Tuesday, March 20, 2012

Pipelining Analysis

Well I ended up making that one game during winter break.  If you don't know what it is, here's an overview of it:

First, some design decisions: score formula was 25*[1.25(# of matches)+.5(# of halves)-.25]*chain number.  Looking back, I'd have liked to increase the bonus for more matches (as is, it's 1.00 for a single match and then +1.25 for every extra simultaneous match; I was thinking something like 1.00, 1.25, 1.5, ...), but considering that the entire fan base for the game would be upset if the scoring changed now because of all the high scores being set with the original scoring, I'm not going to change it.  Also, the bomb piece wasn't originally planned as a part of the game.  You could then be stuck with unplayable pieces, and I would just say too bad, set your pieces better or something.  But, in the end, I think the bomb was a nice addition.  Not only can it open up unplayable sections, but it also helps deal with unlucky piece distributions.

As for the game, I think the graphics are all right.  Not amazing but not bad, which is fine by me, I wanted to make a game, not draw a picture.  I find myself humming the music in my head occasionally, so I guess that's good too.  I do like the voices, and not just because I made half of them.  The game itself can actually be fun for anyone who enjoys games like this.  See, Blockmania was a 3 in a row game with 4 colors and only single blocks, so if you put each color in a separate column, you never fill up and the game's pointless.  It only got interesting if you were into making long chains.  This game isn't like that; it has it's difficulty.  The game also gets harder as time goes on: at first you only need to drop 6 blocks to get a starter drop, but if you play long enough, you won't get more drops until after placing 20 blocks.  The pieces also fall faster.

In battle mode, you send 1 garbage block for every 200 points.  Garbage is cleared by exploding a piece next to a garbage block.  Now, the questions I have are how well this system works when 2 people are playing without any knowledge of deep strategies and how this system affects the optimum strategies.  A single half-hearted sample run (no one I knew was very interested in testing out the game) brings up some possible answers.  Maybe, maybe garbage can be cleared really easily?  Maybe?  It might be the case that the game drags out because most players will have trouble sending a ton of garbage without knowing any strategies?  Which would be all right because the game isn't too easy.  This might happen because you can clear like 20 blocks and only send 12 garbage blocks or so, and then if the opponent can make a match they might be able to get rid of most of that.  However, it could also be possible that someone wins with a big match usually.  It's also possible that garbage isn't really that easy to clear, it only gets cleared quickly if you have a buried match and dig down to it, which I think is what happened in the only somewhat evenly matched game between new players ever played.
And I can only guess what high level play would be like.  But, at least I can guess.  I guess I have a lot of guesses.

The biggest question is: is harassment (making quick smaller chains to send garbage) useful?  I feel like I could speak about it in just Starcraft terms sometimes.  It's possible that if you do a large enough attack that will send a reasonable amount of garbage, than you're going all in and if your opponent counters with every piece they have, they win.  The basic concept is that both players are extending one long chain with every piece placed, and if one person sends their chain, the other can put a few more pieces and send a longer chain and just win.  But, if one person sends a very small chain, then if the opponent counters with a full chain the first person will have enough time to replace the pieces they used and send back even more.  The problem is, you don't send much with a small chain, so sending a small chain might not be a good strategy unless the opponent is expecting something else or not paying attention or something.  This all points to the idea that harassment isn't very effective, and the game would be about who can create the highest scoring chain.  (Which is what many people say is "skill" in other games but I disagree, and it's not entirely the game I wanted to make.)

The next point is how hard it is to deal with garbage.  It has to be considered differently for higher level play.  First, you could try to keep it and match around/through it, but this limits your max score, so your opponent will win by playing a full match (consider that single pieces make 1000-2000 points difference in 60 piece matches).  Second, you could try and clear it, but in this time you would be using up pieces and not extending your chain.  It would be a lot like doing a weak attack that could be countered.  If all this is true, then maybe a even just a single line of garbage has to be respected, and harassment becomes a valid strategy again.

All this theory is good and well, but you have to know how to execute the ideas too.  So, here are some "build orders!"

First thing to note: most of the sets use the same strategy of plusses in the 5th column, clearing 4 half lines on the right, 5 on the left, the 5th piece on the right curving up and going to the top.  There are variations with this style ending, but these variations would be usable in all the sets with this ending.
A solid 30 (29) piece ending.
Then, barring the ending variations, all sets with this ending that clear the other 30 pieces one at a time will be equal in score, so no "build order wins" unless one player doesn't go for a match that can clear all 60 pieces (or one player pulls of the extended chain perfectly).  [But all sets aren't necessarily as good as one another.  Other things to consider are how well the set can use the expected piece distribution, and how well the set deals with variations in general and in the 10th row especially.]

The ending variations are: going up to the 5th row in the 4th column before turning (higher score but less room to put pieces if you get a lot of half lines) and not going right in the 5th row in an odd column.  The match goes right every odd column and left every even column, so the plusses can be replaced with T's.  However, by not going right in an odd column (the 1st column for the most points) and going both ways in even columns, you can get more points.  The set is more restrictive at the top, because you now need a plus or a T as the final piece; an L piece won't work.  (It matters when you have no room to place extra pieces.)

If you want to see how many of these matches actually play out, you can watch this video:


The "standard set"
T's can replace just about any block, extra plusses can go on the snaking part in the left or in the 6th column, extra straight lines can go in the 6th column (or the 5th column, odd rows), and it's unlikely that you'll get too many L's unless you use up extra plusses or T's in the spot for L's too.  This means the set deals well with most piece distributions you'll get.
The start of the match in this set can always be left open to be played, but the full match can't be played until the third column is set (a piece curving right is placed).  Setting the third column early means the match must be adjusted and most likely won't score as well (there are some clever ways to keep the scoring even or even score higher in some cases).

With a minor adjustment, the set can be designed for a large attack at around 20 seconds:
There are so many instantly available options here: a starter drop in the 5th column sends a very quick 1-2 lines of garbage with little time to react (the match ends shortly after you hear the "good" so if you're not looking it's tough to respond to), a full match that clears (almost) everything is always open on the left, the bomb can be used to un-set the 3rd column and play the standard set normally, or un-set and send a smaller attack, or bomb the 4th column and send a tiny attack, leaving enough pieces to counter if your opponent overreacts.  You'll have to do something when you get more straight pieces though.  One option that keeps the strong attack open is this:
But it's questionable, because if you play the attack, the pieces don't fall well.

One interesting set is this one:
It's useful even in one player because it allows for multiple straight line blocks at the start of the game (the standard set can only take one before needing an L or T block).  The match in the 5th column is always open, and if that match is played, you can send 2-4 lines of garbage, and the pieces fall and make the standard set, and you can continue on from there.  It takes a lot of pieces to set the full match properly (4 turn pieces at most), but the 5th column match should be good to deal with quick attacks, and anything larger might give enough time to place whatever you need to make a full match.

Garbage can't fall on top of the 10th row, so here's a set to take advantage of that:
You fill up the first column as fast as possible, and then the start of your match can't be covered.  After filling the first column, the rest of your match will change depending on the pieces you get.  Basically, you have to think about it and know how to make it work.

Finally, here's a rather impractical set that has better scoring:

This is so hard to pull off that I don't think the extra 2000 points or so justify going for it.

By the way, I guess I didn't talk about one player modes much.  I don't really like endless (not that anything's wrong with the mode, I just don't play endless in most puzzle games), timed relies on a lot of speed and high scoring matches, a little bad luck can destroy your chances for a decent score in limited drops mode, I can kind of do the standard set in blind mode and I haven't gotten the hang of doubles yet.

No comments:

Post a Comment