Ask HN: How can I recover and run my old mobile game from the 2010s?

50 points by diasks2 2 days ago

I developed a game called "Putter King Adventure Golf" for iOS and Android back in the 2010s. It's long since disappeared from the app stores, but my son recently asked if he could play it, which got me thinking about whether it might be recoverable.

I'm wondering if there's any way to find a copy of it somewhere on the web (I assume it was probably pirated at some point during its lifetime). And if I could find it, what would be the best approach to get it running again?

Has anyone here successfully recovered and revived their old mobile apps? I'd appreciate any suggestions on:

* Where to look for archived APKs or IPAs * How to sideload/run old mobile apps on modern devices * Whether emulators might be a viable option

torunar 2 days ago

I found an Android version of your game on 4pda, Russian forum about devices and apps: https://4pda.to/forum/index.php?showtopic=290300#entry102680...

  • sandreas a day ago

    Amazing! Now you need to find a device that can still run it :-)

    • toomuchtodo 18 hours ago

      The Internet Archive already has some emulation support, perhaps Android support is needed? If OP is willing to transfer the copyright to the Archive for $1, I'm happy to facilitate so it has a permanent home.

      https://archive.org/details/howtodoupload

      (i have archived the APK in Wayback just in case the source in this thread disappears)

      • diasks2 16 hours ago

        That would be great. Is there a way I can reach out to you by email for more info? (my email is my hn username at gmail)

    • vintermann 20 hours ago

      Probably safest to run it in an emulator with no internet access, given where it was found.

      • mschuster91 19 hours ago

        APKs are signed so assuming OP can verify his own certificate he might be lucky enough to not have to dig that deep.

        • diggan 17 hours ago

          If it's being distributed by a piracy site, and the game had any sort of protection to make sure people actually bought it, then probably they're storing/offering a pre-cracked version, which certainly shouldn't (or wouldn't) be signed by anyone.

    • ok123456 19 hours ago

      jadx can probably disassemble it pretty thoroughly. I think you can give it the APK directly, or just unzip it and give it the classes.dex.

      Assuming everything goes smoothly, you could potentially resurrect a compilable project in about a man-week, or two, or three...

    • ImPrajyoth 19 hours ago

      Emulator with gen ai tool! That's it! Sanitize it then fix.

r0ckarong 19 hours ago

You can use Android Studio (or other virtualization / emulation) to set up an older version of Android and then you use one of the various sites that "archive" games:

https://developer.android.com/studio/releases/past-releases/... https://www.mobygames.com/game/54420/putter-king-adventure-g...

I've used Bluestacks to play the entire somewhat recent Monkey Island game on PC because I could not be bothered to play it on my phone but I have no idea how far back their versions go.

  • diasks2 16 hours ago

    Thanks! Looking into this.

    I found the apk file and I played around with Android Studio today but was having trouble getting the Nexus device with KittyKat or Lollipop to not crash when trying to open the device. Will keep trying different options.

  • Podrod 17 hours ago

    Why didn't you just play the PC version of Return to Monkey Island?

    • 0cf8612b2e1e 16 hours ago

      Available on GOG, DRM free, for years now.

fastball 20 hours ago

Where did the source code go?

