<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rahim Khan</title>
    <description>The latest articles on DEV Community by Rahim Khan (@rahim_khan_3301).</description>
    <link>https://dev.to/rahim_khan_3301</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4199067%2F95301fcf-3bcf-4d5f-90c2-e4ef0d1efd73.png</url>
      <title>DEV Community: Rahim Khan</title>
      <link>https://dev.to/rahim_khan_3301</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rahim_khan_3301"/>
    <language>en</language>
    <item>
      <title>Only 29% of our players ever found the mini games. So we moved them.</title>
      <dc:creator>Rahim Khan</dc:creator>
      <pubDate>Wed, 21 Oct 2026 20:39:01 +0000</pubDate>
      <link>https://dev.to/rahim_khan_3301/only-29-of-our-players-ever-found-the-mini-games-so-we-moved-them-6df</link>
      <guid>https://dev.to/rahim_khan_3301/only-29-of-our-players-ever-found-the-mini-games-so-we-moved-them-6df</guid>
      <description>&lt;p&gt;Super Hero Maker is a character creator. You design a hero, pick hair, masks, armor and boots, and save it. There are also three small arcade games inside: Flappy Hero, Swarm Smash and Chalk Hero.&lt;/p&gt;

&lt;p&gt;In October we went through the game's analytics, and one number stood out.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the data said
&lt;/h2&gt;

&lt;p&gt;Only 29% of players ever opened a mini game.&lt;/p&gt;

&lt;p&gt;The ones who did played about 10 rounds each. So the games weren't the problem. People who found them liked them. Most people just never found them, because they sat a couple of taps deep, behind a button most players never pressed.&lt;/p&gt;

&lt;p&gt;To be fair to the number: it was one week of data (October 5 to 11) and about 65 players, so it's a signal, not a law. But it lined up with the rest of the funnel. About 78% of players started making a hero, and about 52% saved one. A lot of people were building a hero and then had nothing to do with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we changed in 3.0.2
&lt;/h2&gt;

&lt;p&gt;The mini games are now the Hero Arcade, a big card right on the home screen instead of a small button.&lt;/p&gt;

&lt;p&gt;And the hero you made comes with you. In Flappy Hero you fly your own hero, and in Swarm Smash your hero stands on the rooftop defending the city. Making a hero and playing with it used to be two separate things. Now it's one loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bug we found on the way
&lt;/h2&gt;

&lt;p&gt;While going through the numbers, we noticed there were zero reminder notification opens. Not low. Zero.&lt;/p&gt;

&lt;p&gt;The reason: the notification system wasn't loaded at all in any 3.x build. Reminders had been missing for the whole 3.x line. Nothing crashed, so it was easy to miss.&lt;/p&gt;

&lt;p&gt;3.0.2 brings them back, and keeps them polite: at most 4 reminders over 7 days, never more than one a day, only in the early evening, and they're cancelled as soon as you come back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now we wait
&lt;/h2&gt;

&lt;p&gt;3.0.2 went out to everyone on Google Play on October 11. The plan is to change nothing in the game for about a month, so the numbers stay clean.&lt;/p&gt;

&lt;p&gt;The goal: if more than 45% of players reach the arcade, the card works. If it's under 35%, the card needs rethinking.&lt;/p&gt;

&lt;p&gt;I'll share what happened once the month is up.&lt;/p&gt;

&lt;p&gt;I used AI tools for some of the art and audio.&lt;/p&gt;

&lt;p&gt;If you build apps: what's the feature you were sure people used, until you looked at the data?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google Play: &lt;a href="https://play.google.com/store/apps/details?id=com.offroadstudios.superheromaker&amp;amp;referrer=utm_source%3Ddevto%26utm_campaign%3Dshm_302" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.offroadstudios.superheromaker&amp;amp;referrer=utm_source%3Ddevto%26utm_campaign%3Dshm_302&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>gamedev</category>
      <category>analytics</category>
      <category>mobile</category>
      <category>unity3d</category>
    </item>
    <item>
      <title>Our cat puzzle game wasn't fun until we added one rule</title>
      <dc:creator>Rahim Khan</dc:creator>
      <pubDate>Wed, 21 Oct 2026 20:38:10 +0000</pubDate>
      <link>https://dev.to/rahim_khan_3301/our-cat-puzzle-game-wasnt-fun-until-we-added-one-rule-3kbd</link>
      <guid>https://dev.to/rahim_khan_3301/our-cat-puzzle-game-wasnt-fun-until-we-added-one-rule-3kbd</guid>
      <description>&lt;p&gt;An early build of what became Kitten Box Parade had a big problem. We played it and couldn't find the fun.&lt;/p&gt;

