Thursday, May 25, 2006

Bang! Howdy

Bang! Howdy just released a beta client. It's a lot of fun and I reccomend checking it out. I think they still have some work to do to get their financial model working. I think they need better community hooks to give players a reason to want to spend money customizing their appearances, etc. (players don't pay money until they buy customization) It's the first pseudo-MMO world I've had time to play in a long time. If you see Billy der Kind, that's me.

With a recent trip to India, wedding preparations and a lot of craziness at work I haven't had a lot of time to work on game projects. I am working on a game that is somewhat based on the game Every Extend Extra which is to be released soon for the PSP (I got to play a demo at E3). I really like the idea of the game but I think that it could be made more interesting with some real physics as well as a more persistent "character development" system ala upgrades between levels.

Thursday, March 30, 2006

Election (a card game)

Work's been kicking my ass recently. That and I just moved to Long Beach. Not much time for game development unfortunately. Next week I will be going to India for two weeks and so I fear that trend may continue.

I'm now living with my fiance and we have more time to play games. We really like playing Lost Cities and Razzia when it's just us two (and The Great Dalmuti or Transeuropa when we have some company). As great as these games are I have gotten a bit tired of them and so, the other day on our way to dinner, I came up with some rough rules for a new card game for us to play.

It seems like the sort of thing that has probably been done somewhere and so I wouldn't be surprised if there is already a similar game out there. It borrows heavily from Reiner Knizia's style of game design. It's pretty simple and straight-forward however and has one property that I think is good for couples games: there is a certain amount of strategy to it but there is also a lot of luck involved. This mix is very important for games for couples as it allows the players to get better and to think about how they play but if the skill level is somewhat unequal there is still a significant luck factor to where the less-skilled player can still win sometimes.

So, here's the rules. Let me know if you try it and what you think.

Election

Story/Theme
The idea is that you and the other players represent two parties duking it out in an election. You have a certain amount of money to spend obtaining votes. At the end of the game, the player with the most votes wins.

Setup
To start playing you will need 2 players and 3 decks of cards. It will be easier if the 3 decks of cards have different backs so that you can easily seperate them out later. All three decks should be thoroughly shuffled at the start of the game. Each of the two players will take one of the decks. These are their "money" decks. The third deck is the "votes" deck and the two players will vie to capture these votes during the play of the game. The "votes" decks should not contain jokers but the "money" decks should. The game can take from 1 to 5 rounds and the players should choose the number of rounds to be played at the start of the game. I recommend 3 rounds to start with. Picking 5 rounds will make for a more strategy game whereas fewer rounds will introduce more variance into the game.

Rounds
At the start of each round one of the players should place the top 10 "vote" cards in a line in the center of the table. The line spreads out between the two players. Each player will be placing cards on their side of each of the "vote" cards.

The players take turns placing "money" cards. The first player of the round will be the person with the most votes at the end of the prior round (it is actually advantageous to go second). For the first round, the strongest player should go first (or you can choose this randomly). In the event of a tied score at the end of the last round, the player who went first in the round before that still plays first.

Play
Each player, on their turn, picks up the top card of their deck, looks at it, and then choose to play it next to one of the "vote" cards in the middle of the table. They cannot play it next to a card that they have already played by.

Play continues until each player has laid 10 cards on the table. Each player is trying to spend more money than the other player on key votes so that they will win the election.

Jokers
Jokes are your chance to exercise corruption and gerrymandering. If a player draws a Joker as the very first card to be played for that round then play passes to the other player (giving the player who drew the Joker the advantage of playing second). If a Joker is drawn at any other time, the player who has drawn the Joker is allowed to switch the locations of any two "vote" cards currently on the board. After switching two cards, the player then draws another card and takes a normal turn.

Scoring

At the end of the round players figure out who captureed each of the "vote" cards. The player who has played the largest valued "money" card next to a given "vote" card takes that card. In the event of a tie, the "vote" card is removed from the board and neither player gets it. For the purposes of capturing, Poker ranks are used (i.e. the Ace is the highest card in the deck).

