Attn: Team OUYA, a TRC Proposal, Handling Save games better then Google

VicariousEntVicariousEnt Posts: 63Member
edited January 2013 in ODK (OUYA Developer Kit)

Dear Team OUYA, perhaps you guys have something in the works in this department, but if not please hear me out. One of the biggest problems on the Android marketplace with games currently, is how save games are dealt with. Or more specifically how they aren’t regulated at all. When it comes to purely digital media, value is immensely important to the consumer. On Android phones and tablets (and I assume similar Apple products), when you upgrade to a new device or get your current one repaired (which results in its internal memory being wiped), you can re-download all of your purchases from the marketplace as of course your account keeps track of what you have purchased and own, but your save games are lost forever. This greatly devalues our products. Players spend hours, if not days to weeks unlocking content in games, getting high scores, and proceeding through the game. Those save games represent the time invested into our games, and it really sucks when we loose them (trust me, my Sony droid’s screen just died for the 2nd time in 3 months and is in the shop again, ugh).

Now I’m sure OUYA systems with their whole 2 moving parts and giant CPU fan will probably prove to be very reliable, but its best to plan for the worst and I’m guessing there will be a new OUYA system with the latest and greatest tech every couple years. I urge you not to leave save game handling up to the individual developers as Google has done on mobile. I suggest having a TRC that regulates all save game data to sub directories inside a master save game directory on the main storage unit. And then either allowing access to that folder so we can manually back it up to a flash drive\usb hd (and without having to root the system), or build a UI into the Launcher that will allow backing up and restoring all save game data. Thank you for your time.

Post edited by VicariousEnt on