&lt;p&gt;It wasn't even kittens yet. The board had little critters, colored homes to send them to, and a three-seat bench where a critter waited if its home wasn't open. Everything worked. It just wasn't a game yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it wasn't fun
&lt;/h2&gt;

&lt;p&gt;Every critter on the board could be tapped at any time. So the best move was always the same: tap them in the order the homes open. There was nothing hidden, the bench was hardly ever needed, and there was never a real choice to make.&lt;/p&gt;

&lt;h2&gt;
  
  
  One rule
&lt;/h2&gt;

&lt;p&gt;Critters (later kittens) wait in mixed-color lines, and only the one at the front can go.&lt;/p&gt;

&lt;p&gt;In today's game: tap one and the line steps forward, so you see who's next. If that kitten's box isn't ready, it waits on the window seat, and there are only three pillows. Run out of pillows and it's "Out of seats!", with somebody giving you sad eyes.&lt;/p&gt;

&lt;p&gt;That changes how you play. Before every tap you're asking: if I send this one, who comes next, and do I have a pillow for them?&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing it on one level first
&lt;/h2&gt;

&lt;p&gt;We didn't rebuild the game around the idea straight away. We built one test level: nine critters in three lines, three homes, and each home locked until the one before it was full.&lt;/p&gt;

&lt;p&gt;On paper, careful play wins using two bench seats at most. Sloppy play still wins, but fills all three. Reckless play loses, and you can see exactly which tap lost it. The test was simple: does the player start thinking about who's next? If not, the idea goes.&lt;/p&gt;

&lt;p&gt;It passed. After playing it I could finally feel the flow of the game. Then I put a build on a phone and showed it to other people, and they liked it too. That's when it went from prototype to a real game.&lt;/p&gt;

&lt;p&gt;That one rule is still the core of Kitten Box Parade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Then it got repetitive
&lt;/h2&gt;

&lt;p&gt;The second problem came later. About 30 levels in, the game started to feel repetitive. The puzzles themselves were good. There just wasn't a reason to finish all 100.&lt;/p&gt;

&lt;p&gt;So the levels got a story. Six cats are settling into Whisker Cottage and getting ready for the first Kitten Box Parade. There's a keepsake for the scrapbook every 5 levels, and the parade comes after chapter 5.&lt;/p&gt;

&lt;p&gt;New rules arrive with the cats. Cocoa joins at level 61. Pebble joins at level 81, and Pebble is big: on the window seat he takes two pillows. Each new rule gets a guided first level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it is now
&lt;/h2&gt;

&lt;p&gt;Kitten Box Parade 1.0 shipped on Google Play with 150 levels in 8 chapters. No timers and no lives.&lt;/p&gt;

&lt;p&gt;The art and music were made with AI tools (Gemini and ElevenLabs), then picked and placed by us.&lt;/p&gt;

&lt;p&gt;If you've made a puzzle game: what was the rule change that finally made it fun?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google Play: &lt;a href="https://play.google.com/store/apps/details?id=com.offroadinteractive.kittenboxparade&amp;amp;referrer=utm_source%3Ddevto%26utm_campaign%3Dkbp_launch" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.offroadinteractive.kittenboxparade&amp;amp;referrer=utm_source%3Ddevto%26utm_campaign%3Dkbp_launch&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>gamedev</category>
      <category>gamedesign</category>
      <category>indiedev</category>
      <category>unity3d</category>
    </item>
    <item>
      <title>I'm making a one-bullet puzzle game on my own. Here's what changed after players got their hands on it.</title>
      <dc:creator>Rahim Khan</dc:creator>
      <pubDate>Wed, 21 Oct 2026 20:00:49 +0000</pubDate>
      <link>https://dev.to/rahim_khan_3301/im-making-a-one-bullet-puzzle-game-on-my-own-heres-what-changed-after-players-got-their-hands-on-457b</link>
      <guid>https://dev.to/rahim_khan_3301/im-making-a-one-bullet-puzzle-game-on-my-own-heres-what-changed-after-players-got-their-hands-on-457b</guid>
      <description>&lt;p&gt;I'm the only developer on Bloop. Design, code, UI, levels and the store pages are all me. It's a mobile puzzle game where you get one bullet per level: pull back, bank it off the walls, and pop every Bloop on the screen with that one shot.&lt;/p&gt;

