mozilla / galaxy

To infinity and beyond. The front-end UI.
BSD 3-Clause "New" or "Revised" License
9 stars 14 forks source link

Research developer ecosystems of other game centres #21

Closed cvan closed 10 years ago

cvan commented 10 years ago

Let's do our homework to research the developer ecosystems of other existing game centres:

(... to name a few. If you know others, let's hear what you've got!)

Anyway, let's get a list of the things we like and we dislike, for example:

  1. How's the developer portal? (How's the UX to register an account?)
  2. How's the game submission flow? (How's the UX for submitting a game?)
  3. How are the game services (e.g., leaderboards, achievements, etc.)? (How easy are the services to use and extend?)
  4. How are payments (in-app, upfront)?
aricha commented 10 years ago

I haven't had too much time to look at these, so I've only looked at Apple's Game Center and Google Play, but based on what I've seen so far:

Game Center:

Google Play:

Neither Game Center nor Google Play seem to support analytics. They're pretty focused on the core features - multiplayer gaming, with leaderboards and achievements. Both seem to do a pretty good job overall, and they both have extensive documentation to make the process easy-to-follow.

I'll be sure take a look at the other services when I get the time this week, and compare the UX for account signup and publishing more closely. It seems like the core UX flow for these services is going to be pretty similar, though.

emoore24 commented 10 years ago

Looked at Clay:

Clay.io - HTML5 Games

  1. How's the developer portal? (How's the UX to register an account?)
    • After registering with a account name and passowrd, Clay.io next makes you set up a central "Developer" under which all games are stored. With this, you can add other accounts underneath this Developer name. In addition to setting a name, bio, developer website, you can specify a unique key for your profile to be located at Clay , like "http://clay.io/developer/(key)"
  2. How's the game submission flow? (How's the UX for submitting a game?) There appears to be three ways to submit a game:
    • Quick Setup - You just need to specify a subdomain () and a price (for upfront purchase of the game). You can't publish to their marketplace like this, but you can reserve a name.
    • Fill Out Details - Sort of the "normal" approach. You specify a subdomain, price, game title, description, an icon and promo image, and finally how your game is hosted. You can either upload and host on Clay.io itself, or point to an existing url. You can publish from this method.
    • Chrome Web Store Format - A streamlined version of the method above. This uses the chrome extension format (i.e., specifying a manifest.json file with all the info).
  3. How are the game services (e.g., leaderboards, achievements, etc.)? (How easy are the services to use and extend?) Clay.io offers the following game services through its javascript api. Note that you can use the API and not the marketplace:
    • Leaderboards - Make and post to leaderboards, specify sorting options, different filters for getting and showing data (i.e. past month, past hour, a custom filter, etc.)
    • Achievements - Specify achievements and show the user how many they have. Achievements are shown on a user's Clay.io profile (if they have one)
    • Persistent Data Storage - store data in the cloud, either tied to a user or an ip address/cookie
    • Payments - In game payments via credit/debit card, paypal, amazon.com, google wallet
    • Analytics - A lot of things (daily plays, achievements, when screenshots are taken, posts to social media, etc.)
    • Social Integration - Posting to social media
    • Advertisements - The developer receives 50-70% of ad revenue
    • Multiplayer Rooms
    • Cross Promotion - From Clay: "The idea behind cross promotion is you send traffic to other developers' games and they send traffic back in return. It's a great way to balance the high costs of user acquisition"
  4. How are payments (in-app, upfront)?
    • Upfront - Developers can specify a price when they publish to the Clay.io marketplace.
    • In-App - In game payments via credit/debit card, paypal, amazon.com, google wallet
CharlesChong commented 10 years ago

I had a look at itch.io and OpenKit because they looked very similar to what we were trying to achieve with Galaxy.

Itch.io is a service for hosting downloadable, Flash, Unity, Java, or HTML games. The developer portal and game submission flow is extremely simple. Registration only requires an e-mail address and then the developer can immediately upload a game to be hosted. When uploading, the developer can specify description, genre, tags, cover image and install instructions.

Itch.io doesn't seem to have many game services. They provide an iframe widget that can execute a purchase on a separate webpage. The game webpage can be customized. They also provide tools for analyzing game usage.

There does not seem to be in-app payments. Developers can specify a price to play/download their game upfront. There are no ads for revenue. 10% of the cost goes to itch.io (in addition to payment processing fees). Supported payment providers are Paypal, Amazon Payments, and Stripe.

