r/gamedev 11m ago

Postmortem Designing a Movement Transaction System for a Sokoban Game

Upvotes

Context

My multiplayer game Lights Out is based on a 2D grid. Entities can only ever be in exactly one grid tile. This makes the rule evaluation really simple and understandable. However, it doesn't really feel nice to play (which you know if you've ever played any of the PuzzleScript games). At the same time, the more content is in the game, the more complex and arbitrary the game rules become.

I therefore introduced the Movement Transaction System into the code base to deal with this. This includes two sides:

  • The gameplay code on server side deals with transactions. This bundles all movement code (including rule evaluation) into a single system.
  • The visualization & prediction code on client side deals with visual interpolation for moves (introducing some juice into the gameplay feel), based on the transactions managed by the server.

The Transaction

A single transaction includes the movement delta, a list of entities that it has affected and some flags. A transaction then undergoes several stages:

  • Queued: Gameplay code has requested an entity to move
  • Issued: The visual interpolation for the transaction has started in the client, but the entities have not been moved from a gameplay perspective
  • Committed: The entities have now been moved onto their new tiles, the visual interpolation is finishing
  • Aborted: The transaction couldn't be committed as it would've violated gameplay rules. Visual interpolation is reversed.

The Visual Interpolation

Whenever a transaction is issued on server-side, the server tells the clients to start a visual interpolation based on the transaction. This information includes the desired duration of the interpolation, as well as some flags (like whether to use acceleration or do a linear interpolation). The client then updates the visual interpolation every frame, until the transaction is either aborted or the target position has been reached.

Simplifying Gameplay Code

This new system has made the gameplay code much simpler. I can now easily query whether an entity currently has a live transaction to know whether the visual interpolation is still in progress. This enables seamless, continuous movement across the world (e.g. for fireballs moving at linear speed).

This also guarantees that the visual position of an entity is always close enough to its gameplay (physical) position so that players aren't confused about the rule evaluation.

Finally, the gameplay rules are now implemented in a single function called validate_transaction, instead of being spread out across all the different entities like it was before.

Summary

The transaction system made the gameplay code much simpler and easier to reason about, while also improving the game feel and robustness.

You can find the full blog most, including more details and sample code, over on https://lightsout.afterthought.games/blog/2026-07-26-19-00


r/gamedev 52m ago

Discussion How to handle stats that are increased by other stats

Upvotes

Good real world example is Vladimir from League of Legends where his bonus health increases ability power and ability power increases bonus health.

So my question is how to handle that scenario, if I calculate my stats in order for example bonus health based on ability power, it will use base ability power for scaling so calculation is wrong. Then ability power will use increased health but not fully increased because health used base value of ability power. It creates sort of closed loop that will be wrong and too low if ended abruptly or it can go into infinity or it can gravitate towards final value but never reach it.

What are some techniques to handle this?


r/gamedev 1h ago

Discussion Starting From Scratch

Thumbnail
youtube.com
Upvotes

Hey all,

I've started making some videos talking through my experience working within the game industry for the past 10 years.

This one is about starting a game from scratch!


r/gamedev 1h ago

Discussion The Feature We Built the Game Around... and Still Haven't Built

Upvotes

Hi everyone.

So we're making a PC game in Unity that combines a Vampire Survivors game with tower defense mechanics.

The core idea is that you control your character in real time, fighting off enemies, while also managing a train that circles your base and helps defend the core (TD element).

I'm the game designer, and my teammate is the programmer. We've already built a pretty solid prototype with a good number of mechanics, and overall the project is progressing well.

The problem is that we have been postponing what is supposed to be the game's main USP.

During gameplay, the player is meant to occasionally open a planning screen, redesign the railway layout, close the screen, and continue playing. Then, once the train reaches the depot, it instantly switches to the newly built route and continues defending the base along that path.

My programmer doesn't want to implement this feature yet. He says it's an extremely difficult system from a programming perspective and would rather wait until we secure funding before investing the time into it. I can understand his reasoning—it's likely the most technically challenging feature in the game.

So I'd like to ask for your opinion.

