Updates on the Game

I got all of my wireframe mockups finished and sent off to the artist I’m working with. That was good to get done. I was going to post an example from the Main Menu wireframe, but I can’t figure out why WordPress won’t let me post an image. All in all, I’m having a crappy week when it comes to my web server. I’ve decided to just give up and forget about posting the image for now.

Today was quite productive, game-wise. This morning I made a pretty major decision about the game’s code architecture. When I refactored the code a while back I had left a big chunk of the game logic untouched with a plan to go back and change the way the algorithms worked. I was going to build lists of data objects that I could pass around to various events. For example, when the player touches the play area, I do a search to find out if they made a valid move. What I was planning to do was store the results of the search as a list of pieces that were part of the match. Then I could pass that list into animation classes and other things. The idea was to decouple the data from the play area logic a bit more.

My plan for today was to start implementing that system. But then I started thinking about it in detail. I grabbed my whiteboard and started diagramming out a bunch of cases. What I discovered was that I was just going to end up adding complexity for the most part (not to mention memory overhead) and in the case of determining when to activate special items, made things incredibly difficult to handle.

So I took a step back and made a realisation: what I’ve got already does what I need it to do, and I’ve already debugged it. Why was I trying to make things harder for myself? So I scrapped that plan. Time saved! Hooray!

Instead, since I now had the day freed up, I decided to tackle an animation I’ve put off handling for a long time: falling blocks. I’m writing a “match-N” puzzle game, so players interact with the board, pieces disappear, and new ones drop in from the top. Until today, pieces instantly dropped into their new positions. I was concerned that the falling animation would be complicated. Luckily I’d been thinking about this animation for so long, that all the data structures already had the hooks I needed in place. Four hours later and I’ve got all my pieces dropping into place with a nice, tunable animation! Fantastic!

I’m amazed at what a difference it makes to the feel of the game. It was quite a shock at first. I’ve been playing this game for months now with no falling animation, learning how to “visualize” where the pieces were falling in my head. To see it all happen in front of me is exciting.

Next up: sprite animations!

Owen