Comments

  • DreamwriterDreamwriter Posts: 768Member
    edited January 2013
    ...and thus remove all possibility of developers being able to use save-game files to protect the security of a game's save data from being hacked, for a feature that a very small percentage of gamers will ever care about.
    Post edited by Dreamwriter on
  • ThinksquirrelThinksquirrel Posts: 20Member
    This isn't too bad of an idea, but it should remain optional. Sometimes you don't want to share data between devices (or in this case, consoles), even for the same user. As far as security goes, as long as the data can be encrypted on the developer's end, this should be pretty much the same as having save game files.
  • KonajuGamesKonajuGames Posts: 560Member
    It's not "as Google has done on mobile".  It's almost every platform on the planet.

    Please learn to use paragraphs.  It makes the message a lot easier to read.
  • VicariousEntVicariousEnt Posts: 63Member
    ...and thus remove all possibility of developers being able to use save-game files to protect the security of a game's save data from being hacked, for a feature that a very small percentage of gamers will ever care about.

    How so? I'm just suggesting save files go in a designated save file area, you'd be free to encrypt your files and dictate your format any way you want.

    It is possible to find save game data and back it up manually on Android games, but its a royal PITA and often games will not recognize the data once they've been redownloaded anyways.

  • VicariousEntVicariousEnt Posts: 63Member
    This isn't too bad of an idea, but it should remain optional. Sometimes you don't want to share data between devices (or in this case, consoles), even for the same user. As far as security goes, as long as the data can be encrypted on the developer's end, this should be pretty much the same as having save game files.
    Its the optional part that is the problem. Again, there are Google Play games that have the ability to import and export your data\savegames, but since its not enforced almost nobody does it.
  • VicariousEntVicariousEnt Posts: 63Member
    edited January 2013
    It's not "as Google has done on mobile".  It's almost every platform on the planet.

     
    Please learn to use paragraphs.  It makes the message a lot easier to read.

    First off, please learn to use paragraphs? Wow, thanks for getting off on the right foot there.

    Second, we're talking about platforms whose software is exclusively delivered digitally via downloaded here, which is actually a pretty small list of platforms (though sure to grow). XBox Live has TRCs for handling save game data. When you uninstall a downloaded game you leave behind the save game files, and browse to them and back them up. And when you send in your Xbox for servicing you unattach your hard drive and retain your data. This is an issue devices with fixed storage and digital distribution have yet to handle properly. At least Google hasn’t. They now attach all of your email, contacts, browser links, etc with a google account and cloud storage, but save game data has been left out. Even if you transfer all of your games to SD Card your data will still be lost or ignored when you reinstall your software on your new\fixed hardware.

    I'm guessing OUYA won't even ship with a file browser installed out of the box, even Android 4.0+ doesn't now. Having a way to back up your save games is essential. Losing all of your progress\replays\etc every time you upgrade to the latest greatest OUYA (or send it in for servicing) is unacceptable, and is a very serious (and frequent) problem on Android phones\tablets (and I assume Apple ones too). Yes, it will be a much less frequent problem on OUYA, but it is still a problem.

    I still have save game files on flash memory cards from my PS2 that I’d be pretty choked if I lost (I could go much further back, but I won’t date myself any further ;)).

    Post edited by VicariousEnt on
  • DreamwriterDreamwriter Posts: 768Member
    edited January 2013
    How so? I'm just suggesting save files go in a designated save file area, you'd be free to encrypt your files and dictate your format any way you want.

    It is possible to find save game data and back it up manually on Android games, but its a royal PITA and often games will not recognize the data once they've been redownloaded anyways.

      That's exactly my point, if I don't want someone hacking their save file, then I don't want to make it not only super easy but a built-in system setting to allow the player to copy it to a different device they can then open it up on PC with or give to their friend to install on his OUYA.  And this affects a very small amount of people because most people don't care about a game's saves once they are done playing through the game, let alone when they buy a brand new game console with all new games that take advantage of the new console's features.

    Sure, there are some, and I'll admit that at one point I was one of those, keeping all my Xenogears saves so I could replay the story by loading old saves, but it's a tiny percentage of users especially these days.  And those few can keep their old OUYA's if they really care about their saves that much, for games that don't allow it.  Or they can go to that effort you say is possible.

    Post edited by Dreamwriter on
  • KonajuGamesKonajuGames Posts: 560Member
    Xbox, Xbox LIVE, PS2, PS3, Gamecube, Wii, Windows Phone...  been there, done that, dealt with all those TRCs, TCRs and Lotchecks.  The last few Xbox LIVE titles I've worked on have had online storage of game state, so you could pick up and play on any device and also transfer game state between Xbox 360 and Windows Phone.  Online storage of game state is a better approach and not difficult to implement.
  • VicariousEntVicariousEnt Posts: 63Member
    edited January 2013

    I'm not sure what you're arguing there, but I think I agree with you?? I'm not concerned with what method they go with, but they have to do something more then what has been done with the mobile market.

    And Dreamwriter, your point is completly moot. This is a pretty open system, if you're that concerned about secuirty, you are developing for the wrong system. Trust me, if someone wants to hack your save games, the most you can do is slow them down. Again with my suggestion, they don't actually have to provide direct access to the save game area on the main drive, just a UI option to export\import to a connected device, and they could even encyrpt the entire package. Alot of current Android games already save their data to removable media, its just damn cryptic finding and identifing it (not like the old days on pc where everygame has a "Savegames" folder). You're kidding yourself if you think players don't care about their save games (you are not your market).

    Back to my personal example with my phone thats in the shop, I've bought probably a dozen games off the Play Store in the last year. Wreckless Racing, Zombie Highway, Mini Motor Racing, Aparatus, etc. All great games that I've really enjoyed, and in most of these I've gotten almost all the way through, put in untold hours of gameplay but still had some things left to do and I would enjoy going back to them every now and then. But I won't, because since having to redownload them I've lost all of my data and I'm not willing to start over from scratch with the out of the box unlockables or redo what I've already spent weeks doing. These games are dead to me, they are now disposable in my eyes. And this is an image problem the mobile market has been facing for awhile (not at all helped by 1-3 dollar price tags). I don't know about you guys, but I want to make classic games on OUYA, games people are going to want to keep around and go back to to play years down the line, not disposable shovel ware.

    There are no dedicated game consoles out there that have this problem. Whether it be storing save games on flash media, cloud storage, battery backups on a cartridge or to an easily accessible section on the hard drive where the user can manually back up their saves, every serious game system out there has a solution for this issue. The only reason this issue even exists on mobile is because Google is not primarly a game company and gamers are either not important enough to them or they are suffering from short sightedness. The big three wouldn't get caught dead in a scenario like this (and never have), and if OUYA is serious about competing with them they need a solution for this problem ASAP. It may not be a huge problem right away, but warrenty repairs are going to happen (and in most cases they will just replace the entire mother board, internal memory and all) and you know there will likely be an OUYA 2.0 in a couple years if this thing is at all successful. This is something that requires some reconfiguring for those porting their games from mobile right now, so hopefully they do something about this soon so we have time to comply before launch.

    Post edited by VicariousEnt on
  • HicsyHicsy Posts: 177Member
    XBL FTW. I love going to a mates place, sign in with my Live acct and race against them using MY cars... Steam does it OKAY too but XBL is awesome plus i love the (potential) manual control of what goes to cloud.
    Can't find aapt.exe? Temp fix: Copy another one from 'android_sdk/build-tools/17.0.0' back to your 'platform-tools'
           -=Hicsy=-
    PM me        Facebook

  • VicariousEntVicariousEnt Posts: 63Member

    You can run into this issue with bugs in games too. My saves for Zombie Highway were actually lost due to my install of it getting buggered up. I was forced to reinstall it to get it running again and of course there was no simple way to backup my data first so I lost all my progress.

  • mjoynermjoyner Posts: 168Member
    Android has a built in backup service that your app can register with that uses "callbacks/intents" that works if the user enables backup of their device. The backup data is associated directly with the user account and not the developer's account or anything related to the developer's equipment/servers/etc.

    When a device is restored, or an app is removed then reinstalled, or installed on another device with the same account, the app receives notification(s) via "callback/intent" with the data to be restored. This can be arbitrary data, including PREFS, FILES, etc.

    If OUYA can offer something similar, then all that is needed is a proper guidelines doc to follow for those wanting to enable something like this for their games. Actual backup storage, programming, transport all handled by OUYA API.

    As the Google API seems pretty simple for a dev to use, mimicking it probably would be a very good idea. If able to get the "intents" close enough, might even be able to use Devs might be able to use identical backup/restore hooks in their games and apps between the two platforms.


    http://developer.android.com/guide/topics/data/backup.html
  • VicariousEntVicariousEnt Posts: 63Member
    Sounds good to me. I just think it should be required for all OUYA games from the get go. Its obviously not on mobile, and thus we have this problem
  • KonajuGamesKonajuGames Posts: 560Member
    Sounds similar to iCloud on iOS, which perhaps unlike the Google API, is painful for devs.  The concept isn't painful, but the iOS API to use it is.
  • DreamwriterDreamwriter Posts: 768Member
    edited February 2013

    Seems to me the opposite is the case - it's not a constantly updated / frequently dropped mobile system, so it isn't a problem, definitely not one that should be forced on all developers all of the time.  Developers should be able to choose if they want to spend 1 to 4 days working on this rather than on more important parts of their game (I'm basing that time period on how long it took to get the OUYA controls and in-app-purchasing working using the OUYA API).

    Maybe OUYA could go with the Nintendo 3DS route - they eventually released an app that'll transfer all local storage from one 3DS to another, no need for developers to support anything, no need to copy any sensitive data (ie passwords) to a removable device.  They did this shortly after the availability of the second 3DS model, the 3DS XL, which is why they did it.

    Post edited by Dreamwriter on
  • VicariousEntVicariousEnt Posts: 63Member

    There's a similar kit for moving from 20gb 360 hds to the bigger ones when you upgrade, but thats a PITA. People should be allowed to backup whenever they want.

    Yes OUYAs will be damaged less then cell phones. In theory anyways, there's already two people on these forums who have dropped and damaged theirs. Also they are so small and portable they are going to be transported alot more then your average console. However since OUYA is based on off the shelf cell phone tech, tech which evolves to the next generation at least once a year, that means there is certainly going to be another OUYA in the future and it will be much sooner then the standard video game console production cycle. I personally don't want people to stop playing my games because they've updgraded to the new system and don't want to have to restart from scratch. I'm sure each developer could implement a system themselves to manage exporting their data to a USB device, but its something that should be standardized and universally applied to all games and handled through the system launcher software.

  • bluecollarartbluecollarart Posts: 75Member
    @Dreamwriter:
    I think part of the idea is to include tools in the ODK to help developers handle game saves, thus actually making it easier, not harder. It's possible there is a middle-ground, though; include a standard save-game model that is as easily implemented as possible, with tools & documentation included in the ODK to enable that process, but allow games that don't follow that standard to be accepted, as well.

    I do understand the issue that you're talking about with standards, VicariousEnt, and how often if there's an optional program, then no one takes part in it, but it may be best to err on the side of developer freedom here. Whatever the standard game-save implementation used, I'm sure there would be some game that could benefit if it didn't have to conform to it. And it'd be a shame to lose out on that.
  • apLundellapLundell Posts: 35Member

    @Dreamwriter:
    I think part of the idea is to include tools in the ODK to help developers handle game saves, thus actually making it easier, not harder.

    That only makes it easier if you're designing a game from the ground up to be Ouya-Only.

    What makes life easier for the rest of us is as much compatibility with standard Android as possible.

    Giving us a mandatory save-game function that only works on this console would be a pointless barrier to entry.
    @apLundell   <-- Follow me!
  • achurchachurch Posts: 5Member
    apLundell said:

    What makes life easier for the rest of us is as much compatibility with standard Android as possible.
    (emphasis moved)

    Why do you hate your users? (:

    Besides, if properly implemented, a save file management framework is no more work for the developer than using standard Android file operations -- pass your save data to a system library method, let it do its thing, and it'll signal you when it's done. The system library can handle things like storage location, readback verification, even encryption if that's desired (and at that point you're saving developer effort compared to making the developer implement the added value themselves).
  • apLundellapLundell Posts: 35Member
    I don't see how it couldn't be more work.  Instead of using the code I already have now, I'd have to write code to interface with this proposed save-game system.  Worse than that, I'd have to <b>test</b> it, which is the time consuming part if you're doing it right.

    Maybe it'd be easy, but it wouldn't just <i>happen</i>.
    @apLundell   <-- Follow me!
  • mjoynermjoyner Posts: 168Member
    IMHO, Any save game system should use the existing backup api as already defined by Google....
  • achurchachurch Posts: 5Member
    edited February 2013
    apLundell said:
    I don't see how it couldn't be more work.
    It depends on the API, of course, but instead of writing
        FileOutputStream fos = openFileOutput("save03.bin", Context.MODE_PRIVATE);
    fos
    .write(savedata.getBytes());
    fos
    .close();
    you might write
        OuyaSaveManager.saveFile(3, saveData);
    which is actually two lines less. (:

    If you're targeting regular Android and OUYA at the same time, then yes, it's an extra line of code, but in that case it's trivial compared to the work needed to properly support the two different interface paradigms (touch vs. gamepad). And if you've written your tests properly, they're independent of the implementation, so you won't need any extra effort there at all.

    mjoyner said:
    IMHO, Any save game system should use the existing backup api as already defined by Google....
    It would be good to hook in, yes, but backup isn't the only thing users want to do with their save files.
    Post edited by achurch on
  • arcticdogarcticdog Posts: 235Member
    Presumably each game has their own private storage as other Android apps do.  Where this stores is really out of scope of the game.  If the OS gives the user the option to configure where to store.. either locally or via some cloud storage mechanism, it doesn't really matter to the game itself.

    I believe the X-Box has some API that pops open a storage selection area.  That's about the only level of intrusion I could see in a game itself.  And even then, it wouldn't be necessary.  The Ouya could have a tool on the outside that allows you to marry storage areas to games (and move the data around)

  • VoodooDoubloonVoodooDoubloon Posts: 84Member
    Goodpoint @VicariousEnt hopefully we hear something from Ouya team about your concerns on this topic. Im very interested in understanding this process. I feel Google Play store has an awesome workflow and hope Ouya does something similar. I wish they'd just use the Google Play Store but oh well :)
  • apLundellapLundell Posts: 35Member
    arcticdog said:
    Presumably each game has their own private storage as other Android apps do.  Where this stores is really out of scope of the game.  If the OS gives the user the option to configure where to store.. either locally or via some cloud storage mechanism, it doesn't really matter to the game itself.

    I do like this idea. Most games would stick to their private storage area. There could be a layer on top of that that somehow boxes up those storage areas into "save games".
    @apLundell   <-- Follow me!
  • VicariousEntVicariousEnt Posts: 63Member
    Welcome to console development. I'm all for making development easier for devs, but not at the expense of the consumer's experience (or the percieved value of OUYA games). As was stated, using an OUYA interface in the SDK to handle saves is the same amount of work as using the Android one (which isn't enforced, or even widely used). This backup interface in Android is a recent addition I'm guessing? Most mobile game companies\devs don't target 4.0+ Android as there is still a huge percentage of the phone market on 2.3+ so they don't want to limit their audience. Not an issue on OUYA, now we just need Team OUYA to come out and say we have to use this interface or some OUYA alternative. If its left as an option, its usage will not be widespread enough (the resistance to the idea by many in this thread is a good example of that).
Sign In or Register to comment.