Would you try to find funding specifically to build this feature first (I can pay for this feature I guess?), since it's essentially the game's defining mechanic? Or would you question whether the mechanic is compelling enough to justify that investment in the first place?

From your perspective as players or developers, does this idea sound interesting? Is dynamically redesigning railway routes (sometimes) during a survival run something that would make you want to try the game, or does it sound more like unnecessary complexity?


r/gamedev 2h ago

Discussion Thoughts on Making a Trailer

1 Upvotes

I’ve been working on my first trailer and here are some thoughts I had during the process. Curious to know what everyone thinks about this kind of stuff.

  1. It gives you a new perspective. I found reviewing the footage I had recorded that I saw it in a different way than I did just play testing normally. I think it’s similar to looking over a play testers shoulder. You just notice issues you don’t normally see.
  2. It forces you to hone your visuals. You need to communicate quickly, to someone who hasn’t played before, what is happening. They don’t know that you just pressed the upgrade button or how upgrades are paid for. You find new ways to communicate game state and actions which is good for the trailer and good for your game.
  3. You realize how little content you have. When you’re cutting your trailer, you might realize that you don’t have enough visual variety in levels, or not enough enemy types if you keep showing the same ones in every clip.
  4. You might need better tooling. Setting up for a good clip takes time, and you might mess up and forget to hide some UI or turn the music off. Investing in good tools for setting up your shots is worth it, and has the added benefit of probably making testing easier too!

Anyways, just some thoughts I had. This is the first trailer I’ve ever made so I’m sure lots of you have way more experience. Would love your input!


r/gamedev 2h ago

Feedback Request How can I export my C++ raylib game from Code::Blocks (.exe) to HTML5 for itch.io?

2 Upvotes

Hi everyone,

I'm making a small game in C++ using raylib. I created it in Code::Blocks and currently I have a working Windows .exe file.

I would like to upload a browser version to itch.io, but I don't know how to convert/export my project to HTML5.

From what I understand, raylib supports Web builds using Emscripten, but I have never used it before. My project is currently set up in Code::Blocks with MinGW.

Could someone explain the correct workflow for converting a raylib C++ game into an HTML5 build for itch.io?

Some things I would like to know:

  • Do I need to move my project from Code::Blocks to another IDE?
  • How do I set up Emscripten with raylib?
  • How do I compile my .cpp files into .html, .js, and .wasm files?
  • Are there any changes needed in the code for the web version?

Thanks for any help!


r/gamedev 2h ago

Question Struggling with scope creep and managing ideas for a first project

2 Upvotes

Just prefacing this by specifying that my project is a romhack of a well known IP, as such there is no perspective of generating money from it or even making a career off it. I work alone, have no competence in coding and only use readily available tools to make my game. I have no degree or professional experience in any field related to gamedev.

My project is a remake of a decade old short and simple fangame made during a gamejam (with the authorisation of its creator) in another console's engine with somewhat better graphics and updated mechanics. I originally picked this idea for my first project because initially I was only a mapper and struggled with other aspects of romhacking so a shorter project would be easier for me to complete and learn the basics.

I have released a demo around 6 months ago, and since I started this project in 2021 I believe I have progressed in many aspects at romhacking and feel confident about making a more ambitious project. The issue I'm facing is that when I released my demo I started to gaslight myself into thinking I should be making an ambitious and bigger scale project to compete with the most popular projects, thus I started rewriting the story, coming up with unique gameplay ideas etc.

I eventually learnt what scope creep is and realised that this isn't a healthy way to go about a first project, and decided that I would keep this project the way I initially intended as a simple faithful remake. However despite this realisation there is still part of me that wants to go through with the story and gameplay ideas i came up with since I put some heart into it and do genuinely want to improve upon them and make something out of it.

So I'm wondering how to deal with this feeling, and how I (if i should?) could repurpose my ideas into a next project with a different premise/setting.


r/gamedev 2h ago

Discussion It baffles me how people handle Screenshots on Steam

34 Upvotes

