Sign In Register

How can we help you today?

Start a new topic
Answered

Updating content through GameSparks

Hi guys,

I'm building a fairly large project with a great team and am using GameSparks as a back-end and just need some advice or confirmation that some of the features are a possibility.


What I've been advised to avoid is client updates, which causes a huge drop off in players, and for this reason we are doing many things differently. 


One of the aspects of this is content updates. We want the player to have new items, crafting tools and more without having to update the game. So what i mean by this is : 

Scenario:
Designer wants to add a new hammer with +50 damage buff, and some other properties.  

Q1.
 Is it possible for us to be able to update through cloud-code or events and have this appear in all our players(or sometimes specific players) games without updating the client? 


Q2.
Should i build some sort of separate web interface that communicates with said cloud code, or is it possible to do this in its entirety in GameSparks? 


Best Answer

Hi Yaser, 


To answer your first question: 

This is very possible. Virtual goods/ items such as those you mentioned can be added in GameSparks without an update required client side. 

however this requires the use of 
    a) Collections and events 

or

    b)Managing collections through dynamic forms. 


The tutorial for option b is here : https://docs.gamesparks.net/tutorials/dynamic-forms-tutorial

 


To answer your second question:

We have a management system specifically for this so you can use GameSparks for all of what you have mentioned. 

If you have any further questions we are happy to help. 

Regards Patrick. 


Answer

Hi Yaser, 


To answer your first question: 

This is very possible. Virtual goods/ items such as those you mentioned can be added in GameSparks without an update required client side. 

however this requires the use of 
    a) Collections and events 

or

    b)Managing collections through dynamic forms. 


The tutorial for option b is here : https://docs.gamesparks.net/tutorials/dynamic-forms-tutorial

 


To answer your second question:

We have a management system specifically for this so you can use GameSparks for all of what you have mentioned. 

If you have any further questions we are happy to help. 

Regards Patrick. 

Hi Patrick,

Thanks for the detailed reply and the tutorial links. Really great to see that it's a possibility and that you have it implemented into the system in such a clear and concise way.

Options A and B look fantastic and i see that Dynamic forms is pretty much what im looking for. 

One last q: How would this be achieved with collections and events? 

Hey Yaser,

I would advise that the client does some requests to the game for a collection of items that are currently in the game. This  could be done in a store or in a loot-drop table, it really depends on where your hammer example is in the game. This request is an event.

 

In the cloud code for that event you can  query the collection which has a list of docs with data relating to all items. You can query to filter for this hammer if you want, or really any attribute of these items.


The cloud code then return the details about the item(s) you've got in the event response, and you can parse this response into data in the client.

If you want to add new items you can then create a management tool to add new items and even add the models, unity-packages or images as downloadables so that if it is a new item, the client can save the item data locally the first time it receives it, so it doesn't need to download the item data each time it makes the request.


Does that help?
Sean

So there are multiple types of data that are going to be updated throughout the games life cycle. We have for example NPCs that will have changing stats, according to player input, as well as things like a decay of stats over a 24 hour period.  Cosmetics from a market system that require 3-4 days to arrive(timer), daily loot, rewards and craft recipes that require 3-4 hours to build. The quest system which will target certain aspects of the gameplay to allow the player to follow a narrative or simply unlock new cosmetics or loot. 


If we are setting up a system that is essentially code-sharing with the server. How can we write the entirety of the logic on the back-end? As far as ive seen with the examples so far, there is loading and saving of data, with persistence against a player ID, on a runtime collection. Can you use cloud code to build the entire game on the back-end? Or has there got to be some essential system in place on the client? 

"If you want to add new items you can then create a management tool to add new items and even add the models, unity-packages or images as downloadables so that if it is a new item, the client can save the item data locally the first time it receives it, so it doesn't need to download the item data each time it makes the request."

When you're talking about building a management tool, is that in reference to the dynamic forms?  How would i be able to communicate with asset bundles or downloadables through DF or a management tool? 



Hey Yaser,

Yes, i mean dynamic forms.
However, you cannot dynamically load downloadables into a dynamic form (thats a mouthful i know), but you can load the asset through the portal and then add the shortcode for the downloadable to a form which will have other information that the client can use to know which package to download at the right time.

The answer to the first question is 'yes', you can do all those things you metioned through cloud-code. You could technically code all the game 'logic' in cloud code if you liked you can see a simple example of this on this tutorial here using a OXO game where the back-end checks all the logic and the client is effectively just a UI. You can also send json data via an event from client to server, so you are covered with pretty much every type of data you'd want to send.

Please let us know if you have any more questions.
Thanks,
Sean

 

Login to post a comment