The first big peak was my games' mention on jayisgames.com. The second peak was the mention of my games (actually a mention of the jayisgames mention of my games) on the Wired blog.
In any case, the numbers have settled down, but they have settled down to about 3 times as many hits as before anything occurred, so I clearly got some new regulars out of the whole deal. I'm still averaging 800-1000 hits a day on the site, which translates to around 600-800 daily plays of my games.
And that's cool, although bandwidth this month has been a mite heavy.
On another note, I'm taking a minor break from Daily Puzzle Number Twelve (which isn't started yet) to update the Online Bulldozer Builder. The goal of the OBB is as follows. . .
1. Running in Flash with a database back-end so people can make Bulldozer levels and submit them to a database on my site. Also people can pull up the old levels they've made and edit or play them.
2. File compatibility with old versions of Bulldozer.
3. New features.
And here's what I've got so far.
Unfortunately this is about as simple as I can figure out to make it, and it's still a mite complex. The edit-fields at the bottom aren't finalized, but the tools pretty-much are. Rather than put up a zillion rock icons of different sizes, I made a 5x5 grid. Clicking in that grid will construct a rock of that size (in this case, 2x3 squares). You can then "paint" in the canvas with the selected tool (i.e. the one with the green halo).
The major features are:
1. larger rocks, up to 5x5 squares, although you can still only push one rock. If a 5x5 rock is up against a 1x1 rock, you had better figure out how to move the little one.
2. Turnstiles, which are little gizmos that pivot if you push your bulldozer against 'em. Like rocks, they have to be clear to move.
3. Holes (denoted by the black square). Dozers cannot move into holes. Holes can be filled by rocks, but only if the rock fits in the hole. A 1x1 rock can fit in a 5x5 hole (and will fall into the first available space), but a 5x5 rock cannot fit in a 1x1 hole (although it can be pushed over one).
4. Goal spaces (shown by the little red flag). This brings up a completely new way of playing Bulldozer. If a bulldozer touches a goal-space, then the bulldozer is catapulted off the board. In order for levels with goal-spaces to be completed, all bulldozers must be catapulted off the board in addition to all targets being covered by rocks.
The whole goal-spaces thing can make Bulldozer into pretty-much an entirely different game. Rather than being rock-target, the goal of Bulldozer can then be to get your bulldozer(s) to navigate a rock-strewn made and make it to the end.
And, while a level CAN have new goals, it's not required. That means that "classic" bulldozer levels can be in play or "new" levels can tool.
Yeah, it's a mite confusing, but I wanted to add just a bit to Bulldozer without it becoming an entirely different game. I figured with this setup I can have "classic" bulldozer levels, multi-dozer cooperative levels, goal-seeking levels, or any combination of those.
It's an evolving thing. I realize that I'm running afoul of the "diamond versus ball of mud" philosophy here, but there's a reason for that.
For the uninitiated, game design can often fit into two different categories here. One is the diamond. A diamond is small and perfect. Most importantly, a diamond cannot be made any smaller. Bulldozer (aka Sokoban) is a great example of a diamond. In its simplest form, it has only four pieces (bulldozer, rock, target, wall). None of those pieces can be removed without making it into an entirely different game. Lots of games have expanded Bulldozer-style games (Oxyd), but they don't add to the experience.
Now then, if you do change up the goals, you make an entirely different diamond. Chip's Challenge is an example of that. While Chip's Challenge shares much of the Bulldozer model (moving in steps and pushing stuff), its different goals render it a different game. You could not write a Bulldozer level in Chip's Challenge or vice-versa, as the goals are different.
So what I'm really doing is making a second diamond (and a third, really) and calling 'em all Bulldozer. They could be entirely new games, but the Bulldozer concept is accepted and recognized (if only in a small name), so I'm gonna stick with that. If I had the chance to go back and change Duck Tiles to "Bulldozer on a sheet of ice", I'd probably do it.
So I hope to have a little more to show off this time next week.
On an entirely different note, I was listening to the Wacky Morning Team Of Firstname and Firstname (tm) while making a delivery this morning. They were doing a call-in version of the old "guess the number" game where the DJ picked a number from 1 to 100 and told callers that their guesses were too high or too low until a caller got it correct.
Now then, the obvious strategy for the game is to guess half the value between the previous best high and low guess, but is the obvious strategy the best when many people are queuing up to guess? After all, if I know that the target number is between 1 and 100, all of my guesses have a 1-in-100 chance of being right. 50 would be the most intelligent guess, but it has no more chance of winning than any other number between 1 and 100, and all I do by guessing 50 is make things easier for the following callers by eliminating half of the remaining guesses.
In the radio-game case, the best strategy seems to be to make the guess that eliminates the fewest numbers. I have the same odds of getting the number exactly correct and winning the game, but if I am incorrect, then my "bad" guess would artificially prolong the game so I can try to call in again and make another guess.
So my best strategy in the aforementioned case of the radio-number-guess game would be to guess 1 or 100, as it's as as likely to win as 50 but imparts the least help to the callers that follow.
Not that it matters in the slightest. I didn't call in to the show, as I was apparently too busy playing the metagame - the game that exists outside of the game itself and is usually more interesting :)