TL;DR

Elevator Pitch: There are words hidden under those ghosts. Uncover every tile, use every tile at least once, and the puzzle is complete. Phantom Words is a ghostly word puzzle with a unique sliding mechanic that blends the tactile feeling of a Rubik's Cube with a classic word search puzzle.

Monetization is player-friendly. The game is 100% free; nothing is gated by a purchase. If people like the game, they can buy us one or more coffees through IAPs.

Release Date: September 22, 2026 | Platforms: iOS | Targeting prizes: Best Game Award, RevenueCat Design Award

_Featured by Apple on the App Store (US) with a banner in the top carousel on the Games page and in the **New Games We Love** collection._

(Sep 24) Featured by Apple on the App Store (US) with a banner in the top carousel on the Games page and in the New Games We Love collection across 155 countries (including US, Canada, UK, all of Europe, Australia and NZ).

Inspiration

Earlier this year, we were thinking about making a card game like Poker (inspired by Balatro, of course!), but with some kind of an element of hidden surprise, played on a 3x3 grid. The concept was called Phantom Hand. After a couple of prototypes and playtesting, it didn't turn out to be that fun, but we liked the way we were able to slide around the cards in the grid. And then we thought, what if the cards were letters instead, and we asked players to rearrange the board, almost like unscrambling a crossword puzzle like a Rubik's Cube?

This started in June, and the concept of ghosts naturally fit with the Halloween theme, but we had to hurry to release around the Halloween season. Ghost tiles provided a clear visual language, and the animated background environments add to the haunted, yet cute atmosphere.

What it does

Phantom Words is a ghostly word puzzle for iOS. Players slide rows and columns of a scrambled letter grid to make words that fill an entire horizontal or vertical section. Most letters begin hidden behind ghost tiles. Using a tile in a valid word reveals another tile. Use every tile in at least one word to clear the level.

The game includes four modes:

  • Classic: 99 curated levels, with changing boards and new mechanics introduced over time.
  • Endless: a procedural board that starts small and grows as the player makes more words.
  • Lightning: the same word-hunting rules, but against time across consecutive boards.
  • Daily Challenge: one seeded puzzle every day, with streaks to maintain.

Later puzzles add gaps, multi-letter tiles, wildcards and locked tiles. Players can replay levels to improve their star rating, track progress with Game Center leaderboards and achievements, sync progress through iCloud, and challenge their friends in Endless, Lightning or Daily Challenge through the Apple Games app.

How we built it

Phantom Words is a native iOS game built in Swift with SpriteKit. We made the sliding interaction central to the experience. We use polygon masks to show exactly which portion of a row or column will move, and haptics distinguish between dragging, locking onto an axis and tiles settling into place. Found words collect in a compact stack below the board, which can be expanded to show all words on tap. The progress shows in the score bar above the grid. Both the word stack and the score bar expand on tap seamlessly transitioning between expanded and collapsed states.

The gameplay background contains more than 150 individual layers. I used Codex to control Photoshop, export all of those layers automatically, and then wire them into SpriteKit so they could be animated independently with SKWarpGeometry. Plants, trees and bushes rustle as you make words, while eyes in bushes and lights in houses switch on and off, making the environment feel reactive and alive. For level select screens, we use SKTiledMap to endlessly repeat the background assets and the path vertically.

The art uses a mix of raster and vector graphics, but the raster graphics are still kept in a vector style for consistency. We used ChatGPT Image 2.0 during the concept art phase, upscaled the generated artwork with Topaz Bloom, then layered, repainted, refined and further enhanced the assets in Photoshop using its built-in generative AI tools. The design/UI was hand-made in Figma and exported as SVGs, which served as the implementation reference; the interface itself was built entirely using Codex.

The soundtrack was created with Suno through an iterative process, using royalty-free samples and repeated experimentation until we found a spooky, tragicomic sound that fit the game's cute haunted world.

During the closed- and open-beta phases, we had about 40 testers (mostly friends) playing the game and actively providing feedback. We accounted for most of it, and the polished experience players see at launch is all thanks to them.

RevenueCat handles the tip jar products and purchase states. Integration was handled by Codex. Thanks to RevenueCat's agent docs, it took less than 5 minutes. :)

Challenges we ran into

One of the biggest challenges a product can face is onboarding. We added an interactive tutorial where the game's ghost mascot explains the rules step by step. Additional rules are introduced level by level, so that you're not thrown into a wall of text all in one go.

Balancing puzzle systems is far from trivial. We created a custom level designer that helped us mix handcrafted levels with procedural generation. Our procedural algorithm creates level grids and finds various combinations of words that may fit the grid, and then we could tweak things around. The letters on each grid are not random, they're actual, valid English words taken from our curated word list. They are just jumbled around, just like how you'd shuffle a Rubik's Cube. This makes sure every puzzle is actually solvable and players aren’t stuck with letters they can make no words with. Endless mode gets a special treatment: the next tile is picked using a weighted distribution of letters. Difficult letters like Z and X are rarer.

Performance was another challenge we ran into. We make extensive use of SKShapeNode objects in the game, but overusing them, especially during animation, can cause the frame rate to drop. We cache frequently used shapes into one or more textures to avoid frame drops. We also delegate any write operations, like game saves and audio feedback to separate threads so that the main UI thread doesn't slow down. The result is a 60fps experience on most modern iOS devices.

Accomplishments that we're proud of

We pride ourselves on crafting quality games, and push the boundaries of game design and polish. When the game feels like it's almost done, that is when the real work begins.

  • Phantom Words is the fourth game we've released on the App Store, and we're proud to say that it is also our fourth game featured by Apple on the App Store at launch.
  • We created a completely original word-puzzle mechanic in the endless sea of word puzzles.
  • Selected for Big Indie Pitch at Pocket Gamer Connect Nordics, Helsinki (Oct 20-21) and DevGAMM Awards, Lisbon (Nov 18).
  • (Sep 30) The game now has 2000 players (in just one week!) in it's classic leaderboard, and despite us being the developers and having a head start playing the game for 20+ hours, I'm #5 on the leaderboard, and my partner is #11. :')
  • (Sep 30) We crossed $50 in revenue through the tip jar in just a week. This is a big achievement since players are not obliged to pay, and only pay if they really love the game.
  • We curated various word lists, sourcing and collating words and their definitions from various open-source dictionaries, to turn this game into a learning experience where you enhance your vocabulary as you play.

What we learned

By prototyping initially with friends and later with real players in the open beta/pre-order phase, we can weed out show-stopping bad ideas before the game gains a wider audience on release. Our initial prototype was a very ugly online web version we sent to a few close friends. The ugliness of the prototype was intentional. If people can enjoy something despite it looking bad, you've got your core inner loop right. Then it's time to craft an outer loop and work on the art direction.

Shipaton also taught us the value of a real deadline, and not only did we meet it, we were way ahead of it. With the deadline in mind, we submitted the app for review and a featuring nomination almost a month in advance, and it spent about a week in review. It spent 3 weeks in open-beta while we cranked out bugs.

What's next for Phantom Words

Phantom Words is out now on iOS. We are continuing to improve the game based on feedback from App Store reviews, Reddit and AppRaven, while tracking how the optional tip-jar model performs compared with our previous games.

In the upcoming releases, we will introduce new level packs with new mechanics and themes, starting with holiday-themed content as separate unlockable in-app purchases.

Built With

Share this project:

Updates

Submission history