OpenKit is an SDK to make features easy cross-platform (Unity, iOS, and Android) games. It wraps and extends Apple's Game Center. Like itch.io, the developer portal and game submission flow is also extremely simple. Registration only requires an e-mail address and then the developer can immediately set up an app. From there, the developer integrates the OpenKit SDK with their game.

OpenKit provides Social Leaderboards, "Push Challenges" (social notifications about high scores to try to pull back players), cross-platform game invites, ghost data for asynchronous multiplayer, and achievements.

OpenKit is not a front for selling games but more an SDK for features. The SDK price depends on the profits (MAU) of the game and can vary from $0-$1000.

Since Galaxy is about games on the web, something like itch.io or Clay.io would work really well. I love the simplicity of itch.io's developer portal and game submission flow. It would be nice to have all of the features that Clay.io has as well.

rchreptyk commented 10 years ago

Steam

Xbox Live

Windows 8 Store

at-kevinlau commented 10 years ago

I looked at Steam, since I've had experience using it:

How's the developer portal? (How's the UX to register an account?) Registration for a normal user is relatively painless -- no email confirmation is required to log in. But if you want to buy a game or otherwise spend money on Steam, you'll need to confirm your email then.

It's not immediately obvious how to get to the developer portal (Greenlight) from the store page. To find out how to submit a game, you have to scroll to the bottom of the page and go to About Valve -> Business Solutions -> Visit the [SteamWorks] Website. Eventually, you'll reach the FAQ, which will either tell you to log in using your Steamworks account (which is different from a normal Steam account) if you're already published a game on Steam, or to submit it through Valve's game submission service named Greenlight. (There is a faster way to get to Greenlight by clicking Community -> Greenlight at the top of the store homepage, but you'd need to have known the name of the service in the first place.)

Finding this is a bit of a hassle, but since the store page isn't primarily targeted at people who want to submit games, it's understandable. If you really wanted to find the game submission page, it's faster to just google "how do I submit a game onto Steam" than to navigate to the Greenlight page starting from the store page.

How's the game submission flow? (How's the UX for submitting a game?)

After actually finding where you need to go to submit a game, it seems straightforward to submit a game. You can submit a game concept to gauge reactions towards your game for free (though this doesn't help your game get published), or you can pay a one-time $100 fee to submit your game directly. In addition to the game, you need to provide screenshots/videos/etc. Your game only gets put on Steam if your game receives enough votes from people using Steam.

How are the game services (e.g., leaderboards, achievements, etc.)? (How easy are the services to use and extend?) After getting the game onto Steam, there's a service called Steamworks that allows you to integrate your game with Steam's features (achievements, matchmaking, lobby systems, etc.). You need a non-limited Steam account to download the C++ Steamworks SDK, which requires you to have spent money on Steam.

There's also a Web API that allows you access to some Steamworks features.

How are payments (in-app, upfront)? In-app payments are possible by accessing the store through the Steam in-game browser -- you can have your game open up the browser directly to the store page without leaving the game, which is nice. But primarily, purchases are made upfront through the Steam store, which is accessible through the browser or native Steam client.

cvan commented 10 years ago

If any of you need a sample game to upload to any of the game centres, please use bearicorn:

https://github.com/mattbasta/bearicorn/archive/gh-pages.zip

birkanu commented 10 years ago

OnLive

1. How's the developer portal? (How's the UX to register an account?)

You first register with an email, password and a player tag that you can use in games. Then you can click on the "Developers" link on the page footer. And, the pain begins. If you are a game developer or a publisher, you are supposed to become a registered OnLive partner by contacting them.

2. How's the game submission flow? (How's the UX for submitting a game?)

I sent them a message, commenting that I wanted to submit a game, and got a response saying that my message had been forwarded to the appropriate team. Next step is to wait for them to get back to you and create an account. Once you have a developer account, you are supposed to get detailed information on their OnLive SDK (ODK), submission and publishing process, and developer tools.

3. How are the game services (e.g., leaderboards, achievements, etc.)? (How easy are the services to use and extend?)

Since OnLive hasn't replied me yet, I do not know a lot about their game services. They claim to make your digital game distribution an easy experience, let you develop with their SDK, and help you create a direct relationship with the customers/gamers.

I took a look at their desktop app and they are most probably providing some sort of leaderboard and analytics.

4. How are payments (in-app, upfront)?

Purchases can easily be made upfront by picking a game in their marketplace and entering your credit card info. You can also make purchases in-app only if you have your credit card information saved on your account beforehand.