GameSparks Support Thread:

Hello Everyone,

Oisin from GameSparks here.

We’ve noticed a few topics relating to GameSparks popping up here and there and decided it would be best to try consolidating it all into one thread.
My aim with this thread is to keep the top post updated with the latest info, while users are free to ask any questions they wish in the posts below.

I’ll fill you in on what we offer and leave the comments open for further questions.

What is GameSparks?

GameSparks is a cloud based platform that provides you with the tools you need to build all of the server-side components of your games and then manage them as a service post launch.

GameSparks Features:

Core:

· Cloud Code Editor: (Add Logic, build your own API)
· Cloud Data: (Define MetaData/Runtime Data Structures)
· Binary Asset Manager: (Manage DLC, No more waiting for platform holders to approve your content)
· Push Notifications:(Setup all notifications from one centralized backend, localize global campaigns )

Social:

· Real time and Turn based multiplayer: (Reduced latency, highly scalable)
· Chat: (Cross-platform chat, p2p and group)
· Leaderboards: (Rank any aspect of player performance, highly scalable)
· Social Network Integration: (Pull Data from Facebook, Twitter, Google+ and others)

Economies:

· Currencies: (Up to 6 currencies. Manage rewards to increase retention)
· Virtual Goods:(Create and manage in-game store without need for client updates)
· Rewards and Achievements: (Easily manage both, a great way to drive engagement)
· Optimisation & Management:
· Analytics: (Completely customizable, build reports for almost any conceivable event)
· Segmentation: (Group players with Segments for analysis. Optimise monetisation by age, location, anything you want)
· Experiments: (Make drastic changes to game mechanics and only expose who you wish to those changes.)
· Player Management: (View player history and summaries of acti vity. Edit player records, reward top players or remove unwanted players)
· Dynamic Form Builder: (Custom forms for Community Managers and Game Operators to get the most out of GameSparks)

We will always be available to answer any of your questions here on the Unity forums or you can find the answers on our own portal, forums, or our docs site.

Looking forward to hearing from you!

Oisin.

4 Likes

I've checked out GameSpark and it looks like it is very well built by an experienced team. I have a few questions that might be on other people's mind:

  • Can developers upload their own server .exe to run for real-time servers?
  • Is there a matchmaking system that can use an Elo system to pair players?
  • GameSpark seems to provide many features PlayFab does so would it be okay to say PlayFab is a competitor?
  • If so, what does GameSpark have over PlayFab and vice versa?
  • I noticed that GameSpark charges by MAU. Does this consider the player who logs on for 1 short game a day the same as one who plays many hours/day for the costs?
1 Like

If I have my own relational database design, could I host it on GameSparks servers and how could I integrate it with GameSparks data such as player data etc.

If I can't host the database on GameSparks servers, would I be able to design my own relational database using your Cloud Data: (Define MetaData/Runtime Data Structures) ?

1 Like

Hi jpthek9,

Thanks for the questions,

Let’s get the monetary stuff out of the way first:

We offer a spike-protection system for charges*, if someone buys a game and only plays it once they don’t get counted; they need to play again after 24 hours of the original login to the game.

We also offer a DAU pricing structure depending on your needs, whichever works out cheaper for you on any given month is the one we offer.

To answer your other questions:

An Elo matchmaking system could be supported by GameSparks but you would have implement it yourself. The ability to upload your server .exe is not supported at this time.

As for what we offer compared to competitors, we have led the way when it comes to offering many of the features that our competitors have only recently begun to implement.
One of our primary features -The Test Harness- allows you to test all in-game functionality before you make changes to the live game. None of our competitors have offered this to date.

Do we consider PlayFab a competitor?
While it’s true that they offer similar features to us, we have found that people who have used both of our services say that ours has a greater feature set and is easier to use.
We also offer more SDKs.

We’re pretty sure that if you were to do a thorough evaluation between the two of us you would work out for yourself that we are the platform to go with.

Thanks,

Oisin.

  • Spike Protection offered as part of our Enterprise Package. For more details on this feel free to contact me.

Hi Meltdown,

GameSparks makes full use of the MongoDB NoSQL databse with which you can make custom collections and documents to your liking.
We don't put any restrictions in place with what you do with it.

For a closer look you can check out our API documentation here and here.

Thanks.

Oisin

1 Like