&lt;p&gt;It's live on Google Play and the App Store now, with 300 levels. It's also still a work in progress. This is what changed since the early versions, and why.&lt;/p&gt;

&lt;h2&gt;
  
  
  The first question
&lt;/h2&gt;

&lt;p&gt;Before menus, ads or a single extra level, the first build had one job: answer "is shooting one bullet satisfying?"&lt;/p&gt;

&lt;p&gt;The aim preview and the real bullet use the exact same path code, so if the preview says the bullet goes there, it goes there. In a one-shot game, a preview that lies even slightly feels like cheating.&lt;/p&gt;

&lt;h2&gt;
  
  
  My finger was in the way
&lt;/h2&gt;

&lt;p&gt;The first aiming worked, but you aimed by touching near where you wanted to shoot, and a lot of the time your own finger covered the exact part of the board you were trying to read.&lt;/p&gt;

&lt;p&gt;So I switched to pull-back aiming, like a slingshot. You drag back, away from the target, and the board stays visible the whole time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6595tbqgcfbov79uxl27.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6595tbqgcfbov79uxl27.gif" alt="Aiming a shot in Bloop with pull-back controls, level 51" width="400" height="889"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  It looked dead
&lt;/h2&gt;

&lt;p&gt;Bloop is set in space, but the early versions felt flat and dull. The background just sat there.&lt;/p&gt;

&lt;p&gt;First I added a layered parallax space background, then carried it into the gameplay screens too. That helped, but the levels still felt lifeless, so I animated the Bloops. They react when you aim at them, when you shoot, and when you miss.&lt;/p&gt;

&lt;p&gt;That was the change players reacted to most. I showed the new version to players who had tried the old one, and every one of them liked it more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Less dark
&lt;/h2&gt;

&lt;p&gt;The UI used to be very dark. I made it more colorful. I still think the main menu and the level select can be better, and that's where I'm waiting on more feedback before I change it again.&lt;/p&gt;

&lt;h2&gt;
  
  
  The levels nobody could beat
&lt;/h2&gt;

&lt;p&gt;At one point, level 76 and a bunch of levels after it couldn't be beaten. I found some by playing them myself, and players told me about others. In a one-shot game, that's the worst bug you can ship: the player doesn't think the level is broken, they think they're bad at it.&lt;/p&gt;

&lt;p&gt;Level 142, Blazing Crossing, shows how sneaky it gets. It has three Bloops that sit still and two that slide on a four-second loop. The route was fine. The timing wasn't: the moments that hit each mover never overlapped. I searched the full 360 degrees in 0.05-degree steps at 800 launch moments per loop. 135 angles hit the three standing Bloops. None also caught both movers.&lt;/p&gt;

&lt;p&gt;So I changed how I test. The checker now plays every level with the same physics code as the game, and a level only passes if the winning shot leaves room for a real thumb on a phone: at least 0.5 degrees of aim, or a 0.2-second window to fire for moving levels.&lt;/p&gt;

&lt;p&gt;On October 15 it ran on all 300 levels in 203 seconds. 300 passed, 0 failed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;More enemy types, including some that shoot back, so their bullets can get in your path. Maybe a new galaxy. More variations, so the later worlds don't start to feel the same.&lt;/p&gt;

&lt;p&gt;I used AI tools for some of the art; the design, code and levels are mine.&lt;/p&gt;

&lt;p&gt;If you try Bloop, I'd really like to hear which level got you stuck, and what you think of the menus. I read every message.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google Play: &lt;a href="https://play.google.com/store/apps/details?id=com.offroadinteractives.bloopbounceshooter&amp;amp;referrer=utm_source%3Ddevto%26utm_campaign%3Dbloop_130" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.offroadinteractives.bloopbounceshooter&amp;amp;referrer=utm_source%3Ddevto%26utm_campaign%3Dbloop_130&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;App Store: &lt;a href="https://apps.apple.com/app/id6804321336" rel="noopener noreferrer"&gt;https://apps.apple.com/app/id6804321336&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>gamedev</category>
      <category>indiedev</category>
      <category>unity3d</category>
      <category>mobile</category>
    </item>
  </channel>
</rss>