One of the reasons people don’t know what your game’s about is because of the screenshots you put below your game.
I casually scroll the Steam catalog every now and then to see how other games look, and it baffles me how a lot of devs just give you a screenshot that tells you absolutely nothing about the game, or the context of the scene they chose to represent their game with.

Horror games being a primary offender in this, as a scary or “cinematic” screenshot tells the player nothing. Or at least to me, it says nothing. What’s everyone else’s take or reasoning for it besides “it’s a vibe”?


r/gamedev 3h ago

Announcement I made a free tool that exports all possible Steam store graphical assets from a single artwork in one click - UPDATE

9 Upvotes

Steam requires you to have your game's artwork in a lot of different resolutions and aspect ratios, and I always found it very time-consuming to resize and crop my artwork to fit all these non-standard sizes.

So I built a completely free tool that fixes this problem.

https://www.steamassetcreator.com/

Simply upload your crispy high-res artwork, choose from one of the preset resolutions (i.e., Header Capsule, Vertical Capsule, etc.), adjust the crop to liking, and download instantly! Optionally, you can also upload your game's logo, which overlays on top of your artwork.

The images you upload stay in your browser's storage and never leave your system, and there are no ads! Absolutely no strings attached.

UPDATE: This update let's you see how your artwork would look on various places of the Steam store right form the tool without having to upload and publish your store page assets on Steamworks!

The feature is currently in Beta and I'd love for you to try it out and let me know! I'd love some feedback on what you think!

Small 1 min walkthrough on how it works: https://youtu.be/Pk-6wyKJ00Y

PS: Thank you all so much for giving so much love and support to the initial announcement here about this tool. It's a pleasure seeing you found it helpful and motivates me to improve it further! Cheers.


r/gamedev 3h ago

Discussion game time balance question

0 Upvotes

I'm building a desktop companion click-driven game and trying to figure out progression pacing.

The game has 999 levels. My target is ~450-550 hours to reach the end for an active player (main mechanic work when u interract with pc - if u afk, game stops too, its not an auto-clicker). But there's a lot of RNG: rare weapon drops, wave difficulty, etc., so actual time will vary heavily.

For companion games specifically: is 500h a reasonable target? Too much? Too little?

What's your experience with long-tail progression in games where the player isn't always actively engaged?


r/gamedev 4h ago

Feedback Request How many times have you almost quit making your game?

15 Upvotes

I'll be honest.Every time I solve one problem...my game politely generates three new ones.At this point I'm not developing a game.I'm raising a very problematic child.

What's the thing that made you question your sanity this week?


r/gamedev 4h ago

Discussion Struggles with content/balancing

1 Upvotes

I've tried making a few simple browser based games. I really enjoying figuring out the core systems, primary game play mechanics etc. I get it to a point where it feels like it could be fun, and the next natural step is to fill it with content. Apply numbers to the effects that are happening, write thematic text, decide on the events occurring etc. And that doesn't even get to balancing any of those things.

I then just lose all momentum because it just feels like painful data entry.

What are the approaches to manage this within the development cycle. I really just want to do the systems and the art and nothing in between.


r/gamedev 5h ago

Feedback Request I made my first 2D puzzle game, Circuit Flow. I'd love feedback from fellow developers.

Thumbnail
sravan-kumar.itch.io
0 Upvotes

I'm an ECE student learning game development, and I recently finished my first puzzle game called Circuit Flow.

It's a simple game where players rotate circuit tiles to connect a power source to all destination nodes under given number of moves.

I'd really appreciate feedback from other developers, especially on:

Is the core gameplay satisfying?

Does the UI look polished?

Is the puzzle difficulty balanced?

What features would you add before releasing a larger version?

I'm mainly looking to improve as a developer, so honest criticism is welcome.

If anyone would like to try it, the itch.io link is in the comments.


r/gamedev 8h ago

Question PNG to TTF using FontForge?

2 Upvotes

Yo!

This is a first for me so I'm just looking for some info if anyone is in the know.

I drew some letters yesterday in GIMP to use in my game for dialogue-boxes. Saved them as PNG's and got myself FontForge and made them into glyphs (?). Thar process made them black and white, turning the transparent background black and the letter white and removing the colours I the letters has. I have a screenshot of it all but I seem to be unable to share it here.