I have all the code from dumb little games I made (and never released) from almost 20 years ago.

  • mrweasel 19 hours ago

    I've lost so much code, photos and other digital assets over the years. I regret losing most of it, yet I can seem to get started on archiving the things I care about.

    So many funny little project, so much code I'd like to revisit, so many photos lot.

    Any recommendations on how to start a life as a digital hoarder?

    • gchadwick 18 hours ago

      > Any recommendations on how to start a life as a digital hoarder

      Stop worrying about a well collated archive and just dump everything in a suitable storage medium. I've got years of random side projects and pretty much every photo I've taken going back many years. It's a complete mess, with various duplications, it's just not that big (few hundred GB maybe? I'm away from home so can't open up my NAS and look) so not worth my time to optimize it.

      On the flip side it's fun to randomly browse through and take a trip down memory lane. When there's a particular thing I definitely want can be more of a pain to find than if I had any decent organization but that comes up rarely enough that I don't really care.

      • gia_ferrari 16 hours ago

        +1. My basic structure is a big share/ directory that is mounted on all my machines (over sshfs + tailscale if need be). There's some basic top-level organization (Projects, Financial Documents, Photos) but other than that, the key thing for me was a Projects/Active/, Projects/Ice/, Projects/Done folder that I move things between. If I don't know where to file a thing, I just make a new folder under Projects/Active/, keep an eye on your workflow, and reorganize if you see an issue. Stick to the process, not the plan[1].

        The absolute worst approach I tried was to curate things. Nothing got filed. Embracing the chaos allowed the pattern to evolve around my revealed workflows, and now after a couple years I pretty much know where to instantly find or file things.

        [1] https://youtu.be/7D8sXR0ozeE?feature=shared&t=4474

      • diggan 17 hours ago

        > Stop worrying about a well collated archive and just dump everything in a suitable storage medium

        I've been doing that for most of my things too (except projects, they get categorized and more), just shuck it all into one big directory, worked perfectly well for 20+ years!

        And, since I punted organizing it for so many years, we now have LLMs, and I've ended up writing a tiny CLI that keeps an index of this disorganized pile, so while the pile itself is disorganized, thanks to LLM it was trivial to let it run for some days to categorize, tag and sort it all into an index.

        Another successful example of my life philosophy of "everything solves itself eventually".

    • sandreas 8 hours ago

      Use the 3-2-1 strategy. 3 backups on 2 different media with 1 offsite location.

      For code I use github, my NAS and burned blurays (readonly, offsite).

      Syncthing is a handy tool for smaller files (e.g. documents) to distribute over multiple clients, e.g. your Android phone.

      Restic is good for encrypted, deduplicated cloud backup.

      ZFS can also be helpful when used with zfs-auto-snapshot or zrepl to prevent accidental data loss or ransomware attacks.

    • diggan 17 hours ago

      > Any recommendations on how to start a life as a digital hoarder?

      Step 1: Get a NAS or whatever, and copy over things manually when you know you care about them.

      That's pretty much it for at least some basic protections, and not starting a whole project. Just made checksums before you send it, and verify the checksums after you send it, and that's pretty much it.

      Then step 2-6 can involve doing encrypted off-site (cloud) syncing of your backups, automatic backuping and so on, but as a first step, just do something small and easy, so it won't feel like a hassle in the future.

      • 0cf8612b2e1e 16 hours ago

        Hard disagree about the manual copying. I did that for years and that is how you get a mess. “Did I back up that project? On what date?”

        You will inevitably omit something you want. Just rsync the entire home folder as a first pass backup strategy.

    • nemothekid 17 hours ago

      I’ve always found that the default hacker advice is was a bit too complex for my taste. If I’m someone who hardly cares about archiving things - I’m not suddenly going to care about setting up a NAS/Ceph/Backblaze/S3.

      The lowest friction tool for me for nearly a decade now has just been iCloud. It helps that I use Apple products everywhere (and I even have iCloud installed on my windows machine), but I just default to storing things in iCloud.

      Searching is not the best but I’m confident the files are there

      • kevin_thibedeau 17 hours ago

        You can just plug in a USB3 SSD. The key is to have something easily transferred between machines as they are replaced. Then you just need discipline to keep everything important on that storage.

    • antonyh 18 hours ago

      Three things that have bitten me recently:

      1. beware of encryption, especially Microsoft and Apple. I've encrypted Apple disk images with lost passwords, and USB drives that I'm not sure I'll ever decrypt now that I've mostly moved to Linux

      2. USB drives rot. I have at least one sitting on my desk that doesn't work, or doesn't work with Linux, or is encrypted, I can't tell but I think it's dead and I've no idea what's on it

      3. assume anything other than text or open formats will be useless later. I've a ton of info archived in closed proprietary formats that I might never be able to access.

      Duplication is inevitable. I've a box of CD/DVD archives, a dozen large USB drives, two NAS, and half a dozen computers, and with all that storage and space I can't even have a definitive music collection. It's on both NAS, multiple computers, an MP3 player, my phone, and all the copies are different. We've 14 terabytes of photos, and so I now need to buy another NAS to replace the two I have and keep the old ones as a backup. It's endless curation, both for hardware and data.

      And yet, the code I've lost. The photos that didn't make it to backup. I have those regrets too, like they were truly valuable.

      Final thoughts: cloud storage isn't storage, it's short term for shuffling data between devices. Even email isn't secure - Yahoo deleted all my messages without warning because I didn't log in for a year.

    • swiftcoder 17 hours ago

      For code, this hasn't been so much of a problem since Github made private repos free. Dump a copy of every piece of code you write up there, and you'll be a lot less likely to lose it...

    • RobRivera 16 hours ago

      1) wire 2Tb Hdd or 1Tb ssd

      2) copy-paste

      3) remove, place tape and write label on drive

      I've shelf-suitable boxxy memes, top quality

    • mixmastamyk 17 hours ago

      Make a data partition or folder, put all your files there. Do some basic organization. Then back it up regularly, using a tool you find easy enough to use. It’s not hard once you get the hang of it.

    • sfn42 19 hours ago

      As far as software projects go I'd say GitHub or whatever VCS you prefer. For photos and documents etc you could look into cloud storage like OneDrive. A friend recently told me about filen.io which provides a similar service but with encryption. Not sure whether OneDrive also supports encryption.

      • mrweasel 18 hours ago

        I really want to store things locally though, and then just stick with cloud as backup. The problem is I also don't want to manage anything complex.

        • swiftcoder 16 hours ago

          You can store code locally in git, and only use GitHub as a backup. This is the "distributed" part of "distributed version control"

        • redundantly 18 hours ago

          If you have a NAS you can run Gogs as a container for a git repo.

          • cmrx64 18 hours ago

            if you have a NAS you can just use a bare git directory as a remote

            • antonyh 18 hours ago

              I do this, works exceptionally well. It also works via a USB key.