Unity3D now supports IOS 64-bit with a new compiler "IL2CPP" (http://blogs.unity3d.com/2015/01/29/unity-4-6-2-ios-64-bit-support). This was required for all new iOS releases starting Feb 1, 2015 (https://developer.apple.com/news/?id=10202014a). When I upgraded to Unity3D 4.6.2p1 and turned on the IL2CPP compiler and found that network connectivity to GameSparks is broken. Switching back to "Mono2" fixes this, so the problem is clearly linked to the new compiler and GameSparks.

Unfortunately this means that no new iOS Unity games can be released by anybody until this is fixed! I can't find any references to this in readme files, forums or elsewhere. Any information on when this will be addressed?

Hey Oisin,

I noticed you have have real-time multiplayer. How does it compare to PUN (Photon Unity's plugin). Does it include room management and things like that or are those things we'd have to implement ourselves?
Do you have different pricings if not all features are used (ie. if I don't use real-time multiplayer)?

Hi rtargosz,

We are aware of this issue and a fix is already in the works.
Thanks for pointing this out. I'll keep you updated with regards to when the fix is due.

Thanks,

Oisin

1 Like

Hi supremegrandruler,

We are currently optimizing our real-time multiplayer features to be the lowest latency available on the market.
We're aiming to have room management and built in matchmaking by Q2, in the meantime though it is still possible to implement manually using the challenges system.

Thanks,

Oisin

1 Like

I've tried out GameSparks a bit more and I really like the Cloud Code interface and workflow. The pricing method is great and much cheaper than PlayFab's when the numbers get crunched. Everything's there for developers - accounts, currency, micro-transactions, and custom server logic.

I think something many people are dying to know is when Q2 will be released. I want to start testing my game!

Hi,

I'm new to gamesparks and am trying to integrate its login without any social network (GameSparks' own username/password that is). So far I've more or less managed to get the result I want, however I have couple of problems.

The system I currently have works in the following way:
When a player presses a leaderboards button for the first time, two textInputFields appear where the username and password must be written. The window also has three buttons - "REGISTER", "LOGIN" and "CANCEL". When the username/password fields are filled in, if the register button is pressed the username is registered (unless it's taken) and if login is pressed, the player logs in (if the password matches the username). After that the same button opens up the leadboards but has an extra button which enables players to relogin as someone else.

My first problem is, if I log in as Player1, then play the game for a while, and re-login as Player2, all the PlayerPrefs get deleted.

Below is the code for Register and Login methods

Register:

public void Register()
{
SetInput ();
new GameSparks.Api.Requests.RegistrationRequest().SetDisplayName(gsUsername).SetUserName(gsUsername).SetPassword (gsPassword).Send((response) =>
{
if (response.HasErrors)
{
print (response.Errors);
// if usename is already taken the do
// feedbackText.text = "username already in use,\nplease choose another one";
}
else
{
feedbackText.text = "Registration Successful!";
Invoke ("CancelButton", 1.5f);
}
});
}

Login:

public void Login()
{
SetInput ();
new GameSparks.Api.Requests.AuthenticationRequest().SetUserName (gsUsername).SetPassword (gsPassword).Send((response) =>
{
if (response.HasErrors)
{
print (response.Errors);
//if username and password don't match, say that they don't match
}
else
{
feedbackText.text = "Login Successful!";
Invoke ("CancelButton", 1.5f);
}
});
}

My second problem is, for some reason, Log In works if you enter the same number of characters as in the password. Even if my password is "lion" and I enter "lama" it logs me in... how do I fix this?

Thanks in advance

Hi Sandro,

For the visibility of users here, I am going to paste in the answer that Shane from our team gave you on our forums.

[quote]
Hi Sandro,

First Problem:

I assume you mean the Unity PlayerPrefs? This should definitely not be happening but I've been unable to replicate myself as of yet, I will keep testing though and get back to you if I can replicate it.

Second Problem:

To figure out what errors are being returned you can do the following:

public void CreateNewUser()
{
new RegistrationRequest().SetUserName("userName").SetPassword("password").SetDisplayName("userName").Send((response) =>
{
if(repsone.Errors.GetString("USERNAME") == "TAKEN"){
Debug.Log("Username already in use, please choose a different one");
}
});
}

You can see what errors to look out for on our Documentation site:

https://docs.gamesparks.net/documentation/request-api/authentication-request-api/registrationrequest

https://docs.gamesparks.net/documentation/request-api/authentication-request-api/authenticationrequest

Shane
[/quote]

Regarding your second issue,

That is not a problem we are having here, I've tested it on several projects and I haven't been able to recreate it.
Have you been able to replicate it in the test harness?

Thanks,

Oisin.

Thanks Oisin!
I think it's best for us to continue the discussion on GameSparks forums and post the final solution here to avoid flooding this thread. I posted here in hopes to get noticed sooner since i'm a bit in a hurry.

Update:

The first problem was not of Gamesparks but mine alone. Turned out there was a function somewhere that deleted all playerPrefs when the "A" button was pressed and I totally overlooked it.

The second problem kind of went away by itself (at least for now) but the reason is still unknown. I can login fine with the new users that I create, but the old ones remain inaccessible.

Gamesparks is certainly looking like the cream of the crop!

What's most impressive is their multiplatform support, including Web Player, WebGL and WP8, something most of the other services don't even offer.

I would really appreciate if this you could answer this problem,
https://support.gamesparks.net/support/discussions/topics/1000065234

Open a new ticket with Gamesparks and ask them to answer it.

Hi Oisin,

We are currently using PhotonEngine (PUN) for our Real-time networking (which we are happy with) and strongly considering integrating GameSparks for all our user / game manager functions. A big draw for us is your focus on cloud scripting, versioning control and server/API testing. We are only 2 months away from game launch so switching to a new provider for game management is a big decision. A few quick questions:

  1. Low friction login is essential. When a player opens the game for the first time we use their device ID for an anonymous login, then prompt for a username and (optional) password/Facebook/gamecenter after they have completed the tutorial stage. Therefore, we want to write this new data to the active anonymous account. I read an old post that this may not be a simple task using Gamesparks, hopefully it is now?

  2. I have noticed that there are quite a few gamesparks forum questions without answers for over 10-days. What is your usual response time for tickets?

  3. Pricing - So what i gathered from other forum questions is that in order to negate user spikes and offer balanced pricing a registered MAU on Gamesparks for invoicing purposes is a Unique User within a month but to be counted for invoicing they must have opened the game more than once since downloading it. Is this correct?

Cheers

Worrying that GameSparks have no responded in almost 5 months.

I'm looking at alternatives to Parse but support not looking too good for GameSparks if this thread is anything to go by.

1 Like

Support is live and well on their own forums, ask any questions you have there.