This is my first topic here, so my apology if I am doing something wrong!
I am currently developing a new 2D mobile game with Monogame 3.2.2. The first target platform is Windows Phone, but maybe later I will port it to Android and other platforms. I have not found any articles about how can I create patch(es) for an already existing game (e.g. a game that is published in the Windows Store). Is it possible to create a patch and if it is, then what are the main steps and/or tools to do it?
The same question will apply for expansions, but maybe the two solutions will be similar.
There are no patches as such for mobile apps. There are updates. Updates are built in the same way as your first published version. You then upload and publish the app update. It goes through the same certification process as the first version, and once published the users are notified of the update and it will be downloaded to their devices. This is the same across Windows Phone, Windows Store, iOS and Android.
Take a look at the developer documentation for each platform to get more information on publishing app updates. There are certain requirements such as incrementing version numbers, signing with the same key (iOS and Android), etc.
Expansions (paid or free) are not handled via the app stores. If the expansion contains code, it must be submitted through the regular app update process as it needs to be certified. Extra data can be downloaded by your app from your server that the game can use to provide extra levels or gameplay. Your app would download it and save it to local storage.
Thank you very much for your answer! Just one more question:
“Updates are built in the same way as your first published version. You then upload and publish the app update.”
Does it mean I have to upload the whole game again? Even if I have changed one variable in my smallest class library? Because it seems very redundant for me and on the other hand, it seems useless to download the whole game again that can be more than 1mb for a small change that could be 1kb.
Windows Phone apps are compiled by Microsoft on their own servers before the user downloads the game. The user then ends up downloading this compiled package. This is done to simplify things; it’s harder to pirate apps (impossible atm), and the phone doesn’t need to have a compiler, just the runtime. These packages are also encrypted so there’s not even the possibility of binary delta updates.