It was Easter and the kids were home so I thought I'd give
my work on my other projects a break and do something
I knocked this up for fun and learned some important lessons
about using custom subclasses of NSView and internationalization at
the same time.
It took me about a week to go from idea to version 1.0.0,
including some tricksy debugging and designing all the graphics for the
game. I'm sure I couldn't have done this as quickly using anything other
than Apple's Cocoa IDE.
Of course, it's then taken a year to add the polish that
makes up version 1.3.0...
OpenGL for Lightspeed!
JewelToy now uses OpenGL to power its graphics.
This means that it will no longer slow down if you're browsing the web
and listening to iTunes while you're playing. Users with older machines
will see a marked increase in playability.
Now as well as using your own pictures as gems for
JewelToy, you can set the backdrop for the game to any image on your hard
drive. Simply check the 'Use custom backgrounds from folder:' box, and
click the 'Select Folder' button to choose the folder from which to draw the
If you enjoy JewelToy, and want to help me develop it and other
games, please send me some cash by clicking the button below ...
Changes in Version 1.3.0
- Title graphics updated slightly.
- All seven gems can now appear in the random starting pattern.
- Option added for custom background graphics from a selected
- The Mute/Un-mute button gets more representative graphics.
- Added French and Japanese localizations, thanks to Peter
(the international localizations still trail behind in terms of features
and will be updated in later versions).
- Game graphics switched entirely to OpenGL for efficiency
and speed - you can now play JewelToy and listen to iTunes, even on an
- Fixed bug where High scores were not being saved.
- Added Eric Cherry's original alternate graphics to the
collection of alternate graphic files.
My own improvements:
A number of improvements by Mike Wessler:
- Revised the scoring system, cascades now score significantly
more (inspired by Mike Wessler).
- Allow import of custom gem graphics in preferences.
- Coloured background added to show off new gems (inspired
by Mike Wessler).
- And, much requested, gems that would make a line hang
about to taunt you for a second after time runs out.
- Score bubbles every time a row is made.
- Freeplay (untimed play) now lets you accumulate bonuses.
- Gems above a cleared line shiver before falling, and
fall with small random delays.
Here's a download link for
the game (as a compressed disk image)
...and here's one for the source
project (as a .zip)
If you are having a problem with OpenGL then use original Quartz