I’m releasing an expanded version of my game Shark Turtle for macOS and Windows. Grab it at itch: gingerbeardman.itch.io/shark-turtle-desktop/
The result is a feature-rich, native desktop version of SameGame with fast calculation, animated block removal, mouse/keyboard control, incremental scoring, variable grid sizes each with their own high score table, multi-level undo, lots of options, and great music. It’s a lot of fun and ideal to play little-by-little when you have a spare moment, as you dictate the pace of the game turn-by-turn.
About the icon
I couldn’t find the exact licence for Google’s Emoji Kitchen, it’s either SIL as part of the Noto font or CC BY 4.0. But I did find a comment by a Google staffer saying that it would be a good idea to draw a custom version that was less generic—I read that as unique and yours—so that’s exactly what I did. There was no choice but to do this, as I needed a vector version to generate an 1024×1024px icon. I like to think that with the raised eyebrow and slight smirk there’s a bit more personality in my version.
What’s in a name?
This concept was originally released as Chain Shot! in 1985 by 森辺訓章 Kuniaki Moribe “Morisuke” and went on to become very popular, mostly through a version known as さめがめ SameGame. The game was at one time more popular than Tetris in Japan and even made its way onto consoles like the Super Famicom and even as recent as Wii.
In English we pronounce the name as it is spelled: same game. But in Japanese it sounds just like the words “same” さめ (shark) and “game” がめ (sea turtle). A short leap from SameGame to Shark Turtle.
Perhaps the most well known version of the concept, MaciGame まきがめ also riffed on this. I’m not sure of the exact meaning, but I like to think it’s a clever double meaning of something cool in Japanese and it also being a game for Macintosh.
Recovering tile sets
I’d previously recovered a range of tile sets for a download pack I uploaded to Macintosh Garden, but that was done in the Classic Macintosh environment so I needed to redo it on modern macOS to be able to extract the images easily.
MaciGame supported custom tile sets in three formats:
- SameGameFormat (160×64, from the PC-98 version of the game)
- SameGameFormat2 (192×64, includes additional background tiles)
- MaruSameFormat (256×65, includes connected variations and alternate palettes)
These tile sets were popular user created content for 1990s Macintosh fans, given how easy it was to load up a paint app or ResEdit. They were made available for free download at online repositories like NIFTY-Serve, Info-Mac, and on magazine cover mounted media around the world. I found several unique tile sets in my Macintosh Magazine Media archive of vintage CD-ROMs.
The main online source of these is at: vector.co.jp/vpack/filearea/osx/game/puzzle/makigame/ and I automated the clicking of the download buttons using a temporary user script (gist) to redirect to the download page and then click the button. I use PageExtender for such things. I could have gone one level deeper by automating the clicking of all the items on the list page, but I quite like clicking through long lists.
We can expand these esoteric archives with The Unarchiver. I needed to confirm MacOS Japanese encoding for the filenames that it was unable to heuristically determine. Read more about the madness of classic Macintosh text encodings in the pre-Unicode age.
Next we can convert the PICT resources we’re after with deark. Deark doesn’t have a recursive mode, so we need to wrap it in a one-liner:
find . -type f -print0 | xargs -0 -I {} deark {} -k -od /destination/
I got verified those and found some others using DiscMaster. A few stranglers found on the web brought the grand total to 320 tile sets.
De-duplicating
It was obvious that there were some duplicates, so what to do? My first thought was to optimise all images equally, I used ect command line tool for this purpose. After that, still on the command line, we can do a quick de-dupe using the fdupes tool. This helped me get rid of a bunch, but there were still some hanging around.
I wanted to compare files at a pixel level, so wrapped imagemagick in a shell script (gist). We compare each image with every other image. I tried adding pre-checks to the script but they slowed it down and removed the ability for it to run in parallel. Keep it simple wins again.
Organising
For organisation sake I wanted to verify and categorise the dimensions of each image. I created a shell script to tag images of specific sizes with Finder colours (gist). I noticed that some converted images were one pixel wider than expected, it turns out that this is a quirk in how those specific image were composed. So I coloured them red and edited them by hand after the fact.
All tile sets
Here’s a video of my 5 tile sets plus the 320 classic user created tile sets. Gotta catch ‘em all!
Playdate
I originally wrote a version of Shark Turtle for Playdate back in 2023 and released it earlier this month. The desktop version of the game is expanded and enhanced in the way that desktop apps can be. Those features took a bunch more work and I’ve undoubtedly been working on the platform specific stuff far more than I did on the core of the game.
Buyers of the Shark Turtle for Playdate get the desktop version for free! Head to this bundle.
Originally published: 2025-04-01
--
Want to see more content like this? Buy me a coffee!
--
Comments: @gingerbeardman