Players then count the values of all of their captured "vote" cards. Numbered cards are worth the same amount of votes as their numerical value. Face cards are worth 10 votes. Aces are worth only 1 vote. The winner is of the game will be the player with the most votes at the end of the final round.

Thoughts
The theme of the game is admittedly "pasted on". It was an afterthought but I think it works pretty well. I could see making a new version of the game with some slightly more interesting decks (there were several ideas that I went through for the Jokers, for example, which could be extended to other special cards) and putting interesting pictures on all of the "vote" cards representing different voting blocks.

The game isn't as deep as Razzia or Lost Cities but we do have fun playing it. If you try it out, let me know what you think, it certainly hasn't had a lot of playtesting.

Monday, March 13, 2006

Minus the Bear

Completely off topic:

We saw Minus the Bear last Saturday at the Casbah down in San Diego and it was fantastic. I've never gone to a lot of live music, concerts never really grabbed me, but in a smaller venue with a band I really dig, it was a great experience -- one I hope to repeat.

Check out their songs on on their website or on iTunes, the studio versions are also quite excellent. My favorite songs: The Fix, Memphis & 53rd and Michio's Death Drive.

Wednesday, February 22, 2006

Find-3

Finally another game is ready to post. You can find the game here although you will probably want to read the concept section below before trying it just so you know what you're doing.

Concept
I said I didn't want to do a Match-3 clone and here I have a Match-3 clone. Sort of. I call it "find" 3 as opposed to "match" 3 as the process of finding is a bit more intense in this version. In fact, this game should give your visual cortex quite a workout.

The board is setup like a Match-3 board, with a lot of square, some of which are special and have slightly darker backgrouns. The darker squares will go to their normal color once you create a match using them. When you have removed all of the darker squares from the board you can continue to the next level.

So far it should sound pretty standard. But the matching procedure is a bit more challenging. Each tile on the board has four properties: color, number, fill and shape. Each property has three possible values, i.e. red, blue and green (and now that I write this up I realize that again I should have considered color-blindness). To make a match among 3 tiles you will need to find 3 tiles that are either the same, or all different, with respect to each property.

Here is an example:







These three have: the same shape, the same color, different fills and different numbers. They are a match. Here's another:








This has different shapes, different colors, different fills and different numbers and is thus also a match.

Matches can be any 3 squares on the board, they don't have to be 3 in a row.

So, your goal then is to find these matches as quickly as possible and in particular to match the squares that are darkened. Once you have cleared each such square you will move on to the next level. If you run out of time you'll start over on level 1. If you beat level 5 then that's it, your score will be saved in the high score and you can try again at level 1.

Ok, go play.

Design Process
First of all, some of you may notice the matching structure that this game uses is based on as being that of the game Set. Set is a sort of brain-teaser party game that is played with cards. For set you only have 12 cards out on the table, not the 25 of my version, which makes it a bit more difficult. People sit around staring at the cards until someone finds a "set" and shows it to everyone else, taking the cards.

And actually, I did not set out to make a Set match-3 game. I was just interested in the notion of creating a game that had as its challenge a visual pattern-finding task that was more interesting than the standard 3-of-the-same-color that you see in the many Bejeweled clones. The first idea I had was a Chuzzle-style game where instead of creating 3 in a row's, you create poker hands (and I still may prototype that). That idea went through several iterations, some action-oriented and some strategy-oriented and it led to considering colored gems with numbers and then colored gems with shapes and numbers. At first I thought of a game where each square had up to four gems, one of four colors and up to four shapes (for a grand total of 64 possible tiles). The idea was the same as Set: that each property had to be the same or different. I thought it would hopefully be easier than Set (where there are 81 possible tiles) but after testing it on paper I found it to be extremely difficult. With 3 tiles to match you can look at two and know what the third match must be, and there's a decent chance it will be on the board (about 29%). With 4 tiles to match, after picking two you still have 2 tiles to go and have a lower chance that the two you need are on the board. I found it just takes too much "stack depth" to think 4 tiles in and the matches seem less common anyway. So I ended up just going with the Set rule of 4 properties and 3 of each property.

