5
33 Comments

We built a multiplayer game, launched it quietly, and barely anyone came. Now we're learning distribution from scratch.

Most posts here are "here's how I grew to $10K MRR." This is the other side of that story.

We built Vizzy — a multiplayer emoji puzzle game with 6 modes. It's live. It works. Realtime multiplayer, offline mode, cross-platform, IAP, the whole stack. Technically, we're proud of it.

But organic growth has been slow, so we're now doing what we should have been doing in parallel from day one: actually learning how to do distribution.

What we built (Node + Socket.IO + Mongo):

6 game modes across 4 Socket.IO namespaces
Offline-first for 4 modes — client scores locally, server re-validates deterministically on reconnect
Atomic guest-to-account migration on web (badges, streaks, IAP entitlements all move together)
Hard signup gate on mobile — different channel, different intent, different rules
22-badge achievement system, AES-256 req/res encryption, 45+ Mongoose schemas
What I'd genuinely love help with:

  1. Distribution for a consumer game in 2026. The AI-saturated feed makes games feel invisible. Where are the communities for casual multiplayer puzzle games right now? TikTok? Discord? Reddit? Something I'm not seeing?

  2. The "built it quietly, now need traction" unlock. For anyone who's been in this spot — what was the moment it shifted? A single channel that worked, or 10 small things compounding?

  3. The engineering-led team problem. We're technically strong but marketing-weak. Hire, learn, or partner? What actually worked for you?

What I can offer back: happy to go deep on any technical piece — especially the offline sync reconciliation and the atomic guest migration. Both were gnarlier than expected and I haven't seen either written up anywhere.

No pitch, no link. Just want to learn from people who've been through the same phase.

