Kongregate Developers

Quest for Progress: The Math of Idle Games

At GDC Europe this year I gave a talk that took a deeper look at some of the numbers, formulas, and patterns underlying idle games. The slides for the talk are on Slideshare and the GDC Vault, if you have access there.

In the slides you’ll find information about growth curves, formulas for bulk purchases, purchase optimization models, a variant on growth based on derivatives, a look at prestige cycles, callouts for some great new idle games, and an aside on stupidly large numbers.

However, what I hope becomes the biggest value from the talk is that all of the charts generated for the slides come from spreadsheets that I’ve opened up for general use. If you’re planning on doing a lot with them I recommend downloading the Excel versions, as Google Sheets starts to cry on some of these simulations.

These sheets allow you to play around with values in a variety of situations to see how the curves change. While it’s unlikely you’ll be able to fully model and balance an idle game with these, they will hopefully allow you to better understand the tools that you have available to build an engaging and compelling progression.

As a specific example, Sheet 1e models optimal player choice for buying generators (i.e. the buildings, investments, or whatever generates the main currency), with the ability to set multipliers for the generators that trigger when the player owns a certain number of them (similar to AdVenture Capitalist bonuses). By setting these carefully, you can create a progression that varies over time in terms of the most valuable generator, keeping the gameplay more varied for the player, like this:

I hope these turn out to be useful! If you have questions, find a bug, decide to make an extension to a sheet, or have an awesome new idle game you want to share, please feel free to reach out and email me at anthony@kongregate.com.


Anthony Pecorella

Anthony has been at Kongregate for 7 years and is the director of virtual goods for browser games. He works to bring great games to the platform and help developers make a living with their games. He was the lead producer for the mobile version of AdVenture Capitalist.

Anthony also designs and develops games on the side with his indie game studio Level Up Labs, including the acclaimed tower defense RPG Defender's Quest: Valley of the Forgotten, and a MacArthur-grant-funded educational biology game, CellCraft.

Kongregate’s Animation Throwdown: The Quest for Cards mobile game launches today on iOS & Android!

San Francisco, Calif., September 15, 2016 – Order up! Animation Throwdown: The Quest for Cards is now available globally on iOS and Android.

Animation Throwdown: The Quest for Cards is the only collectible card game featuring five hit Twentieth Century Fox animated comedies: American Dad!, Bob’s Burgers, Family Guy, Futurama, and King of the Hill. For the first time ever, players get to assemble their favorite characters and experience iconic show moments in the ultimate deck-building game of domination. Cross-dress with Roger, pimp sweet lady propane in the heart of Texas, stop for a Butterface Burger with the Belchers, and pound a Pawtucket Patriot Ale (or two) without having to leave the comfort of your local New New York suicide booth!

Animation Throwdown is loaded with a hilarious mashup of screwball families, witty dialogue, and absurd card combinations. Get in on the family fracas as the Belchers, Hills, Griffins, Smiths, and Planet Express crew duke it out; have Tina unleash her charm bomb (and erotic friend fiction) when she throws down with Bobby Hill; get in on some “alien-on-alien” action as Roger takes on Kif; or end up on the ropes when Leela steps into the ring with Peter.

Animation Throwdown: The Quest for Cards will launch with a multiverse of morally-questionable content and game features that fans will love, including more than 460 battle cards with over 300 hilarious combos, as well as new content, campaigns, and PvP experiences more varied than Quagmire’s collection of “art”.

The highly anticipated free-to-play game has been launched by Fox Digital Entertainment and Kongregate, a leading publisher of mobile and web games and a wholly-owned subsidiary of GameStop Corporation. Kongregate co-developed the title with Chicago-based Synapse Games (developer of Tyrant Unleashed, Global Assault, and Spellstone) and San Francisco-based Chinzilla Games (developer of Little Alchemist).

Animation Throwdown: The Quest for Cards is free and now available on both iOS and Android devices. The game will be coming soon to other platforms, including kongregate.com.

eCPM Decay in Rewarded Video Ads