I still think there is other interesting territory to delve into here. Chuzzle with both shapes and colors, matching only for "the same" and not "different" seems like it would be interesting but it also seemed too much like the existing game and I wanted to try something a bit different.

Having determined the core mechanic for the game I still had a lot of decisions to make. How would the player progress for example? At first I was going to just have a level where the tiles stayed exactly the same throughout and the player tried to make as many matches with that set of tiles as possible. They would get points for each match and bonus points for filling in an entire row or column of the board or filling out special "gold squares". In practice I found this a little boring and a little static. So I did the obvious thing of replacing tiles as they are matched. I thought the game needed a better sense of progression though. I had the idea that you might need a certain amount of points to get to the next level but it seemed a bit too arbitrary and so I switched to the timer. Design decisions, of course, which had already been made for similar match games but I could see that they made sense and seemed to be the best way to make the game fun.

I added scoring -- you get level*100 points per match and you get level*50 points for each bar left in the timer bar when you complete a level. I played with the timing a bit. At first the timers were much quicker but after having my fiance playtest a bit I determined that it was too hard for someone who hadn't played as much as I did while developing the thing.

And there you have it, the complete game.

Development Process
The process of prototyping the game went fairly quickly this time. I'm using classes with my actionscript and that helps a lot to structure the code and put it into an easily readable and debuggable form. If I ever go back to do anything with Crystal Chaos again I think I will have to update the code with what I've learned since. I spent about 2 hours one night making all the pictures for the tiles. Then last Monday I spent an evening coding and had a pretty decent prototype when I was done. A few hours last night were enough to put in score, timers and add some finishing touches to the UI.

Thoughts on the Game
I like the game myself. It's somewhat limited in what it does but so are the other Match-3 games that it emulates. I found the challenge to be engaging and wanted to keep playing to get higher scores although at times it could be frustrating when I just got stuck and couldn't find anything (in part this could be alleviated with a shuffle and/or a hint button). For what it's worth, it is essentially impossible for there to be no matches on the board. The average board has just under 30 total matches. So when you think there can't be any matches left you just aren't finding them.

It is a pretty tough game though and I wonder if it isn't a bit too mentally taxing for a "casual" game. Or maybe it could sell on exactly that point, marketed as a brain exerciser. So, what do you all think? What high score can you get? I think I scored something like a 27,500.

Next Up
Well it took me a while to get this game out. In part that's because of real life butting in but also I had a prototype on the way to here that didn't end up feeling "done" to me. It plays a bit too easily and maybe doesn't have enough of a straightforward challenge to it. But I want to revisit and maybe put up a playable version either way just because I like some of its ideas. Also, as mentioned above, I have an idea for a Poker-influenced Chuzzle game that I may give a go. We'll see. :)

Thursday, February 09, 2006

Update + Good Indies

I read through a copy of Essential Actionscript 2.0 by Colin Moock last week and it was very helpful. Doing all of my Flash through classes I'm finding it a lot more manageable. I still have some problems with the dynamic typing but everything feels a lot more structured. This past Monday I did a decent skeleton of my next game idea in a few hours and got to play it a bit. I like the idea but I think it's a bit too easy. So I'm still mulling over that. On the one hand, my goal is just to get games out good or bad. On the other hand, I'm a bit too much of a perfectionist to do that and I also think that I might have to stop and take a bit more time to do design work on this to see what is really there.

In the meanwhile I've also been playing a LOT of indie games -- doing market research and shopping for inspirations. There are, of course, a lot of interesting ideas out there. But there's also a lot of so-so stuff. I guess that's the problem with niche and indie markets: the lower barrier to entry fosters innovation but it also creates a market that is very hard to browse. Game Tunnel is a very good resource for sifting through the stacks. Their Game of the Year awards showcase a lot of great titles. I've also gone through the Reflexive and RealArcade catalogs looking for other interesting titles. I thought I might give a list of games that I thought were particularly fun to play or interesting from a design perspective.

