LiveUpdate clarifications

Hello all,

I’ve been reading through the LiveUpdate documentation and also watching the videos and there’s a few things that are still unclear to me.

I see that we specify the files that the client download via LiveUpdate and those are included in the manifest, but do those files/resources need to match a checksum?

I first thought that LiveUpdate would allow me to later add new attacks, monsters, map expansions, etc… that I had not yet created, but I’m unsure how this works.

Is the idea that you create a bunch of dummy files for graphics, code, sounds and populate it with data later through Amazon/HTTP? And if you run out of dummy files, then you just push a new client update?

Let me know if I need to clarify anything. Thanks!

Yes, we verify the validity of any downloaded and missing resources when you use resource.store_resource(). If what you are trying to store doesn’t match the checksum specified in the application manifest you will get an error.

Yes, this is the idea for Live Update. Live Update can be used in two ways:

  1. You specify that one or more collection proxies should be excluded from the application bundle.
    • You put the excluded content somewhere for access by your players
    • Before loading the collection proxy you check if you have any missing resources
    • If there are missing resources you download and store them
    • Once all missing resources are downloaded and stored you are able to load the collection
    • This setup is perfect when you need a small initial download and then as the player starts to play your game you download additional content/levels.
  2. You start with the scenario defined in #1 above, but you also modify the excluded content after release of your game. In this scenario you start by checking for and downloading a new application manifest with new checksums for missing and/or modified content. You then proceed with the steps from #1.
    • This setup is perfect for live-ops and tweaking of existing content without having to do a full release of your game to the app stores.

Scenario #1 works perfectly as it is right now, but we still have some issues with scenario #2 that we are currently looking into. You can read more about this here in this recent thread on the live update feature: LiveUpdate philosophy

3 Likes

It sounds like I would need solution 2, then. I plan to add brand new content after the game is released, so there would be nothing for me to exclude, since it doesn’t exist yet. Creating dummy files for new content (DLC01, DLC02…) in each of the sections to reserve space for changed files makes sense. Of course, running out of or adding to reserved spaces would require an app store update, which is fine.

Do you think that this method would be platform agnostic? I don’t know how strict iOS is when it comes to loading new content in that manner.

Mostly platform agnostic, but platform providers may not appreciate if the changes/additions turn your game into something completely new. On consoles these kind of updates are completely forbidden.

2 Likes

Very good to know. I may have to just forgo the live update concept and focus strictly on pushing app store updates. To keep clients synchronized, I’ll probably just unlock the content using a server flag once all platforms updates are confirmed ready.

Thanks again for your help and insight, @britzl.

1 Like