0 Favourites

Anyone successfully updated a CJS game to XDK?

  • I am fed up with CJS crashing on way too many devices and want to update to Xwalk/XDK, problem is the game is already published with a lot of users so far, so if I were to update, it has to go smooth.

    I tried doing it on my test device LG G-Pad 8.3, it installed on top of the old CJS version fine, but the game resets all the saved data! > I use Webstorage Local Vars to save all the progress.

    If you've done it I'd love to hear your experience on it.

  • Yes have done it today

    Updated my android game jetpack space miner from cjs to crosswalk.

    Wha do you need to know

  • Yes have done it today

    Updated my android game jetpack space miner from cjs to crosswalk.

    Wha do you need to know

    I use Webstorage, Set Local Key and store Global Numbers to keep track of almost all of progress.

    When I update to XDK from CJS, it resets the saved data, so the game starts like a new install.

    Did your game manage to keep saved data and if so, which save system did you use, Webstorage or Dictionary? etc.

  • It lost my webstorage as well

    but i only save high score variable so wasn't a major issue

    getting leadbolt ads working was really easy though

    thats what has been putting me off changing to crosswalk the lack of ads

  • It lost my webstorage as well

    but i only save high score variable so wasn't a major issue

    getting leadbolt ads working was really easy though

    thats what has been putting me off changing to crosswalk the lack of ads

    Lost your saved data too.. oh well, I can't lose my user's saved data, there will be a crap-storm as they find their game resets after an update.

    I hate the idea but i'll have to release a 2nd version with XDK, such a stupid situation with CJS crashing on so many devices.

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • Lost your saved data too.. oh well, I can't lose my user's saved data, there will be a crap-storm as they find their game resets after an update.

    If you're up to the challenge, you could create an online facility for storing that WebStorage data, or at least the most critical bits. Release a CJS-based update that syncs local storage online, then release an XDK update that pulls down that data and loads it into local storage.

    It'd probably just be a matter of pushing data into a SQL database through Ajax and PHP, much like how ArcadeEd's online high score table tutorial works. The only hurdle is that you'd need a unique identifier for each user to keep their data together while it's online. I'd suggest generating a string of numbers and letters, then just say to the user "Hey, there's an update that's going to massively improve your user experience; if you want to keep your data, write down this string carefully and re-enter it in the updated version".

    It's a long, laborious, possibly messy process, but if in the end you have a more stable and overall better product, I think it'd be worth the effort.

  • > Lost your saved data too.. oh well, I can't lose my user's saved data, there will be a crap-storm as they find their game resets after an update.

    >

    If you're up to the challenge, you could create an online facility for storing that WebStorage data, or at least the most critical bits. Release a CJS-based update that syncs local storage online, then release an XDK update that pulls down that data and loads it into local storage.

    It'd probably just be a matter of pushing data into a SQL database through Ajax and PHP, much like how ArcadeEd's online high score table tutorial works. The only hurdle is that you'd need a unique identifier for each user to keep their data together while it's online. I'd suggest generating a string of numbers and letters, then just say to the user "Hey, there's an update that's going to massively improve your user experience; if you want to keep your data, write down this string carefully and re-enter it in the updated version".

    It's a long, laborious, possibly messy process, but if in the end you have a more stable and overall better product, I think it'd be worth the effort.

    Thanks. I thought about doing a similar solution, but it will require user input and from my experience with users on the Store, its just not going to happen and many of them will find they suddenly update and lose all their data.

    Not all users auto update to the latest build, a lot of them are lagging 1, 2 or even 3 updates behind. If they suddenly update later to the XDK build, their current progress resets. You can imagine the fury.

    It'll have to be a 2nd edition, like Star Nomad Elite. One of the great feature of XDK is the memory management and fast load times, it means I can put in PC/MAC high resolution art on the XDK build, in fact, I've already tested it and it ran very well on a lot of devices! I'll have to update the app description to point new users to the Elite version and overtime, phase out the CJS version.

    Anyway, for those who don't know the problem, now its out there. Updating a different compiled game will reset Webstorage.

  • It lost my webstorage as well

    but i only save high score variable so wasn't a major issue

    getting leadbolt ads working was really easy though

    thats what has been putting me off changing to crosswalk the lack of ads

    DC, how did you get your lead bolt ads to work? I've been trying to implement it for months and never got it to work. I tried the podes method without success. Also, I've been having problems with version numbers and cannot update to google play. Where in XDK do we change the version numbers?

  • Silverforce DARTH Crusher

    Wouldn't crosswalk give lower fps than cjs?. assuming your game has iap, is crosswalk able to handle iap and leader boards and such. I assumed that many preferred cjs because it could handle iap, leaderboards, ads( a long long time ago) etc whereas crosswalk had issues with the above mentioned.

    And Silverforce , i'm not familiar with your game but couldn't you use the players username as a sort of key for the saved file. Maybe in an update you can have the ability to name the ship and squad and etc etc, so you use the ships name and the squads name and etc etc name in digits(1 for a, 2 for b etc etc) multiplied by a large number and keep it as a save file key. Probability of 2 people with the same ship name and squad name and etc etc name would be zero, i guess. Just my 2 cents.

  • Pariunos

    leadbolt ads are really easy to do

    all you need to do is put iframe in your project and copy the url that leadbolt give you for the ad, just remove .js from this link and away you go

  • Silverforce

    Wouldn't crosswalk give lower fps than cjs?. assuming your game has iap, is crosswalk able to handle iap and leader boards and such. I assumed that many preferred cjs because it could handle iap, leaderboards, ads( a long long time ago) etc whereas crosswalk had issues with the above mentioned.

    And Silverforce , i'm not familiar with your game but couldn't you use the players username as a sort of key for the saved file. Maybe in an update you can have the ability to name the ship and squad and etc etc, so you use the ships name and the squads name and etc etc name in digits(1 for a, 2 for b etc etc) multiplied by a large number and keep it as a save file key. Probability of 2 people with the same ship name and squad name and etc etc name would be zero, i guess. Just my 2 cents.

    Xwalk is pretty good now, I notice in all my games so far its running around 20% slower than CJS BUT its smooth, it doesn't have the stutter that occurs on CJS once in awhile. Also I tested it on some very old devices and they were able to hold 30 fps during combat and it was still smooth enough to play and enjoy. On newer stuff its usually 50+ fps.

    I only need IAP for my game, don't even care much for Ads because I don't use fullscreen Ads since as a gamer, it annoys me. Whatever annoys me (as a gamer) wont go into my games.

    The problem with implementing these clever saving system is that a large amount of gamers are always behind on updates, about half of them are on 2 updates ago. If they were to update later on, they would miss out on my saving system and suddenly find their game resets to the start.

    Its just I didn't realize CJS/XDK were not compatible with Webstorage, eventhough the bundle name & keystore signing is the same and the game installs on top of the same location.

  • Silverforce

    So crosswalk can do iap?. I'm also not that big into ads, but the only thing keeping me from crosswalk was all the talk about the much lower fps than cjs, But if a game is simple enough i guess a lower stable fps is better than a higher jittering fps.

    And do you have any idea if multiplayer works with crosswalk. It doesen't with cjs apparently.

    I guess that you have to dig deep into how these webstorages work to fix the incompatibility. I've noticed where users complain about lost saved files after update and the comments weren't nice. So it's pretty critical for you.

    You can try to introduce the naming thing in a cjs version update. State in your game's google play page that the update is necessary/important/critical for further updates to work. Or maybe try adding the push notifications into your game, which reminds players of updating. Just trying to give some ideas. Best of luck

  • Pandy

    Not currently, Intel have told me they are expecting it in their next build for early August. But I'm not sure if it will be ready & compatible with C2's IAP plugin (I suspect NOT), so Ashley will probably have to release an update for C2 to make it happen.

    The performance difference isn't huge, the chromium engine is pretty fast, and XWALK has some serious advantages over CJS to make it much more viable once it sorts out these monetization issues.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)