on April 22, 2026
  1. 1

    Yeah that timing makes sense.

    Once you see which bucket wins, it usually also hints at positioning.

    If one type consistently pulls more, that’s basically telling you what the game feels like to people — not just how it works.

    That’s where naming gets easier too, because you’re not guessing anymore, you’re just reflecting what already clicks.

    Curious which direction it leans for you.

  2. 1

    Honestly, it is scattered right now — that is part of the problem I am solving in real time. r/getdisciplined and r/DecidingToBeBetter on Reddit have the most consistent conversations about accountability, but the signal-to-noise ratio is rough. IndieHackers itself has been surprisingly good because founders here actually understand the "skin in the game" angle intuitively.

    For your question about one channel — I would bet on wherever people are already talking about the PROBLEM your game solves, not games in general. If Vizzy is "fun puzzle with friends," the channel is wherever people are looking for things to do with friends online. That is probably Discord servers for friend groups, not gaming subreddits.

    Good luck with the tournament pitch this week. Report back — genuinely curious if it works.

    1. 1

      The "where people are discussing the problem, not the category" reframe connects to something another commenter pushed earlier in this post — that I should position Vizzy as "multiplayer word game with friends" instead of "daily puzzle," because the first is an unowned slot and the second is fighting Wordle for its ritual. Your framing is the practical consequence of that positioning decision: if the anchor is "fun thing to do with friends online," then Discord friend groups and subs like r/gamingsuggestions are the venues, not word-game-specific spaces.

      Honest problem with friend-group Discord servers: they're mostly private. Breaking into them without feeling intrusive is the harder half. Probably means the real play isn't "find where they hang out" but "make content that surfaces in their group chats naturally" — which circles back to the share-moment thing someone else on this post kept pointing at.

      Will definitely report back on the tournament. And thanks for the read on IH itself being surprisingly good — we're seeing the same. It's shifted from "a place to post" to "the most useful strategy conversation I've had all month," which I didn't expect.

  3. 1

    This hits close to home. I'm building in the accountability/commitment space and ran into the exact same wall — solid product, zero distribution muscle.

    The "promo paradox" is real. Every community is either no-self-promo or everyone-shouting-at-nobody. What's working for me so far is showing up in conversations like this one and just being genuinely useful — no pitch, just sharing what I'm learning. It compounds slower
    than paid ads but the connections are real.

    One thing I'd push back on slightly: the "learn distribution yourself for 60-90 days" advice is good, but pick ONE channel and go deep rather than spreading thin across Reddit, TikTok, Discord, and Twitter simultaneously. For a multiplayer game, Discord tournaments feel
    like the obvious first move because you solve distribution AND the empty-lobby problem at the same time.

    1. 1

      Accountability/commitment space is close enough in shape — product that's technically solid, no distribution muscle. I keep running into founders with this exact combination. Almost starting to think it's a category of person, not a coincidence.

      The "pick ONE channel and go deep" pushback is the correction I needed. I was nodding at the 60-90 day advice earlier in this thread without registering that I'd been unconsciously reading it as "try four things in parallel and see what sticks," which is basically a different (worse) strategy. Depth > breadth in the learning phase, otherwise I'm just bad at four things instead of getting better at one.

      And the Discord tournament call is now the third different person on this thread pointing at that specific move. When three independent people converge on the same play, it stops being a suggestion — it's just the next thing to do. We're pitching 2-3 servers this week on hosting one over the weekend.

      Curious what "showing up in conversations" looks like in practice for the accountability space. Is there a single community/platform where the conversations are happening consistently, or is it scattered and you're stitching it together? Trying to work out whether Discord, Reddit, or somewhere else is actually the locus for us — the "one channel" question is the harder version of the advice.

  4. 1

    Interesting build, but one thing feels unclear: if the game is technically solid and designed for multiplayer engagement, why wasn’t distribution treated as part of the product itself from day one—for example, built-in virality loops, referral mechanics, or shareable gameplay moments?

    It almost sounds like growth is being treated as a separate layer after development, when in consumer games, growth is usually embedded inside the core experience.

    Curious—do you think the slow traction is more of a distribution problem, or actually a product loop problem that hasn’t been fully unlocked yet?

    1. 1

      Honest answer: you're probably right, and I've been leaning toward "distribution problem" because it's the easier thing to reason about.

      We do have the loop surfaces — referral with milestone rewards, a social feed where players create and share emoji puzzles, multiplayer modes that functionally require you to bring a friend or accept a random. But having the surfaces and having them actually trigger are different things. I don't have data that says our referrals convert at any meaningful rate, that social-feed posts get shared outside the app, or that multiplayer modes pull in new players instead of recycling existing ones. The real answer is: we built the hooks but didn't instrument or optimize them, which in practice means they're closer to decoration than loop.

      The framing you're offering — "growth embedded in the core experience vs growth as a separate layer" — is the useful distinction. I've been bucketing referral and social as "product" and the channels (Reddit, TikTok, PH) as "growth," when actually most of our real growth should be happening inside the app if those loops worked. The fact that it isn't is the data point I've been refusing to sit with.

      Curious which specific loop sounds weakest to you looking in from outside. "Shareable gameplay moments" in particular — is that a feature we're missing, or a framing problem we're failing to build around the modes we already have?

  5. 1

    Going through the beginning of this as we speak... Distribution is a grind. One thing that’s helping us at FPIS is targeted outreach to tech/niche blogs. We just got a deep-dive feature on Krispitech about our scoring framework, which has been great for 'expert' positioning. Might be a useful case study for your distribution plan. Trying to hit the SEO angle, X/Twitter contribution and subtle promotion angle, enhancement of my product all while doing it.

    1. 1

      Expert-positioning through blog placement is a different lever than the rest of this thread — most advice so far has been about distribution channels, this is about earned legitimacy. Those compound very differently.

      Honest constraint for us: consumer games don't have the same expert-surface area that a scoring framework does. Our equivalents would be the engineering story (Socket.IO namespacing for 6 game modes, offline-first multiplayer sync, atomic guest-to-account migration) pitched to dev-focused publications, or the genre-framing angle (emoji-based word games as an underexplored format) pitched to mobile gaming press. Neither has the same immediate "proprietary thing" credibility that a framework piece carries, which makes the pitch harder.

      Curious how you made first contact with Krispitech — cold pitch, warm intro, or did they find you? The outreach mechanics for niche blogs feel opaque to me compared to Reddit or Twitter, and I'd guess more founders underinvest here than overinvest.

      Also — what's FPIS? Dropped in curious.

      1. 1

        You’re right on the money.. getting seen is one thing, but getting trusted is a whole different game. They grow in totally different ways.

        And honestly, your “expert surface area” is already there. That whole atomic guest‑to‑account migration you built? That’s your calling card. In dev land, solving a real pain point is basically your credibility badge, even if you don’t have some fancy scoring model behind it.

        On the Krispitech thing: they found me from a Product Hunt launch. Certainly doesn't hold the same weight as a Reddit or X but it was an oppotunity for a backlink (dofollow) and small SEO win.

        And FPIS just means Five Pillars Intelligence System — the model I built for Dynasty Fantasy Football. It scores players across Production, Athleticism, Film, Context, and Projection. That structure is what turned the whole thing from a hobby into something real, because it gave me a story and a method to share, not just a tool to show.

  6. 1

    This really resonates. I built RedLINE quietly too. I focused on getting the core timing signal right before worrying about reach.

    The distribution struggle is real, especially when the product isn’t a flashy consumer app. I’m learning the same lesson organic growth doesn’t just “happen” after launch. You have to treat distribution as its own product.

    One thing that’s helped me recently is sharing small, specific experiments (like running real timestamps through the API and showing the output). It feels less like promotion and more like “here’s what I’m testing.”

    Wishing you luck figuring out the right channels for Vizzy. The multiplayer puzzle space is tough, but the offline-first + cross-platform angle sounds strong.

    1. 1

      The "small specific experiments" framing is the thing I've been missing. I've been thinking in "posts" and "launches" when the unit should be "today I tested X, here's what happened." Smaller content unit, content writes itself from the work, and the reader gets something useful regardless of whether they care about the product.

      What's funny is this is the third version of this idea someone's landed on me this week — different angles, same core. Someone else put it as "show people using the product on content they already cared about," another as "the share moment matters more than the channel." When three people arrive at the same conclusion from different directions, I'm taking it as the signal.

      Curious what "running real timestamps through the API and showing the output" looks like for RedLINE in practice — mostly Twitter/X, or are you finding other venues? The format clicks for me but I can't picture the placement yet.

      And thanks for the read on offline-first + cross-platform being the right angle. That's the part we keep second-guessing.

      1. 1

        What helped me was keeping the experiments small and tied to something real.
        For me that meant running actual timestamps through the system and watching how the rhythm shifted not in a dramatic way, just the tiny timing changes that show up before anything looks ‘wrong.’ (I just started by saying if you are open to it, we could run a really lightweight test using your timestamps- no integration or setup. Just to see what shows up.)

        Those little tests ended up teaching me more than any big launch plan.
        It’s easier to share something specific and grounded than a big abstract idea, and people respond better to it too.

        1. 1

          "Grounded beats abstract" is the bit that's rearranging something for me. I've been treating content for Vizzy as "what's the story," when it should probably be "what's the specific thing we tested this week, and here's what the data showed." The frame shifts the work from marketing-brain to engineering-brain, which is a register I can actually write in.

          The outreach pattern you described is also sharp — leading with "a lightweight test using your own data" as the opening move instead of a pitch. The thing being offered is insight, not a demo. Probably why it works.

          For a consumer game the equivalent version isn't an external-data test — our equivalent might be showing puzzle-solve-time distributions from our anonymized user data, or how session lengths shift mode by mode. Not a pitch, just what the work looks like in public. I hadn't been thinking about that content unit at all.

          Thanks — this one's sticking with me.

          1. 1

            Glad it was useful.
            It’s funny how a tiny framing change can open up a whole new way of sharing the work.

  7. 1

    For what it's worth, I'm in a completely different market (B2B SaaS) but have all the same issues. I'm a developer, not a marketer. I built too quietly and expected a grand reveal on launch day when I should have been building a network for months. Finding anywhere to tell people about my product feels impossible because everywhere is either A) no self promo or B) everyone yelling their self-promo and not paying attention to anyone elses.

    I've bookmarked this and will be following along with your journey. It's late where I am so I'll give the game a spin tomorrow. Best of luck finding some traction!

    1. 1

      This is oddly comforting — the specifics of my space feel different (consumer game, mobile-first) but the shape of the problem is identical. Developer who built quietly and expected launch day to do work it was never going to do.

      The promo-paradox you named is something I've been trying to articulate and couldn't. Every community I've tried is either "no self-promo, ever" or "everyone's yelling at nobody," and neither one is useful. The small servers and subs where people actually read each other's posts seem to be the only middle ground — and those are the ones you can't scale into anything meaningful.

      Appreciate the note, really. If you're ever posting your own journey, drop the link — I'd want to follow your side of this too. And no pressure on trying the game tomorrow — honest feedback whenever is worth more than a courtesy install.

      1. 1

        I played the games as a guest today. Enjoyed it so much I made an account and bookmarked it next to the NYT games for when I need to take my mind off a problem for 10 mins!

        I'll definitely be doing some posting about my product and launch experience once IH believes I'm a real human and lets me post...

        1. 1

          This made my day.

          "Next to the NYT games for a 10-min mental break" is the exact placement we've been trying to earn. Someone else on this post argued that ritual-adjacency is the hardest retention lever at low DAU, and you just described it happening unprompted. That's a data point I'm going to sit with for a while.

          Also genuinely thrilled you moved from guest to account on your own. That migration path was the thing I lost the most sleep over building, so hearing it actually triggered in practice is the best possible feedback.

          On the IH posting unlock — we went through the exact same wait last week. Came faster than I expected (4-5 days of substantive commenting, not the 10 I'd heard people say). The thing that seemed to move the needle was engaging with 2-3 posts a day in long specific comments where you add a technical detail from your own experience — not short "great post" thank-yous. Mods seem to eye for "this person is actually a founder" over pure volume.

          When you post your launch journey, drop the link here. Would genuinely want to follow your side.

  8. 1

    Quiet launches are brutal for multiplayer, empty lobbies make a good game feel dead. Learned that the hard way shipping my own product, the first 200 signups came more from daily manual outreach than from shipping features. For your game, picking one niche community and setting fixed play sessions will probably work better than waiting for random traffic to overlap.

    1. 1

      The empty-lobby death spiral is the thing we've been most scared of — a multiplayer game that feels dead kills faster than a solo game that just isn't great. That's a useful forcing function: stop thinking about "ship more features," start thinking about "make the lobby full at 8pm Saturday."

      The fixed-session idea matches what another founder on this post suggested a few hours ago — show up with a tournament or event, not a link. That's three separate pieces of advice this week all pointing at the same move, which I'm taking as the signal. We're actually pitching a couple of gaming Discords this week on hosting a Vizzy tournament over the weekend — first attempt at exactly this play.

      One question: the "daily manual outreach" you mentioned — was that mostly 1:1 DMs to individuals, or public posts in communities, or some mix? The mental image of what actually got you those first 200 could mean very different tactical playbooks. Curious what the ratio was.

  9. 1

    On the communities question: r/WebGames and r/incremental_games are both active for casual multiplayer puzzle games. Discord is where multiplayer retention actually lives — not for acquisition, but for the 20 players who become your daily actives and bring friends. Find one active gaming Discord that overlaps your audience and offer to host a tournament. That single activation often beats months of posting.

    On the shift moment: for Genie 007 it wasn't a channel, it was a format. We stopped describing what it did and started showing people using it on content they already cared about. Short-form video of someone solving a real problem in real time. The first 3 videos got more installs than 3 months of written content combined.

    On engineering-led teams: don't hire a marketer yet. Learn the channel yourself for 60-90 days first, even if you're bad at it. You need to know what "good" looks like before you can evaluate or brief someone else. Hiring before you have that context usually means expensive mediocre work that you can't improve because you don't understand it.

    What were your retention numbers looking like before you started focusing on distribution? That answer changes the priority order significantly.

    1. 1

      Taking these in order because all three land.

      The tournament idea is the one I hadn't framed right. We've been thinking "post in subreddits / show up on Discord" when the real play is "arrive with an offer only your product can provide." Hosting something the community can't get without you is a different pitch entirely. That's going on this week's list.

      Format over channel — uncomfortable because we've been doing the opposite. Writing about what Vizzy is instead of showing someone play it and react. "Real usage on content people already care about" is the reframe. I don't have a good excuse for why we started with the harder version.

      On not hiring yet — my instinct was to push back, but the more I sit with it the more right it feels. Briefing someone to fix a problem I don't yet understand the shape of is how expensive mediocre work gets produced. 60-90 days of doing it badly myself is cheaper than hiring badly.

      On the retention question — honest answer: our data here is directional, not rigorous. We see that people who find the core loop come back, but we don't have clean cohort analysis yet. You've exposed the real gap in my thinking — we're optimizing for distribution before we've confirmed the retention numbers justify it. If retention is weak, distribution just accelerates churn.

      If you had to pick one loop to instrument properly this week — daily-puzzle retention or multiplayer session retention — where would you start? Those two behave so differently that I'm not sure how to sequence them.

  10. 1

    Respect for sharing this — most people only post wins, not this phase.

    One thing stood out though:

    You’re thinking distribution as the missing piece… but for consumer games, perception often comes before distribution.

    “Vizzy” feels clean, but it doesn’t instantly signal what kind of experience this is or create curiosity on its own — especially in short-form feeds where name = first hook.

    In saturated channels like TikTok/Reddit, that split-second impression matters more than people expect.

    Curious — have you tested different positioning / naming angles alongside distribution, or mainly focusing on channels right now?

    1. 1

      Fair point, and honestly not one I'd given enough weight. On a scroll feed, "Vizzy" doesn't do its own work — someone seeing the word cold has no way to know if it's a puzzle, a fitness tracker, or a chat app.

      Renaming is off the table at this stage (App Store identity, SEO, existing players), but what you're really pointing at — the hook doing the work the name can't — is something I'd been treating as instinct rather than a testable variable. We've been thinking channel-first: where to post, what subs, what cadence. The actual first three words of each post have been improvised.

      Haven't run structured naming/hook tests alongside channel tests. Mostly because I didn't know how to — outside of landing page A/B tools, the short-form-hook version of that feels harder to instrument.

      Curious how you approach it when you do. Is it mostly ship-30-variants-and-see-what-survives, or do you start with a framework before the variants?

      1. 1

        Yeah — I wouldn’t treat it as random shots.

        I’d start with a few clear angles first — like outcome (“solve this in 30s”), curiosity (“this broke my brain”), competitive (“harder than Wordle?”), or social (“can your friends beat this?”).

        Then just write a few variations under each and post them close together so the hook is the only variable.

        Usually one direction clearly hits, and then you refine from there.

        For Vizzy, which angle do you feel fits it most right now?

        1. 1

          Curiosity is the one I keep coming back to, and I think it's native in a way the others aren't.

          Emojis are inherently visual riddles — if someone scrolls past 🦒🎷 on their feed, their brain tries to decode it before they decide whether to tap. Word-based games don't get that for free. The puzzle does the hook for us if we let it.

          Competitive is the one I'd actively avoid. "Harder than Wordle" invites a comparison to a game with way more players, and we lose that matchup on recognition alone. Social is strong for existing players but I don't think it works for cold acquisition — "beat your friends" requires friends who already play.

          Outcome is the natural secondary. QuickPlay's 60-second format is made for short-form stitches — here's a puzzle, can you solve it in time.

          So if I'm sequencing: run curiosity-first hooks across 3-4 variants this week (emoji puzzle with a timer overlay, no explanation), then test outcome framing as the next layer. See which format and which mode the algorithm rewards, then double down.

          Does that match how you'd structure it, or would you push harder on a different angle given what you know about emoji-native content?

          1. 1

            Yeah — that’s a solid read.

            Curiosity-first makes a lot of sense for this, especially with emojis doing half the work already.

            Only thing I’d add — with curiosity hooks, the first 1–2 seconds matter more than the idea itself.

            If the pattern isn’t instantly readable, people just scroll.

            So I’d make sure the puzzle is:
            → visually obvious (not too abstract)
            → solvable enough to trigger “wait I almost got it”
            → but not instantly obvious

            That tension is what pulls people in.

            Your sequencing makes sense though — curiosity → then outcome once you see what sticks.

            For Vizzy, I’d lean hard into making that first frame do all the work.

            1. 1

              That's the tactical layer I was missing. Curiosity-first as a strategy only works if the first frame hits the solvable-but-not-obvious window. Everything else falls off.

              VOTD is probably the natural vehicle for it — two or three emojis that decode to a word is the most testable surface Vizzy has. QuickPlay is too frantic to read in 1-2 seconds. CrossVizzy is too visually dense. VOTD gives you the whole tension in a single frame.

              One thing I'm wondering: does the target word's emotional or cultural relevance matter as much as the difficulty of the decode? A clever emoji combo for "espresso" probably hits differently than one for "plumbing" even at equal difficulty — one has texture, the other doesn't. Is that a real variable in your experience, or am I overweighting it?

              1. 1

                Yeah that’s a real variable.

                Emotional or familiar words almost always hit harder than neutral ones.
                Because people don’t just decode — they react.
                “espresso” has texture, people can picture it instantly. “plumbing” is just functional, no pull.
                So even at the same difficulty, one creates that “oh wait I got it” moment, the other doesn’t land as strongly.

                I’d think of it like:
                recognition + relatability + slight challenge
                If all three hit, people stop.
                If it’s just challenge without that familiarity, they don’t bother.

                You’re not overweighting it — it’s probably one of the bigger levers once the format is right.

                1. 1

                  Recognition + relatability + slight challenge — that's the clearest decision framework I could have for which puzzles even belong in the ad rotation.

                  Changes the prep work. Instead of starting with "which puzzle is at the right difficulty," start with "which word has texture." Difficulty becomes the second filter, not the first. Most of our VOTD archive was built for puzzle difficulty — probably 70% of them fail the relatability test even if they pass the challenge one.

                  Cleaner way to cull the content pool before testing. Thanks — this is exactly the lever I needed named.

                  1. 1

                    Yeah exactly. Once the word itself has pull, the puzzle gets a lot more leverage for free.

                    Otherwise you’re asking the format to do all the work.

                    I’d probably split the pool into three buckets before testing:
                    high texture everyday words
                    visually funny / unexpected words
                    culturally loaded words people instantly react to

                    Then you’ll likely see pretty fast which type creates the strongest stop rate.

                    Feels like you’ve got a much cleaner testing set now.

                    1. 1

                      Three buckets is the framework I needed.

                      High-texture everyday, visually unexpected, culturally loaded — those are distinct enough that the winning type should be obvious after 10-15 variants across the split, not 50.

                      Going to run it as the post-launch content engine. Too much bandwidth on launch week to test hooks properly, but first week of May this becomes the daily job.

                      Thanks — genuinely the cleanest testing playbook I've gotten. Appreciate you sticking with the thread.

Trending on Indie Hackers
The most underrated distribution channel in SaaS is hiding in your browser toolbar User Avatar 169 comments I launched on Product Hunt today with 0 followers, 0 network, and 0 users. Here's what I learned in 12 hours. User Avatar 154 comments I gave 7 AI agents $100 each to build a startup. Here's what happened on Day 1. User Avatar 97 comments Show IH: RetryFix - Automatically recover failed Stripe payments and earn 10% on everything we win back User Avatar 35 comments How we got our first US sale in 2 hours by finding "Trust Leaks" (Free Audits) 🌶️ User Avatar 26 comments HELP: Took a Shopify Job 3 Days Ago and I'm Still Not Done User Avatar 26 comments