geoGlyph can be downloaded for free. Click here.
geoGlyph is a GEOS Desk Accessory (that runs in 40 column mode). It is a game of pattern matching. The aim is to form color matches at least 3 long either horizontally or vertically by swapping any two adjacent Glyphs. The matched Glyphs are removed, and gravity takes effect, dropping Glyphs into the spaces left open by the removed match. After the drop, if new matches are formed, the board cascades until no new matches form. Then it's back to you to find another match.
If no match is possible, (ie: no Glyph swaps can produce a match) then the game ends.
geoGlyph has two play modes:
- The Timed Game faces the player against the clock. The Score Bar (at the right of the game board) is set to half-way, and the timer begins. Each tick, the Score Bar drops one line. Each match increases the Score Bar. If the Score Bar reaches the top, a new level begins. If the Score Bar is allowed to reach the bottom, the game ends. When the Score Bar is two arrows from the bottom, it will begin flashing to warn you time is of the essence. With each level, the Score Bar drops faster and faster...
During a Timed Game, you can pause the game by clicking the button. To avoid the ability to observe the board, it clears while paused. To continue playing, press the button. The game board will reappear and play can continue.
- The No Pressure Game allows for a leisurely game where time is not a concern. It is a more relaxing game allowing you time to search for matches. In a No Pressure game, the Score Bar begins at the bottom each level and a new level begins when the Score Bar reaches the top.
- This button appears if a previous game has been saved. Pressing it will continue your game where it left off, whether it was a Timed Game or a No Pressure game.
- Hint. The Hint button will reveal a hint by highlighting a Glyph that can be swapped to form a valid match. If you hit the Hint button before the AutoHint times down you will be penalized 5 points (a penalty which increases with each level.) Pushing the button a second time in the same turn does nothing useful and will not penalize you. If you wait long enough (and have the option turned on) the hint will automatically appear after a certain number of seconds without a move without suffering a penalty. (This number of seconds is selectable in the Options panel.)
If a hint is visible when you visit the Options or Info or New Game screens, the hint will remain on display upon returning.
/ - Pause/Play. During a Timed Game, the Pause button is active. Pausing the game removes the gameboard from visibility and stops the timer. A Play button appears, which can be used to resume the game. NOTE: When you go to the Options or Info or New Game screen in a Timed Game, the game always returns to a paused state.
- New Game. This brings up a screen asking whether you wish to start a new game or not. If you select the green check-mark, you go back to the New Game screen which asks you to select from Timed Game or No Pressure game. If you hit the red , your current game resumes. If you were playing a Timed Game, the game goes to a paused state until you push Play. (Note: if you select your current game is considered abandoned. You can only choose a new game. However, if you Quit at this point, your previous game will be saved if you have the AutoSave option on. So you can rescue your game in this way.)
- Options. This brings up a list of selectable options.
- Info. Reveals the game credits and web site address.
- Quit. Ends the current game. If "Autosave on Exit" is selected, the current game is saved for next time.
There are a number of options that you can use to customize your game experience. If these are checked with green, they are active. If they are 'ed in red, the option is turned off.
- Using the two arrows you can choose between 5 and 30 seconds before a hint will automatically appear on the gameboard. If inactive, no autohint will appear.
- When Glyphs fall, they can smoothly animate into place, or they can blip into place.
- This option turns off the mouse during game matching and collapsing. This may be desirable if you wish to have the mouse cursor out of the way so you can better watch the cascading glyphs.
- This option will automatically save any game in progress when you quit the program. When you restart geoGlyph a third game option appears - Resume Saved Game, which will reload the saved game and start where you left off.
- Allow geoGlyph to play sounds for moves, matches, collapses, etc.
- This is not a togglable option, it simply allows you to choose the number of different glyphs are in play when a new game begins. You can choose between 5 and 12.
- This is a slider which determines the speed of the animated collapsing of glyphs. By clicking on the arrows, you can either slow down or speed up the cascading animation. (This is not considered if "Animated Cascades" is turned off.
- This is not a togglable option, it is a button that clears the High Score. There is no warning, so clicking this button will immediately clear the High Score.
Every four levels (minus one, so levels 3, 7, 11, etc.) the game gives you a Special Level screen. Randomly chosen from five different level types, the Glyph removal scheme behaves differently when a match is found. An informational screen announces the Special Level, and depicts how the match removal works. Each of these levels has a title, which is displayed in the Game Title window during that level.
These announcement screens will go away after a few seconds, or you can click the mouse to remove it faster, once the musical fanfare ends.
- One glyph at either end of a match is removed (if on-screen.)
- Any glyphs connected laterally or vertically to a match are removed.
- A random glyph on the board is removed.
- Glyphs perpendicular to a match are removed.
- All glyphs of the same color as the match are removed, but only during your move, the subsequent computer-found matches behave normally.
Every sixteen levels a new Glyph is added to the game, until a maximum of 12 is reached. An anouncement is made on the gameboard showing the new Glyph.
geoGlyph scores based on complexity of matches. A match of 3 is worth 3 points, but it is possible to get a match of up to 8 which is worth 18 points.
= 3 = 6 = 9 = 12 = 15 = 18
In each Special Level in which extra Glpyhs are removed, you score 1 point per extra Glyph removed.
Plus, each cascade adds a point. So a match of 3 gets you 3 points. If, after the collapse, another match of 3 happens, you get 3+1 points. If after that collapse we get a match of 5, we get 9+2 points, because a match of five is worth 9 points, and it is the second cascade.
If your score beats the current High Score, yours becomes the new High Score, which is saved to disk.
geoGlyph was written as a challenge, and as acknowledgement that people using GEOS on a C64 or C128 would like a diversion from productivity. Therefore it is written as a Desk Accessory which can be played while in geoWrite or geoPaint or any number of GEOS programs. (It runs only in 40 column mode on GEOS 128 of course, due to the need for the 40-column graphics chip features.) It is about as large, memory-wise, as a Desk Accessory can get. It is a fairly richly-featured game, whose internal complexity is belied by its external simplicity.
I started geoGlyph in January, 2009, and worked on it most weeks until its release in September, 2009. Some weeks I worked on the game every single day. Others, just on weekends, depending on my schedule.
Often late at night you would find me with a large yellow legal pad hand-coding out complex routines, flow-charting, or just sketching UI ideas. Some problems (such as the potential match detection) took days to solve.
I'm pretty happy with the results.
It is released in the Public Doman, but donations are appreciated. If you feel the need to donate to the cause, see my PayPal Tip Jar.
NOTE: geoGlyph saves games in progress in the Header block of the Desk Accessory. It also saves the High Score there. Changing the name of the geoGlyph Desk Accessory will disable saving the game or high score. Write Protecting the Desk Accessory does not prevent the game and High Score from being saved, though Write Protecting the disk might. This is only true of GEOS on a C64. GEOS 128 does not have the same restriction.
NOTE: Have a saved game you want to keep for a while, but still want to play others? Simply copy the geoGlyph Desk Accessory to a new name for safekeeping. When you want to go back to that game, rename the copy geoGlyph and continue playing.
I would like to thank the following people who tested geoGlyph:
- Andrew Fisher - Andrew volunteered to test the game early on and has seen it develop over nearly an entire year.
- Bruce Thomas, Snogpitch, Scott Hutter - who volunteered to play the Beta and ferret out the remaining bugs.
geoProgrammer, GEOS's programming environment is one of the smoothest development systems I've ever used on a C64 or C128, however at times it can be poorly documented. There were times I got stuck and could not for the life of me figure out how to proceed. Thanks to the people who hang out at the comp.sys.cbm newsgroup, I was given aid at various times.
- Greg King, whose memory recalled a quirk in GEOS 64 that forces you to reload the header block of a Desk Accessory before you can access it and resave it (which is how the Saved Game and High Score are saved.) This worked fine in GEOS 128 without this quirk. He also helped me with strategies to center printed decimals, and even clarified details about swapping out the IO to access sprite memory.
- Peter Schepers (and others) who pointed out the most basic idea when subtracting in Assembler - Setting the Carry Flag first.
My favorite piece of advice to anyone living is: "put something out there". Whatever your interests may be, do more than just appreciate the work of others. Do something yourself and put it out there. I do this as often as I can. This was my chance to put something out there that wasn't there before. While the game itself may be familiar, this is, as far as I know, the first version of it for GEOS on 8-bit machines.
I took this game on as a challenge after I spent hours playing Bejeweled on my iPod Touch. I had also played it on my Visor Edge, and on desktop computers. It struck me that the C64/128 could easily be programmed with a version of the game, and people who still used GEOS might appreciate the diversion.
I intended for the project to take six months, and did not intend from the beginning to add a Timed Game option. Since, however, I had a pretty solid version of the No Pressure game running in June, I opted to continue and fill out the feature set with a Timed Game option. The architecture of the program was set up to allow only a few changes to make a Timed Game, but in reality there were so many niggling little details that made it difficult that it extended the deadline of the project, and pushed my patience a bit to the limit.
But I think the result speaks for itself. I pulled some cute graphical tricks here, including using sprites to animate the swapping of the two chosen Glyphs. I actually create two sprites using the glyph information on-screen, remove the chosen Glyphs, and then smoothly animate those sprites to their new locations, then do a redraw, and remove them. The result is seamless. I use GEOS's processes to time the AutoHint and the Timer Countdown features. Not a huge expert on C64 sound, I'm pretty happy with my sound work here. It's not expert, but it's playable. I had originally envisioned a kind of background music track, and even toyed with including the Synth Sample music, but had no idea how to begin to do it.
Bottom line is it was fun to revisit geoProgrammer and programming in GEOS. Most of the actual coding was done on the VICE Emulator for ease of use, but the game was frequently converted to a real C128 for play testing. I'm happy to release it to all fans of GEOS.
Throughout the duration of this project I kept a development diary, which discusses every detail in the creation of this game.
Go to the geoGlyph Developer's Diary Page
I updated this page every day, sometimes, and others, every few days, whenever I feel some progress was made. Thanks for reading!
If you enjoyed geoGlyph, please consider making a small donation to the cause.
Wouldn't it be cool to have geoGlyph use your Glyphs? For a donation of $20.00 I will provide you a version with your own designed Glyphs.
Click here for info on your own Custom geoGlyph
All content of these pages © Sean Huxter.