January 25th, 2012 by Matthew
Realized that I had code in three places that calculated the spaces occupied by a piece given the piece type, its center coordinates, and its rotation. So, I made a general method in the gameBoard class that returned the spaces occupied by the currently falling piece. If need be, I’ll overload it to take piece type, coordinates, and rotation as arguments, but so far I’ve only ever cared about the currently falling piece, so the function takes no arguments.
Posted in Detritus, Game Programming | No Comments »
January 16th, 2012 by Matthew
Didn’t get nearly as much done this weekend as I would’ve hoped to, but what I do have is some debug methods that will spawn a block of a chosen type at the top of the screen. I can rotate it, and it falls over time. Still need to add in moving it horizontally, and colliding with the bottom and stopping. After that, probably also checking for collisions with other pieces, both when falling and when responding to user input for movement and rotation.
Posted in Detritus, Game Programming | No Comments »
January 14th, 2012 by Matthew
Geometer is 1. bad and 2. too complicated, so until I can fix the first one and develop my skills enough to handle the second, it’s on hiatus. Not posting about it since August is also an indication as such. So what am I doing instead? Excellent question! The answer is: a different, much simpler puzzle game! It is called Detritus. Well, it’s also barely even a game, for reasons that will be clearer when it is done, and the magic is kind of lost if I give away too much about it. However, giving a screenshot shouldn’t spoil the surprise.

Posted in Detritus, Game Design, Geometer | No Comments »
August 8th, 2011 by Matthew
Found some great code to steal for screen management, so I’ve been mucking around with it to get the hang of how it works. The plan is to refactor what I’ve got so far to use these fabulous new classes. After that, I’ve got some options, and some options about those options, depending.
Posted in Game Programming, Geometer | No Comments »
May 14th, 2011 by Matthew
No screenshots for today’s work. Did some modifications in some of the higher-up classes so that instead of creating new objects when a new game would be started, it would simply reset values as needed. This way, less garbage accumulates on each cycle of menu to game to menu.
Posted in Game Programming, Geometer | 1 Comment »
May 8th, 2011 by Matthew
Two game modes are now implemented. The first mode is score attack.

screenshot of score attack mode
In this mode, the player’s time is limited to two minutes. The goal is to earn as many points as possible. The game ends when two minutes have elapsed, or when three lives are lost.
The second mode is time attack.

screenshot of score attack mode
In this mode, the player’s score is limited to 250,000. The goal is to earn this many points in as short a time as possible. The game ends when the score limit is reached or passed, or when three lives are lost.
In both modes, a life is lost when the target timer reaches 0. However, this is no excuse to take a break. In score attack, the game timer will continue counting down, and in time attack, the player’s total time will continue to increase. Don’t be discouraged by one mistake. Stay focused, and you may yet get a good result.
Posted in Geometer | No Comments »
April 24th, 2011 by Matthew
Did some more messing around with the layout, this time changing the Draw method used within drawBoard to let me pass in a scaling parameter. I went with 200% of original size. I may ask the artist to redraw things at a larger resolution if he’s got the time and we feel that it’s a good idea.

upscaled layout
Furthermore, the pause feature works! Currently, when you hit the pause key, the board disappears, the timer stops, and the word “PAUSED” is displayed. When the pause key is hit again, the game resumes. The decision to hide the board while the game is paused is to avoid subversion of the game’s primary antagonist: the timer. This decision can be seen in Yoshi’s Cookie, Tetris, Dr. Mario, and others.

upscaled layout, paused
It uses the same font as the menus and status information, but scaled up to 200%, hence the fuzziness. When I get around to changing my fonts to something I can legally distribute, I will be changing it to have a larger native size, rather than to upscale it at time of drawing.
Posted in Game Design, Game Programming, Geometer, Graphics | 2 Comments »
April 23rd, 2011 by Matthew
Presenting information about the game to the player is an important job. If the player has to work too hard to get the information they need, they are likely to grow frustrated. The less time the player has to spend looking away from the primary information (the game board) while looking at secondary information (current target, time remaining, lives remaining, score), the better. So, I’ve been spending a little time messing with the layout.

Geometer game screen layout
The colors for the text could use some work, but if you compare it to an older screenshot, say, this one:

Game Over message
you can spot a few differences. The timer serves as a vertical dividing element, separating the game board and remaining lives from the target and current score.
While making these adjustments, I decided that too much empty space existed. So, the next step is to scale up the size of the board to 200% of its current size.
Posted in Geometer, Graphics | 2 Comments »
April 10th, 2011 by Matthew
I’ve implemented a “game over” message (saying “screen” here would be a bit too generous.) All it does is say “GAME OVER” under the board once you lose your last heart. Then, after three seconds, a menu appears with two options: “Play Again” and “Back to Title”. “Play Again” takes you to the three-second countdown. “Back to Title” takes you to the menu screen that is initially shown when you run the program.

Game Over message

Game Over message and menu
Posted in Game Programming, Geometer | 1 Comment »
April 10th, 2011 by Matthew
This development blog didn’t get started at the same time I started thinking about the game, so for anybody else to know what’s going on, I’m going to need to add some background information.
Geometer is a love letter to Yoshi’s Cookie. This, in itself, is somewhat disingenuous, as I didn’t even discover Yoshi’s Cookie until it was available on the Wii virtual console. But I have always liked the abstract and mechanical experience that puzzle games can offer, and I very quickly came to like Yoshi’s Cookie. I especially enjoyed the VS mode. I’m rubbish at fighting games, and don’t enjoy competing at them, but I do enjoy competing at VS puzzle games, even ones I’m not so good at. Geometer started off as a VS game, but when the features were scaled down to provide a more realistic first attempt at completing a project, it was turned into a 1P game. It still follows the rules of VS Yoshi’s Cookie more than 1P Yoshi’s Cookie: a toroidal board of a fixed size, and a time limit during which the player must arrange same-type pieces to clear them from the board and earn points.
The key difference between Geometer and Yoshi’s Cookie is: in Yoshi’s cookie, the player must arrange same-type pieces into a horizontal or vertical line in order to clear them from the board. In Geometer, the player must arrange same-type pieces into a randomly chosen pentomino in order to clear them from the board. This change was inspired by my time spent playing the carpentry puzzle in Puzzle Pirates, which is a pentomino-based tiling puzzle. Some pentominoes are easier to work with than others in the carpentry puzzle, and not all pentominos appear to be used at the same probability. In a similar way, some pentominoes may feel easier to make than others in Geometer.
Three modes of play will be initially available. All of them are played by a single player.
- Time attack. The player aims to earn the most points in a limited amount of time.
- Score attack. The player aims to achieve a specified point threshold as quickly as possible.
- Move attack. The player aims to maximize score while minimizing the number of movements of board pieces.
Posted in Game Design, Geometer | No Comments »