Some of you have heard the term "eCPM decay." Let's first understand what it means. If you are a publisher, CPM is the revenue you are getting for 1,000 impressions. If an advertiser is paying you a CPM of $5 and you show your users 1,000 impressions of that ad, you will receive $5. The advertising world is slightly more complex, however; most of the advertisers are actually paying CPI -- in other words, they are paying for installs. This means that unless the user clicks on an ad and installs the app, the publisher doesn't receive any revenue. What eCPM decay means is that if you take a certain user and show him more ads, he is not necessarily going to install more apps, so you wouldn't receive more money as a result.

Simple Example of eCPM Decay

Let's think of this scenario:

  • You have a single user in a given day
  • He wants to get 1 life for free, so he watches a video -- you as a publisher don't get paid for that
  • Let's say the chance of him installing the app is 1% -- if he does you get $5
  • The eCPM for the first impression is $50 (1,000 x 1% x $5)

Let's now consider another scenario:

  • The same user already watched 9 videos, and now he sees the 10th one in the same day
  • By the time he reaches the 10th ad, he is already blind to the ads, and the chance of installing is 0.2%
  • The ad network can't show the same ads to this user, so now he sees ads for apps that pay less -- let's assume $1 per install
  • The eCPM for the 10th impression is $2 (1,000 x 0.2% x $1)

What About RTB?

Some of the ad providers you might integrate are utilizing real-time bidding. This means that the price for every impression is determined by the marketplace in real time. If you look at the logs of the SSP or your mediation provider, you will actually see how the CPM bids decline from impression to impression. What happens behind the scenes is that advertisers are doing the same math we did in the example, so they are bidding higher on 1st impressions compared to later impressions. Machine Zone, for example, is known to pay a high CPM but demands that their ads only show up as a first impression to the user.

Why the Decay is Stronger with Rewarded Video

If you measure your eCPM decay with an ad revenue tracing platform like SOOMLA TRACEBACK, you will see that the eCPM decay is stronger with rewarded video ads compared to other formats. The reason for that is the misalignment of incentives. The user gets rewarded for watching the video while the publishers mostly get paid for installs. You might want to check this article about rewarded video payout for more details.

Mediation Helps a Bit with CPM Decay

If you use an ad mediation provider, you can improve the situation to some extent. By aggregating more ad providers, you are creating better fill rates and getting a larger variety of advertisers that can pay higher CPIs. By having more variety, you also reduce the blindness of the user to the ads and improve the chances a user will end up installing and generating revenue for you.

If You Can't Fight Them, Join Them -- Focus on 1st Impressions

CPM decay is here to stay, but instead of fighting it, there are ways to make the situation work to your advantage. If 1st impressions pay 10x more, why not focus on having as many 1st impressions as possible? Using an ad tracing platform like SOOMLA TRACEBACK reveals that most mobile games have between 10% and 40% opt-in ratios. This means that at least 60% of the users don't watch even the 1st impression. Getting more users to opt in means you will get a lot more of these high-paying impressions and can double if not triple your revenue.

Kongregate allows guest posts for topics we find interesting and relevant to our developer community. Guest posts can be created by developers or third-party companies, and all content is subject to review. A guest post does not imply any business relationship, use, or endorsement of any persons or products between Kongregate and those of the author.


Yaniv Nizan

Yaniv Nizan is the CEO and Co-Founder of SOOMLA, the creators of TRACEBACK, a mobile analytics product that traces ad revenues to individual users. Prior to SOOMLA, Yaniv co-founded EyeView, a leading video advertising technology company. Mr. Nizan is a regular speaker at industry events and a mobile monetization thought leader with articles published in Gamasutra, Gamedev.net, Develop Magazine and others.

Optimizing Games for Low-End Devices

One of the biggest challenges in mobile game development is having your game run great on a low-end device without compromising the experience on a high-end one. We tend to optimize and budget the best experience for our high-end devices. There are many good reasons for this: better monetization, better engagement, etc. Low-end devices seem to run away from us in scope and get poorly prioritized because of the focus on high-end devices. But they’re still important! According to a recent Mixpanel trend report, ~10% of iPhone users have an iPhone 5 or below.

