Feature Overview
Index
- Stack (Developer Web Interface)
- Canvas (Social Network Display)
- API Calls
- Game Versioning
- Data Store
- Leaderboards (High Scores)
- Achievements (Medals/Accomplishments)
- Marketplace (Microtransactions, Subscriptions, Game Purchasing)
- Items
- Storefronts (Stores/Shops)
- Wallets (Game Currencies/Money)
- Lockers (Inventory)
- Facebook Deployment
- Using Google Analytics
- Payment Gateway Services
- dimeRocker Master Server (Unity)
Stack (stack.dimerocker.com)
Canvas
API Calls
Versions
When you make a new version, a new version ID and secret key is generated. You need to make sure you update this information inside your game. It's possible to edit the secret key, so you're able to keep the same secret key for all versions if desired. The secret key is used to identify you as the owner of the game and allows for API calls to be made from your game. It's very important that you protect the secret key.
Data Store (Game Save/Load)
Data store is the service used to save and load arbitrary user-centric information. For example, if you want to save a player's experience points, strength, stamina, etc., you can do so using the DataStore API. You can also use it to store player preferences. Consider saving and loading the music/sound effects volume, display options, and control settings the user chooses so that they can return to the game on any computer and have it still configured to their liking.Leaderboards (high scores)
Leaderboards are a set of values ranked in descending or ascending order. You can set up a new leaderboard in Stack. When setting up a leaderboard there are several fields to fill out, all of which can be fetched in-game if desired. The fields you don't plan to use can be safely ignored. After creating a leaderboard, an ID is generated that is used in your game when doing Leaderboard API calls. You can create as many leaderboards as you like. Consider creating daily, weekly, monthly, and all-time leaderboards.Achievements
Achievements are meant to be used as short-term and long-term goals for your players to aim for as well as to see their progression through the game. Adding achievements to your game can greatly increase its replayability.You can set up achievements in Stack. Here you can choose a name, description, and an optional image associated with the achievement. This information can be accessed in-game through the Achievement API. If you don't upload an icon, the achievement is given a default dimeRocker icon corresponding to the number Gamer Points it awards.
Marketplace
The dimeRocker marketplace features allow you to create items, stores/shops, inventories, and in-game currencies. Whether or not these features involve micro-transactions is up to you.Items
Items can be any "thing" that the player can get, whether that be a magical sword, an extra level, or the game itself. Items are used with lockers and storefronts. If the item is being purchased from a storefront then a wallet is also required. Items can be placed in a store using Stack. Items can only be put in a user's locker by using the Storefront and Locker APIs.When setting up an item in Stack, it can be given a name, description, and price. This information can be retrieved using the Locker and Storefront APIs, assuming the store or locker contains the item. The price is global amongst all currencies. For example, if the item price is 10, it will cost 10 of any of your in-game currencies.
Storefronts (Stores/Shops)
A store is what is used to sell items to the user, using either in-game currency or real money. When you set up a store in Stack you can choose its name and description, both of which can be accessed in-game through the Storefront API. After creating a storefront, an ID is generated that is used with the Storefront API.Stores are not user-centric. If you add an item to a store, all users in your game are able to see it. Use your own in-game logic to set limitations on stores. Whether that be limiting quantities or making price modifications using the DataStore API, there are many customizations you can do using custom game logic.
Wallets (Game Currencies/Money)
Wallets are used to store in-game money for users. After creating a wallet in Stack, an ID is generated which is used in the Wallet and Storefront APIs.Another setting you need to choose when creating a wallet is whether or not it deals with real money transactions (RMT). For a player to get RMT currency, they need to go through a payment gateway (SuperRewards). You can also give the user this currency in-game using the Wallet API. We strongly recommend doing so conservatively; if the currency is easy to obtain in-game, there is little incentive for users to purchase items using real money.
By creating multiple wallets, you can have multiple currencies. This is a good way to separate RMT currency from non-RMT currency. For example, you can have "Coins" which are earned in-game, and "Cash" which is made available by spending real money. You can choose to sell items in a store using either currency, or both.
Lockers (Inventory)
Facebook Deployment
To deploy your game on Facebook, complete the Facebook Deployment configuration in Stack. Before this information can be filled in, you need to create a Facebook app.- Go to http://www.facebook.com/developers/
- Set up a new application.
- In Basic Settings, copy the Application ID, API Key, and Secret to the Facebook application settings in Stack.
- In Canvas Settings, set the Canvas Page URL and copy it to the Facebook application settings in Stack.
- Set the Canvas Callback URL to the URL displayed in the Facebook Deployment instructions in Stack.
- Set Render Method to iFrame.
- Set iFrame size to Resizable.
- Set Canvas Width to Full Width (760px).
- Set Quick Transitions to On.
- In Connect Settings, set the Connect URL to http://drunleash.com/
- Save your settings on Facebook and Stack.
Using Google Analytics
- Go to http://www.google.com/analytics/
- Sign up for a Google Analytics account. We recommend you create a new Google email address for this as we will require the password for that email account in the future. This will enable us to present your analytics inside our dashboard.
- Create a profile based on http://drunleash.com
- Enter the tracking code from Google in the tracking code field on Stack.
- Check the Enable Google check box on Stack.
- Submit your changes.
After you've completed these steps, you can record any analytics you need by executing a call from your game to the JavaScript on the surrounding page. The JavaScript function is "record_analytic(key, value)". Keep in mind that this only works for in-game analytics and will not track any social or viral analytics.
Payment Gateway Services
If you're looking to make money on your game you will need to use a payment gateway. SuperRewards is the gateway provided by dimeRocker. To use SuperRewards you will need to create a Real Money Transaction Wallet. Your game can only have one RMT Wallet. This currency will automatically be linked to the payment gateway. Users can then purchase that currency via the payment gateway. Then you can make items linked to the wallet so they can be purchased using the RMT currency.
To bring up the payment gateway for the user, you need to use StoreFront API's ShowRMT/Hide RMT functions. Showing RMT will hide your game and replace it with the payment gateway options. With SuperRewards your users have many options available to pay (credit cards, pay-pal, mobile phones, stored value cards), including an offer wall where they can take surveys, etc, and earn the currency that way (SuperRewards pays you instead). In most cases the transaction will process within 15 minutes, but in some cases (depending on the payment method) it can take longer.
dimeRocker Master Server (Unity)
The Unity Master Server is used for polling and connecting peer-to-peer multiplayer sessions in Unity. To use the dimeRocker Master Server, choose Create dimeRocker Object from the dimeRocker menu. Click on the newly created "dimeRocker" game object; in the inspector there is a checkbox to enable the dimeRocker Master Server.
MasterServer.ipAddressMasterServer.portNetwork.natFacilitatorIPNetwork.natFacilitatorPortNetwork.connectionTesterIPNetwork.connectionTesterPort