pikuseru 18 hours ago

How about making a new game with help from your son (even if it’s ideas) and making some new memories? ;-)

The problem I found is that a lot of the stuff I made is tied to the hardware, OS and SDKs I used to make and run it (especially PalmOS and J2ME stuff - although Apple is just as bad.)

Luckily I’ve been able to find an emulator called Cloudpilot Emu to run some of my old PalmOS games in the browser.

I think if I was doing a game now and wanted to be able to look back on it in 10 to 20 years time I’d be doing it in C with SDL or JavaScript - although you’re betting on those being around. Or at least some virtual machine / runtime that could be ported to some new OS / platform.

mclau157 19 hours ago

The Tiger Woods PGA Tour game on IPhone in the 2010s was a full fledged PGA tour game with fun entirely 3D golf courses and a full career of tournaments and points to earn and spend, I consider the best full 3D game ever on IPhone and spent many hours playing it

  • fidotron 19 hours ago

    That game was ahead of its time. My team worked on the post launch updates/ports of it, and because it was well optimized for the original dev target it was actually a bit of a pain! (The shadows especially).

    It was working on that which caused us to find a certain SoC supplier saying different things to different manufacturers.

claudiulodro 15 hours ago

As far as playing it, one of my kids uses BlueStacks[1] a lot to play old/beta/abandoned mobile games. It's like an emulator that lets you run mobile APKs on PC. That would be way easier than trying to find an old phone and actually playing it on a mobile device.

[1] https://en.wikipedia.org/wiki/BlueStacks

juris 16 hours ago

if you do find an .apk and didn't obfuscate it with proguard (I can't remember if proguard ran default in the release pipeline in Eclipse ADT...which...ew) you can use jadx to decompile your .apk and recover the structure of your source code!

https://github.com/skylot/jadx

jimkleiber 19 hours ago

I'm not sure where to find the APKs/IPAs, but once you do, I wonder if using Claude Code or some other LLM tools could help you update the app (or reverse engineer) for modern OS versions. It's something that I've been thinking to do for my 2012 obsoleted microjournaling app.

  • reactordev 18 hours ago

    They could, but then so can a lot of tools. At least with Android, it’s still Java so you can just emulate the runtime and run the app. To upgrade, just decompile the Java bytecode back into something editable.

    I had this same issue with one of my “long lost” games only, it wasn’t a mobile game but a console game, so Ghidra was my only hope.