#1 -- Oasis. Just a fantastic game with a very interesting design. Basically the idea is a Civilization-like experience that can be played out in 10 minutes. I'd love to do the same sort of thing with different strategy elements. You play on a random map and spend 85 turns exploring and building up your cities. Then you get attacked by a barbarian horde and if you survive you go on to the next level. Simple as that. The win condition is nice in that it leads to an interesting strategy/build-up game that doesn't require AI -- the barbarians are basically deterministic. There are really only a few things you can do on your turn yet your choices can make a big difference in how well prepared your cities are for attack -- another design feature that I admire and would love to have in my own games. The only problem I've found with this game is that the random maps sometimes seem to be either too easy or too hard. Particularly too hard -- there are just some maps that I can't imagine winning no matter what you did. Especially on the harder difficulty levels you can find that luck is too much of a factor in how well you do.

#2 -- Mexican Motor Mafia. Remember GTA2? Top-down driving fun? Well MMA is channels that experience for a pretty fun if not short experience. I like the style of the game and it the way it combines an upgrade system with a simple but well-executed combat game to drive its story. You buy new cars, get new guns, and go out and do missions which can be anything from saving kids working in a drug factory to a duel with one of the local ganglords. Combat is top-down driving where you can have a gun on your right and/or left sides which can only shoot in that direction. There is even a slight RPG element where you get to increase certain stats after killing bosses (reload time, repair abilities, or your line of sight). I think you could make a fun MMO with something like this. My biggest problem with the game was just that it only lasted a few hours before I was done -- but I think I'll go back and replay on the hard difficulty level at some point.

#3 -- Weird Worlds. This is basically Star Control 2 meets Rogue. A new galaxy is created for every game. You explore the galaxy, meet other alien races, find alien technologies, recruit other ships to join you, and then after 10, 20 or 30 years you retire and get scored based on your accomplishments. It's also highly moddable. I've played through at least a couple of dozen times and I'm still finding new things. Combat is a sort of top-down RTS style game. Overall it's just another simple but very fun game.

#4 -- Mutant Storm. I believe this game made it on to the XBox Live Arcade as well. It's just a fantastic, very polished top-down space shooter. You go through a series of very short levels which are all contained in one screen. You aim with the mouse and move with the keyboard and face a number of interesting baddies and environmental challenges. I think a really good game could be made using this engine and including some RPG or upgrade elements over a campaign.

#5 -- Astral Masters. This was a pleasant surprise for me. It's an obvious want-to-be Magic the Gathering Online. I expected it to be no where near as balanced or interesting as Magic but it actually succeeds quite well. Instead of playing lands you sacrifice cards from your hand to increase your mana pool. You can build a deck with cards from 4 different elements. Mana is generic and the number of elements you use in a deck simply determines how much life and cards you start with (in practice 2-element decks seem to be the norm). There are a lot of combos sprinkled throughout the cards and it is actually quite fun to experiment with them all. The AI is surprisingly good making the campaign style single-player game they have very challenging. I've been fleshing out some ideas about a collectible tile game myself and it was interesting to see some new ideas for the collectible card game genre.

#6 -- Spellagories. I love word games. But I haven't found many computer word games that really grab me. I do really like Yahoo's Text Twist though and I played through several variants on this done by indies. Spellagories was the best. You are given a set of letters and a category. You create words from those letters trying to figure out a word that fits the category. Other larger words earn you points and eventually give you hints about the letters in the puzzle word. The category function and the excitement of figuring out the category word on the first go seemed to add a lot to the game. I've thought about doing some word games but creating a dictionary seems a bit of a burden for what I am doing now.

...

That's it for now. One thing I haven't found is a really great puzzle game that I like. I've found a LOT of Match-3 style games but I never really found those that interesting. Zuma style games are ok but I still prefer firing up an emulator and playing Puzzle Bobble or Snood. I guess I should give an honorable mention to Runic One the puzzle game which held my interest the longest -- it's a tile laying game. Overall this was a disappointment to me as I consider myself to be a big puzzle game player and I'm interested in creating puzzle style games myself.