Can we have older devices run the same graphics as new ones?

You simply can’t. Give your players a comparable experience across all devices. Allow them to accomplish the same core activities that your high-end users do. The experience may not be the same, but the core progression should be close.

Tips on Optimizing for Low-End Devices

  • Think about low-end devices very early on in the project. Add checkpoints to test low-end devices at a frequency or feature check-in.
  • Categorize your devices in buckets like Low, Medium, and High Quality. For example, the iPhone 6s is a High Quality device, the Samsung Galaxy 3 is low-end, etc. This list will continually fluctuate as new devices come online and technology advances. Some important things to keep in mind are device specs, chip sets, video memory, video cards, etc.
  • Leverage the built-in Quality Settings in Unity. You can find it under Edit->Projects->Quality. Remember you can add/remove as many levels as you like. Customize it for your needs. I’d recommend going with three total: Low, Medium, and High. Unity has a bunch of controls you can tune per bucket. This is very helpful for a 3D game, but not so much on 2D.
  • Deliver different assets based on the device quality. High-end devices get HD; low-end ones get standard. This will help with memory footprint and performance (better FPS and fewer low-memory crashes). You can leverage iOS’s app-thinning technology or Unity’s asset bundles for this as well.
  • Run your game through different code paths based on the quality settings. For example, your dialogs may animate in/out when they dismiss. On low-end devices, you may want to disable the animations.
  • Disable masks and alpha. They can put a heavy tax on your frames per second.
  • Be prepared to make game-specific calls such as, "Which animations should I disable? What PFX should I enable/disable? Should I disable sound?"
  • Lower concurrent HTTP connections for low-end devices. They usually have fewer CPU threads to work with. Also, make fewer HTTP connections in general, since they hurt your battery life.
  • Create custom shaders for low-end devices. Limit extra passes and functionality. As an example, a low-end user can still function in your game without having an outline around him when selected.
  • Use your game engine's profiler to find hot spots on performance. Make sure to run it on the low-end device.

Feel free to reach out to me by leaving a comment below -- I’d be more than happy to share any data or code snippets we have.


Siavash Ghamaty

Siavash Ghamaty is the VP of Engineering at Ultrabit/Kongregate. He loves big engineering challenges. When he's not racking his brain, he loves eating Mexican food and fantasizing about being an interior designer in his spare time.

What Some Experienced Developers Learned from Making Their First Game

In a thread in the Game Programming forum on Kongregate, a developer working on his first game asked experienced developers in our community what they learned from making their first game and what they would do differently if they had the opportunity to start over again. The thread can be read here, but we also wanted to highlight some common themes that many new game developers might find helpful.

Choose Your First Project Wisely and Finish It!

People who want to get into game development often have a “dream game” they hope to make. That’s great! But set that aside for now. Your first projects are about learning, and part of what you are learning is how to manage complexity and finish projects. Light_bringer777, creator of the Learn to Fly games, advises, “Your first objective should always be to learn and improve yourself at the beginning. Do projects that teach you something rather than aiming for production value early on.”

Remember that you aren’t only learning how to code and how to design; you are learning how to plan a complex project, outline the steps you need to complete, manage your own energy, and develop habits like completing projects and taking time to learn from what you did. Shay9999 chose an amibitious, unusual project for his first game and recommends choosing projects that slowly build on your existing skills. “I knew a little walking in," he writes, "and I walked out without learning much at all. I was so focused on the game, I forgot to learn. If I had made a simple game with the knowledge I had, I would’ve picked up new tricks to process things and create my game better later on.”

For developers planning to upload their first published game, SoulGame advises, “Whatever game you do, finish the hell out of it. Don’t skip from one unfinished project to another.” This means taking the time to fix bugs, add sounds and music, integrate APIs, and create introduction and menu screens, so that the game is engaging and makes sense to a new user from the start. On your first published game, doing all these things well will probably take a lot more thought and time than you expect, but you will be learning important skills that you will take with you to your next game.