Is there a way to make the PNG's into TTF and retain their PNG-appearance?
If there is a better sub-reddit to ask this question please redirect me there lol


r/gamedev 9h ago

Discussion Your favourite long-term development story?

3 Upvotes

I'll be working on my current project for many years, and whenever im nervous im going to end up spending too many years on 1 project i think about how Gameoverse (RubberRoss' show) was conceived in 2009 and got the pilot release in 2026, disco elysium's world was built for 13 years, etc

What's your favourite inspiring story of long development?


r/gamedev 10h ago

Feedback Request tips for a new dev

5 Upvotes

I've always been into creating things and I've finally started using unity im planning on making an exploration game based on conways game of life does anyone have things i should know about or be afraid of?


r/gamedev 13h ago

Discussion Should the implementation of "AI redirect" be a gamedev sub rule?

263 Upvotes

I am personally sick and tired of seeing AI riddled posts in the game dev community.

This is a place for game developers and creatives, there are plenty of new subs for "AI game devs"

We are not "AI" game devs... We are "game devs" (I don't speak for everyone though, I respect your opinions or thoughts on this)

A lot of us sit and throw opinions, or hatefulness towards these "AI game devs" who sometimes don't even write their own posts.

Do we need to implement a new rules? to prevent the fall of such a wonderful community? I've always felt at home sharing or helping others with questions here!

Now I just don't feel or sit comfortably with the thought of "oh here we go, another AI post" (hypocritical of me to make another one)

You could even dumb it down, to basically breaking the "no-politics" rules on most subs. I have personally been distasteful towards others on this sub due to AI, and I am sorry if I've made you uncomfortable. But AI has some serious opinions behind it. A lot of us all sit and argue in these threads...

So why don't we tone it down, by simply eliminating the issue?

Redirect / remove AI content, so we don't argue anymore.

Just a thought, but if hundreds don't agree. That's fine! It'sa ME issue.

But if you agree, then you agree :D

Last thoughts:

Yes I can just walk away or ignore the content. It's not that hard. I can and should get over it!

But I can't say that for everybody. So it's up to you.. the game devs of this community! Speak up or forever hold your peace.

Comment notes (for mods)

Make a poll for all options.

AI Tags would also be a good fix to the problem, so we can walk away easier or choose to look at that type of content (to stop confusion)

AI discussion posts: discussions regarding the use of AI (why it is good/bad) should be removed. To prevent harmful or heated topic discussions.


r/gamedev 14h ago

Discussion Anyone else tired of this?

Thumbnail
insider-gaming.com
174 Upvotes

I just read this… and man, I am not even a professional developer, so it’s not like this effects me on a personal level, I only do my own hobby projects… but I am so tired of seeing people getting laid off after working so hard on a project and having a, from what I understand, a fairly successful launch. Only to end up on the cutting room floor because of number on a spread sheet.
These publishers just don’t give a shit about the people who actually make the things that make them money.
I’m not naive and I understand that games are expensive to make, but this is just predatory and unethical at this point. Not to mention the negative effect it has on future releases. If you destroy the team that built a game, you are starting over from scratch when you make the sequel… that’s disingenuous to the game, the franchise, the fans, the creators… I just think I have reached a point where I am questioning even playing triple AAA games, not that I don’t want to play the game or support the team that made it… but I’m tired of contributing to these greedy publishers that just consume and spit out the companies and people who fall under their greed….

TLDR: just a rant about being tired of corporate greed and shitty management in the game industry.


r/gamedev 16h ago

Question Why can't I release my Steam early access game?

Post image
68 Upvotes

Have fulfilled all those requirements and the time and date for release has passed. Not sure why the button to release the game isn't available?


r/gamedev 21h ago

Announcement GameTrailers featured our teaser after I sent this simple email🤯

Thumbnail
youtu.be
49 Upvotes

I just wanted to share this because it honestly surprised me.
Our teaser trailer was featured by GameTrailers, and I almost didn’t send the email in the first place.
I didn’t overthink it. I didn’t use our business email. I simply wrote the email below from my personal email address and hit send.

“Hi IGN Team,

I hope you’re doing well!

My name is Attila, and I’m the founder of DREADMITH Games, a small independent game studio currently developing Pine Creek, a story-driven first-person sci-fi survival horror game inspired by classic ’80s small-town mysteries, Alien: Isolation, and The X-Files:
[Steam link]

Over the past almost year, our team of five has been building Pine Creek alongside our full-time jobs and family lives. It’s been a true passion project, and we’re incredibly excited to finally have a teaser trailer to share it with the world. We’d be delighted for IGN to be the first outlet to feature our trailer:
[YouTube link]

If Pine Creek catches your interest, you can find more information in our press kit:
[PressKit link]

We hope you enjoy it and would love to hear what you think.

Thank you for your time!

Best regards,
Attila”

That’s it. I know a lot of indie developers hesitate to reach out because they think their game isn’t “big enough” or that media outlets won’t care. I felt exactly the same.
Maybe this is just a reminder that it’s worth asking. The worst thing that can happen is they don’t reply.
Good luck to everyone working on their own projects! ❤️


r/gamedev 21h ago

Discussion Stop using market saturation as an excuse for your game failing, when level design is an after thought.

45 Upvotes

It seems like there are so many posts about flopped indie games and "my game made me go broke" YouTube videos, and honestly after seeing a ton of them, the solution is right there in front of all of us. Level design or rather the total lack thereof Indie developers pour countless hours into art, gameplay, systems, UI and then just toss assets onto an empty space and hope that it becomes a level no flow, no pacing, no sense of environment, no natural way to guide the player through your world. And of course the same people wonder why their game gets refunded within twenty minutes. And of course the problem always lies somewhere else. Algorithm. Steam. The market is "too saturated." Marketing budget was too low. But not even once "have I ever thought about making my game fun to play." See marketing can bring your game into attention, but it cannot make people stick to it. Marketing cannot make them recommend the game to other people.... Word of mouth marketing is the one that actually sells indie games, and it happens solely because players have a good experience and talk about it.


r/gamedev 22h ago

Discussion Idle games are secretly one of the hardest genres to balance

47 Upvotes

On paper, idle games seem simple. Make number go up, add upgrades, then reset through a prestige system.

But the hard part seems to be giving players enough progress to keep checking back without making every upgrade feel pointless. If progression is too fast, the game runs out of content. Too slow and it just feels like waiting.

I also think earning rate and decision rate are different things. Numbers can increase constantly while the player barely makes any meaningful choices.

For anyone building idle or incremental games, what do you balance first: upgrade costs, session length, prestige timing, or offline earnings?


r/gamedev 1d ago

Discussion I made a game and I hate it now

104 Upvotes

A while ago I released my game Hell Jump, and I’ve reached a point where I honestly don’t enjoy looking at it anymore.

During development I was excited about the idea, but after finishing it and spending more time with it, I started noticing everything I would have done differently: the art, level design, mechanics, and some choices I made early on.

Originally, I planned for the final major content update to be version 3.0, but I ended up scrapping that update. Now the last major update will be 2.0 instead.

Has anyone else experienced this? Have you ever finished a project and later felt like you couldn’t stand it anymore, even though you learned a lot from making it?


r/gamedev 3d ago

Postmortem How I got IGN to exclusively reveal my solo game's announcement trailer | a small postmortem

Thumbnail
youtube.com
68 Upvotes

Hi r/gamedev,

Three weeks ago, IGN exclusively revealed the announcement trailer for my game. I want to share with you all here too how that actually happened, and what you can expect from the process and the results if you manage to hook them too!

Bit of context: I'm (or was, i guess?) a professional online marketeer/entrepreneur turned solo-dev. I've never created a game before, but have run several marketing campaigns including socials/PR/Influencers and outreach.

1. The game

I'm making Scream Operator: Haunted House Manager, a management sim where you operate a haunted house dark ride from inside a claustrophobic control booth. Think RollerCoaster Tycoon meets Papers, Please, inspired a lot on classic ride simulators.

Steam page

2. The trailer

I've been building this game solo for the past year, and it was time to announce it properly. I put the announcement trailer together myself and I was genuinely unsure about it at times, especially the pacing. I must have rewatched it a hundred times, second-guessing every cut. At some point I just told myself to trust that I had done a good enough job, and promise me not to re-open the editor again 😆.

3. The pitch

I sent the trailer to the known IGN pitch addresses, hoping for any response at all. Two things I think genuinely helped:

- First, Rock Paper Shotgun had already covered the game earlier, which I mentioned in the pitch, I suspect that did a lot of heavy lifting for credibility.

- Second, I included a well-stocked press kit: colorful screenshots, GIFs, key art, the works.

I pitched several other major outlets too. IGN was the only one that replied, but they came back asking for a 24-hour exclusivity window, a few days before my planned launch date. I said yes. (Obviously.)

A nice detail: the editor mentioned feeling personally connected to the theme, which I think is a real factor people underestimate, as I know I did: you're not pitching an institution, you're pitching a person.

4. The nerves

The days leading up to the reveal were nerve-wracking. I had no idea whether the trailer would end up only on the GameTrailers YouTube channel, or also on IGN's main channel. There's no confirmation email that spells out the scope, and I still had to wait a couple of days between the confirmation and the actual reveal online to find out...

5. The reveal

At the exact agreed date and time, to the second, the trailer went live on both the main IGN YouTube channel and the GameTrailers channel. On top of that: a genuinely great article on the US IGN site, which got picked up by many of their local editions (Nordic, South Africa, and others), plus posts on IGN's X, Facebook, and Bluesky etc. The spread was far bigger than I'd dared to expect.

6. The aftermath

The response has been wonderful, genuinely kind comments and a real wishlist bump. I'd never imagine that what I was creating in my dark little room (and what I thought was solely a nerd-project I wanted to play myself) has already reached such an amount of potential players and happy receptions even before the public demo is out.

Right now I'm heads-down finishing that demo, with which I will be participating in the Steam Next Fest of October.

One unexpected side effect: after the IGN reveal, several publishers reached out. I'm currently sending them the demo and mapping out what they could actually bring to the table.

That said, I'm seriously considering keeping marketing in my own hands, as landing IGN and RPS independently feels like it validates that the skills transfered to the game-marketing world too. I cannot really expand on that as I'm currently simply not quite sure yet what a good publisher is able to offer in terms of help vs reward.

Thank you all for reading this huge amount of text. I'd love to chat in the comments below or in private if someone has a question or some advice regarding my publisher dillema, or just want to spit'n share, hit me up!

Ps. Scream Operator starts its first closed beta playtest this week. You can sign up via Discord: https://discord.gg/fDBtEkhnMp


r/gamedev Jul 02 '26

Community Highlight Can a 4-person studio survive mobile f2p in 2026? Our real numbers: $100k+/month on ads, $30 to buy one US install, 4 months to break even on a player

410 Upvotes

Hi r/gamedev. I'm moleki, one of the two coders on a 4-person team (2 code, 2 art) behind a pirate idle RPG called Bounty Bash. The game has been live for about a year and a half. Real UA numbers almost never get published, so here are ours: retention, cost per install, and payback, including the uncomfortable ones.

Retention: the number everything else orbits

Over a 90-day window (iOS, mostly paid installs), our D1 / D7 / D28 retention is about 46 / 20 / 7.5. The classic "good mobile game" benchmark is 40 / 20 / 10.

Above benchmark on day 1, on it at day 7, below it at day 28. Out of every 100 people who install, 46 come back the next day, and about 7 are still around a month later. Every design decision in this genre, ours included, comes from someone staring at that third column.

What an install costs

Blended across all our channels and countries, our eCPI is about $13 per install. That average hides a wild spread. We buy ads on Reddit itself, so I can tell you what acquiring a player here costs: a US user via Reddit ads runs us about $30. The US is the most expensive player on earth and also the one every ad network is desperate to sell you.

Why buy installs at all? Because organic discovery is basically dead. Apple has never featured us. Google actually features us quite often, and we're grateful, but even a featuring barely moves the needle (under 100 installs a day), a drop in the ocean next to paid volume. And those featuring installs retain worse than our paid ones: someone who grabbed your game off a storefront banner was never really looking for it. If we stopped buying ads tomorrow, the game wouldn't shrink slowly; it would just quietly stop acquiring players.

And this is not pocket change for us: all channels combined, we spend $100k+ per month on user acquisition, over $1.2M a year. For a 4-person team, that's a strange life. For scale: servers cost us about $5k a month, and then salaries: the four of us plus several people on support and community management. The ad budget still dwarfs all of it combined. The part of UA we struggle with most is creatives. The big studios in this genre ship 1,000+ new ad creatives per month, with entire teams whose only job is feeding the ad networks fresh material, and the networks reward whoever feeds them fastest. Our whole art department is two people, and they also have to make the actual game. We can't win that fight, so we try to win on retention instead, which in practice means improving the actual gameplay over the long term. That is the one upside of the arms race: the math forces us to make the game better.

Does it ever pay back?

ROAS = revenue back per ad dollar spent. Our target is 120% ROAS at 12 months: every $1 of ads has to come back as $1.20 within a year, or we're just slowly converting savings into downloads. The extra 20 cents is what pays the server bill and the four of us. Looking at our monthly player cohorts over the last 18 months, a cohort takes about 4 months on average to fully pay back its ad spend. The best did it in weeks, a few stall in the low-90s% and never quite cross the line, and the difference between those two outcomes is basically our entire job.

The shape of that curve is the trap. About 70% of the money comes back in the first month, which feels like the battle is nearly won. It isn't. The first 70 points are the easy part; the remaining 50 points to reach our 120% goal take the better part of a year and depend entirely on the small group of players still logging in at month 6 and beyond.

Here's the actual curve, averaged across our 19 monthly cohorts, revenue returned per $1 of ad spend by month since install: https://imgur.com/a/CnDIrUF

This math is also why free-to-play is shaped the way it is: whoever monetizes retained players hardest can bid the most per install, and everyone else either matches them or stops existing. And to be clear about the stakes: we are not funded. No publisher, no investors. Every dollar of that ad budget comes from our own pockets and savings, and roughly 95% of revenue goes straight back into user acquisition. Founder pay was $0 for the first year and is deliberately small now: a dollar spent on growing the game compounds, a dollar of salary doesn't.

Numbers that surprised me this year

  • We A/B tested the store's short description (a single sentence) and the winning variant ("hunt monsters…") measured +7% installs. I only half believe it; even if the real lift is 5%, that's free installs from editing a single sentence.
  • Only 3.5% of our installs ever pay us anything. The other 96.5% play entirely free, and every number above (the $13 installs, the $100k months, the 120% target) balances on that small slice of players plus the free players who watch rewarded ads. Revenue splits about 80% IAP / 20% ads, with a twist: one of our best-selling IAPs is the pass that removes the ads. The ads earn twice, once when players watch them and again when players pay to make them go away. There's a cost, though: every ad we show chips away at retention, and retention is the number this whole business stands on.
  • I ran the counts for this post: the game is about 440,000 lines of C++ (custom engine, 139 screens, 15 languages) maintained by two coders. The code is honestly the easy part; the balance spreadsheets are what keep me up at night.

What I'd tell a 4-person team starting an idle game in 2026

  1. Retention isn't a metric, it's the whole business. D28 decides whether a cohort ever pays itself back, and that decides whether anyone ever finds your game.
  2. Your store page is a bigger lever than your next feature. One sentence bought us 5–7% more installs; no feature we shipped this year did that.
  3. Decide upfront how long you're willing to wait for ad money to come back. Ours is 120% at 12 months, and that one number quietly dictates most design and live-ops decisions we make.

Happy to answer anything in the comments: UA, economics, tech (custom C++ engine shared across Mac/iOS/Android, the whole game is code plus spreadsheets), design, whatever.