If anyone has any recommendations for games of any sort, let me know.

Tuesday, January 31, 2006

Crystal Chaos

Alright, I'm finally done with my first Flash creation. It's a Tetris sort of game with a bit of physics to it. The goal is to clear the board of all crystals and go onto the next level. Crystals disappear when you get 3 in a row (it's not a Match-3 game, I promise). After several moves, the bottom of the board will rise up and if you don't clear the board in enough moves, and a crystal goes over the top, you'll lose the game (at which point you can reload the flash to restart).

Go check it out, then come back here, I'll be waiting for you.

...

What level didja get to?

The real question, one for me is: what was learned while making it?

Making the Game
It's Flash. It works. Mostly. There's one teeny bug in the physics system that I know of and you might have seen. Also, you can't restart your game. There was a bug there and I just got tired of tweaking the thing. And I am trying to tell myself that I don't have to have a completely polished product before I put it down and put it up somewhere. Which is a hard thing for me -- I tend to be a perfectionist with these sorts of things.

The design process went something like this.

1) Hmm, Tetris games.
2) A few stupid ideas and an ideas I'd had in the past but discarded.
3) What if the blocks were rotated 45 degrees?
4) How would they delete? 3 in a row seems the best way to go.
5) How would they fall? I guess they should drop in a somewhat analog fashion with physics for sliding.

Then I made some of it. But I was still thinking about the game as I was playing early prototypes and I realize that it just wasn't that hard, and there was no real pressure to play well. You could make groups of 3 pretty quickly and without hassle. I needed to add some pressure to up the challenge a bit. I thought about having the piece drop automatically after a few seconds. I thought about having a timer after which you had to end the level. All the while, I had been thinking that the game was sort of like Puzzle Bobble in reverse. I decided to borrow a mechanic from that. In Puzzle Bubble the ceiling slowly falls in on you. So in my game, the floor raises.

So I added that. Then I added some levels. I thought about that some. At one point I was going to program in set-piece levels. On the one hand I felt that the game should probably be able to stand up on its own without set-piece levels. On the other hand, while checking out various Indie games on the market I found Soda Pipes, a remake of older pipeline games, which I thought wouldn't be a fraction of the game it was without set-piece levels. In the end I decided against it. Due to practical concerns more than anything else. I don't think at this point that I want to get too heavily into level design. It's an open-ended pit that I might not come out of. Maybe if I worked really hard I could make a given game 50% better with cool levels. But that's not really the point of my experiment -- I'm more interested in giving some ideas quick testd-rives and then maybe some day I'll come back to polish up a few and see how much better they get. So instead of set-piece levels I created a system where the number of colors of crystals increases as does the number of lines of crystals put out to begin with.

Another variable I might have played with that I think could have changed the game is the size of the board. I liked it where I had it but I think that a more constrained board might have made the game more challenging.

Overall I probably dumped about 20-25 hours into the game itself and a fair chunk of time just figuring out how to get Flash working. The physics engine was very simple, as far as physics engines go, but fun to work on. Collision detection between two squares rotated 45 degrees is stupidly easy (I gave that a seconds of thought and then realized, "duh"). I did have a lot of bugs as I worked on the thing but most were caused by an unfamiliarity with Flash, and by Flash's acceptance of code that wouldn't have type-checked in any "real" language. More about that later.

Judging the Game
The result? I hesitate to talk about my opinions too much because well, I don't want to bias your own. I'm hoping that other people can tell me stuff about my designs that I don't see. In this case I'm not too worried. I think the game is ok, and that's it. I do enjoy playing it and trying to get to higher levels. But in general there isn't a lot of thought that goes into playing it and I, myself, can't get that excited about it. I definitely prefer good old Puzzle Bobble (which is fine, Puzzle Bobble is a fantastic game).

