Unity3d: Survival The Game|Issues and troubles

Hey everyone! All you unity3d users out there! I have been trying  to develop a patching system for Survival, but am blank on any ideas about how to send out the patches without having to “Download” from the site. Any suggestions out there?

-crash

10 thoughts on “Unity3d: Survival The Game|Issues and troubles

  1. Triangle717 says:

    Define “download from the site”. Ideally, your updates contain only the changed files. An update utility then downloads a small file from a server, reads it, checks if there is an update (usually by comparing the version numbers), then download the changed files from said server and installs it.

    I’m no unity programmer, but a Python programmer. I’m currently writing an updater, but I’m not sure if it can be reperposed or not. It’s is still far from done. If you’re not wanting an cross-platform, I know an Windows-only updater that is pretty easy to use.

    1. crashheroicpepper1 says:

      “Download from site” as in going to our site, clicking a link to download file, i would prefer to have a program check for updates automatically and update the files. Also, i am looking towards cross platform, is there a way to do a unity project or scene that would check for updates?

      1. Triangle717 says:

        Thought that is what you meant.

        Like I said, I’m not Unity coder/artist, but you would have a separate utility that users run to check for updates. Use the WWW API (http://docs.unity3d.com/Documentation/ScriptReference/WWW.html) to download the file containing the newest version number and download link to the archive containing the changed files (called a delta update). Read the file, and compare the version to the in-game one. If there is a newer version, say so, and ask for permission to update (unless updates are mandatory, but still tell the user). Download the archive, ensure the game is not running (close it if it is, or tell them to and wait for it to be closed), and extract the archive to the installation path (have some way to store the game path and refer to it). Delete the text file and archive when done. Your game is updated. You may want to make updates cumulative, that way if the user is running 1.0, and the newest is 1.2, it will download 1.2 and not have to do 1.1 first and you have to deal with lots of versions to manage. This should be easy, as all updates are cumulative, even if stuff is removed (like unused assets). Unless, of course, you allow others to download old versions.

        IDK how complex this is in Unity, so a standalone updater in a cross-platform language may be better, but take a whack at it if you wish.

      2. Triangle717 says:

        Well, like I said, I’m writing an updater ATM. Uses Python, which is cross-platform (though I only have Windows, so cross-platform would be later). It is not complete yet, so if it were be adapted to your game, it might be a while. I just looked, and it seems you might have to code it up yourself. I couldn’t find any good free updaters, and the one for Unity I found is $125. Who knows, I may convert my updater into an API, bit that will be a while. You might have to do use separate Windows and Mac-only updaters unless you write your own code.

      3. Triangle717 says:

        Here is that Windows-only updater I was talking about:

        http://gup-win32.tuxfamily.org/

        Like I said, very simple and easy to use. If you use Notepad++, then you’ve used it: it was originally designed for it. I’ve never used it myself, but it’s pretty simple to set up, the How page and the txt files in the download explain everything. I probably should have used it, but I wanted a cross-platform way for future-proofing, and I didn’t think about it before I implemented a incompatible method. Oh well! 😛

  2. shafirsabbag says:

    I am not 100% sure what patches are, but if you want to release your game without having to download, has you tried to make a webplayer? I am not sure how in detail, but it should be possible. I mean Lego Chima Online is a Unity webplayer for example.

    1. crashheroicpepper1 says:

      I know how to make webplayers, but the issue is, we use a plugin called Unity Serialization, which saves the game onto game files, therefore, they would never be able to do their saves, and they would lose all progress, we dont have servers to host saving on.

Talk to the Universe!