Pay Attention to First Impressions

If you're a new developer, most people who encounter your game are just putting a toe in the water to see if it’s worth playing. Light_bringer777 says, “Most people will only give your game a few minutes to form an opinion of it. If even that. Many people might only read the title and description, or even just look at the thumbnail. If your title is boring, your thumbnail is bland, you have no screenshots and your game gets fun around the 80-minute mark, that’s a very bad start.” Think carefully about all those “first things” that a user may encounter. Then, as a new player goes through the game, design things so the first-time experience is interesting and intuitive for the new player. Light_bringer777 adds, “Learning the game should be done through playing and not by reading 5 pages of text in a dry tutorial.” There are many, many low-rated games on Kongregate that are far better than one might guess by the first few minutes, or that many people can only figure out how to play by reading the comments. This leads us to...

Handling Feedback

Read and learn from the feedback you get, and make sure that your responses will help you in both the long and short run. Solicit early feedback to find out where players are getting confused. If players are getting confused early in the gameplay, a very high percentage of them will just stop playing. But even after the game is established, you can keep learning from feedback. As SoulGame puts it, “So every feedback is a different look at your game, either it is a trash talk or a love letter, they are pictures of what people grasp of your game.” I think that many developers might be helped by seeing user feedback as “pictures from different perspectives.” They all have some useful information to offer you, but you don’t need to urgently act on every suggestion, and some may need to be reinterpreted. Users may express dissatisfaction around certain items or the design of a certain level, but their suggestion on how to “fix” it shouldn’t be simply followed. If the users complain about items in the game and say you need more of them, for example, use that to take a fresh look at how the items function in the game. Instead of just asking “What are people saying I should change?” take it apart a bit more. “Is there a common source of dissatisfaction that people are pointing to?” That’s very useful information to have. Let’s imagine there’s a place that lots of users find “frustratingly hard,” and they tell you how you have to make it easier. At this point, you have a number of ways of addressing the dissatisfaction, especially if you have data that shows you whether users tend to quit the game at this point, or whether they make it through and complain about it. If the latter, you might increase the rewards for that part of the game and add in some encouraging messages that acknowledge that “Yes, this is the hardest enemy you’ve faced so far! But keep trying; you can win!”

If your early games bring lots of harsh feedback your way, try to maintain enough distance to take what you can learn from it without being overly upset by it. As Tulrog puts it, “Imagine you make your very first game and it’s a jump and run. And twenty people complain about how horrible your controls are and that you should go die in a fire...Do those twenty people behave in an unacceptable way? Yes. Absolutely. But that doesn’t mean their point is wrong. They do provide you with a new and important insight.” You can thank the users for their feedback and let them know that you plan to really focus on improving your controls for your second game. They might even check out your second game to see if you got better, decide that they are glad you didn’t go die in a fire, and become fans.

Coding and Other Learnings

As player_03, the creator of games like Run 3, puts it, “After making my first serious game, I looked back and realized that my code was a giant mess. I started fresh for my second. After making my second serious game, I looked back and realized that my code was a big mess. I started fresh for my third. None of my time was wasted.” So go ahead and make mistakes, but keep looking for ways to improve. I think this insight applies to all aspects of game-making.

If you find these tips interesting and want to read more, I highly recommend checking out the entire thread. As always, we are grateful to the members of our community who share their questions and their wisdom with us.


Sherri Puchalsky

Sherri Cave Puchalsky hasn't made her first game (yet), but she encourages and supports the growth of community and creativity wherever she can. She joined Kongregate in 2008, and was a volunteer moderator for chat and the Arts forum before becoming an Assistant Community Manager in 2013. Before working at Kongregate, she served congregations and communities as a liberal minister, then took time off to be with her children full-time when they were young. She is grateful to the true authors of this article: the people who shared their questions and experience in the forum thread that inspired it.