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
C
Customer Support
said
almost 4 years ago
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.
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.
Y
Yaser Saqib
said
almost 4 years ago
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?
Customer Support
said
almost 4 years ago
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
Y
Yaser Saqib
said
almost 4 years ago
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?
Customer Support
said
over 3 years ago
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
Yaser Saqib
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?
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.
- Oldest First
- Popular
- Newest First
Sorted by Oldest FirstCustomer Support
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.
Yaser Saqib
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?
Customer Support
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
Yaser Saqib
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?
Customer Support
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
-
Documentation Notes
-
Design issues with user events
-
Using NoSQL
-
Runtime Collections vs Metadata Collections
-
Anonymous authentication from browser app
-
Modules
-
Movement With Unity
-
Problem with url parameters for downloadables
-
Querying NoSql GameSparks database
-
Challenge accesType
See all 2476 topics