Game Submission Checklist

After you are finished integrating your game, you can contact us to request that we run a quality assurance pass on it to make sure it’s ready to go for publishing. However, if you want to speed up this process, here is the actual checklist that we use when verifying your game. It’s like a cheat sheet for an upcoming test! If you’ve got all these ready, you’ll likely get a quick approval and publish permission from us.

Kreds Purchases

  • A player can make a purchase in the game. The purchased item should show up quickly following the completion of a purchase.
  • Purchase prices match between the UI and the server prices.
  • The game checks for uncredited purchases on start-up. Basically, each time the game loads, you should call the same function that you use after a purchase is made to check for items in the user’s Kongregate inventory. This helps reduce problems from network errors and allows the user to refresh the page if a purchase fails, cutting down on support emails.

    The best way to check for this is to start a purchase, open up the first Kongregate purchase window, confirm the purchase, but then don't close or continue on from the confirmation purchase window. Instead, refresh the page - this will cause the game to not notify your local callback function of the completed purchase, even though the item was paid for (thus simulating a network/computer glitch). The item should still be credited to the player upon loading the game again.

Authentication

  • The game correctly identifies a user. If the user logs out and logs in as a different user, the game correctly switches over to the new user. (You can contact us to add permission for multiple users to access the test version of your game: just tell us which usernames you wish to have access.)
  • The game protects against hacking by manipulation of the authentication URL. This one is a little more complicated, but basically we want to make sure that you’re protecting against hack attempts by changing the authentication URL parameters. As long as you’re using the full authentication API and not just reading and trusting the userID passed in via the URL, you should be fine.

Other points

  • The Statistics API is working and submitting scores.
  • Additionally, using the statistics API, we strongly recommend submitting a stat to us called "initialized" or "loaded" that sends a "1" each time the game loads successfully. This must be done early, generally at the title screen or no later than character selection/creation (if that happens first thing) - it cannot be post-tutorial or after the first level. We can use this stat to ensure that ratings for the game are by people who meet the game's minimum system requirements. It generally is not as important for Flash games, but if you use an unusual plugin/technology like Unity3D, Java, or HTML5, or are Windows-only, this will help give you a more accurate rating and is highly recommended. Let us know if you have set up a statistic like this so we can set it up as a filter.
  • Guests should see a game landing page, hopefully with some sort of cool art and explanation of the game that would make them want to register. There should be a “Register” button somewhere on the page that calls kongregate.services.showRegistrationBox(). The game should listen for login events and automatically log in when one occurs.
  • The game functions in IE8. If it does not, this is usually indicative of not setting P3P headers correctly.
  • The game functions in Safari. If it does not, this generally has to do with attempting to set cookies from within a cross-domain iframe. Safari’s security policy is set very high by default, but there are a few workarounds that can let your game function.
  • Referral links. While we are happy to have friend referrals in the game, they need to be URLs that point back to Kongregate. You can preface URL parameters with kv_ (ex. ?kv_foo=bar) to have them passed in to the iframe.
  • General game experience. We’ll do a quick play-through to make sure the UI is functioning, there aren’t any dead/incorrect links, or anything else that stands out as non-functional in the game.

next

Comments