Judging the strategy of your game is tough while designing it. Especially for something like this which is only slightly incremental and fairly different than other stuff out there at the low-level -- and a few details here and there make a lot of difference. Who could have thought, without playing them first, that Match-3 games like Bejeweled would be the sensation that they are.

I've been giving Lumines some thought as a comparison (if you haven't played that, play my clone, or better yet get the real thing, and come back to the conversation). The conept is very simple and from a high-level view it's not that clear why it would be as interesting as Tetris. It works because of a few very low level, non-obvious patterns. The fact that Lumines pieces can get stuck in checkerboard patterns which are very hard to break up is very important. It is also highly non-obvious how to setup big deletes. These two, along with a system that requires not only more thought but a lot more hand-eye coordination than my game, results in something that you literally spend hundreds of hours learning and getting better at.

And I wonder how Mizuguchi got there with his design. I can see coming up with the timeline idea that Lumines uses and the idea to integrate music into this. But the gameplay is incredibly subtle and I just don't think someone could come up with something that subtle through sheer genius. I am guessing that the answer is that he just tried a lot of things on top of his timeline idea and finally noticed some patterns or got lucky and found one idea that stuck, and thus Lumines was born. Or it could be that he's just a genius, and I'm not. In the meanwhile, I'm having fun and I'll hope that trying out lots of different ideas is the way to go for me.

Using Flash
So, Flash was ... ok. I'm certainly not ecstatic about the experience.

Things I strongly dislike:
  • No type system. Type systems are good. While coding for work I rely heavily on them to point out my stupid typos. Flash programs happily run when I misspell a variable name and I have to do a lot of line-by-line proofreads to catch my mistakes.
  • The IDE is horrible. I'm using Flash MX 2004 (anyone used the newer one? is it any better?). It is completely non-intuitive. Even the graphics drawing functions, for the vector graphics, are often a pain to use. And I can't seem to use my own editor for the code. Given that their editor is almost as bad as the rest of the program this is a big issue for me.
  • The documentation is written for animators. All I needed was a "here's Flash for programmers" intro to get me started. Nope. I couldn't find any good online documentation either (although I found these two essays which discuss flash as a platform for developing games)
These made the whole process a lot more difficult than it could have been. Everything felt like a hack. I couldn't find good ways to organize my code. I spent far too long debugging problems that were simple typos. All in all I felt like a lot of my energy went to fighting Flash.

Things I did like:
  • The vector graphics are nice, apart from the IDE. I could use another program to generate art, but I did find it very useful to just switch panes click a few times, and voila, my art had a new prettier gradient on it. And using simple gradients and vectors I can make semi-ok programmer art.
  • The GUI API was quite painless to use. Getting the mouse location, hiding the mouse, getting keys, etc., was a snap.
  • I could see that that there was a lot of functionality that, were I to master, could make some simple effects very easy to implement.
Despite severe dislike of certain bits, I think I am going to stick with it for now. I think I need to learn a bit more about how to create classes in Flash, learn a few more tricks, and maybe develop some techniques for organizing Flash code. And if that doesn't work, I'll move on to Java which at least I'm quite familiar with.

Performance-wise, the results were also a toss-up. With a physics engines and lots of pixels moving, I thought this was a good game to test out Flash with. It runs ok on my machine but it slows down a bit in the browser (not sure why). I tried it on my fiance's older laptop and it also ran ok on there although I did notice that it started to chug a bit after playing a while. I think as long as I stay away from really flashy stuff I should be fine, which is my intention for now anyway.


Conclusion
Anyway, can I work on a new project yet? I've been chomping at the bit to work on my next idea, which at the moment I think has more promise. More on that .... soon I hope.


Monday, January 23, 2006

Flashing it Up

Just to keep this page updated: Flash development is commencing. It's messy but I'm making progress. I severely dislike Flash MX 2004. And I'm not too keen on working with a scripting language instead of a programming language (when I typo a variable name, and don't get a compiler error, that's a very bad thing). But I like the vector graphics and I hope to have a working game sometime next week.