Halfgeek's Forum Posts

  • Use the latest C2, it fixed some major bugs with Cordova WKWebView.

    I use XDK (Cordova export, yes use WKWebView & XDK format). In the plugins, make sure you select the latest versions of all the plugins. By default it's using some outdated WKWebView plugin and others, change the version and select the latest (1.1.0 for WK).

  • It's basically an up-spec Android tablet with physical gamepads.

    ARM-based Tegra SOC, think NVIDIA Shield.

  • I've made a sim game with lots of stuff happening in the background, it runs great. I'm making an even more complex economic simulation in this next game currently and so far it runs great while not even stressing the CPU.

    As Sethmaster said above, it depends on your ability. C2 being really easy to code for but it doesn't correct your sloppy coding. Optimizations comes down to your own ability and experience.

  • Thanks Ashley!

    I've just tested the new build and the WKWebView in XDK/Cordova now loads up fine and runs great.

  • File size is similar for non Crosswalk builds.

  • Unless XDK improved very very much the performance on the latest updates, I would go with cocoon.

    XDK has the same performance if you're using webview+ on Cocoon. It's all cordova based.

    On iOS, you access WKWebView (which is faster than Canvas+!!) for high performance. On Android you use the Chromium based WebView which the recent versions are very fast. Or Crosswalk for Chromium performance with more compatibility.

  • Memory waste isn't an issue if the game works flawless in iOS 9 and sudden fails to load in iOS 10+.. I've sent you the CAPX, I have a feeling there's an error with some of the WKWebView workaround no longer functional in iOS10. Hopefully you nail the bug.

  • The test games Scirra uses for benchmarks like Space Blaster are far too simple, you guys need to work with devs to test their actual games, or at least use examples that use large images, sound, and actual layout transitions rather that just one, then we might have known about things like the object limitations of Mac and Linux when using nw.js beforehand.

    Damn straight this.

    Big C2 games will NOT work on MAC at all, period. Linux export is broken since forever, but honestly I haven't tried it since NW 0.14 so I don't know if it's finally fixed.

    However, it's quite clear this is all related to 3rd party wrappers. NWjs is just broken on MAC with a big project due to being treated like a browser (which isn't supposed to "load so many files", and it's a known bug for years!!). The mobile exporters are worse in their reliance on 3rd parties.

    I would pay a LOT for an engine with C2's event system and native export. We don't need so many damn platforms, just PC/MAC/Linux for the desktop and Android + iOS.

    Back to testing..

    Setting

    this.isWKWebView = false;

    Now results in a blackscreen, not even a loading bar.

    So definitely that ain't the fix!

    Again, this isn't a WKWebView detection problem, this is related to asset loading somehow..

    If Ashley wants a bigger game CAPX for debug/compatibility/performance testing, I can volunteer mine. The title screen itself has a huge battle, multiple different faction fleets, including capitals and carriers for a lot of sprite, particles, and AI/logic. Let me know!

  • Tested it with Cordova 6.2, WKWebView 1.1.0 (the latest) Cordova plugin in XDK.

    I am stuck at the loading progress bar, however, some launches it will go all the way and start the game up. Once into the game, it runs fine.

    I notice in the c2runtime.js there's this line:

    this.setImageSrc(img_, src_); // work around WKWebView problems

    and..

    if (this.runtime.isWKWebView)

    playMusicAsSoundWorkaround = true;

    Obviously a hack/workaround to a prior problem..

    Also the detection has changed somewhat?

    this.isWKWebView = !!(this.isiOS && this.isCordova && window["webkit"]);

    ^ I am going to test changing it to true;

    Because I don't need to check, the build uses WKWebView plugin and set for iOS9+ only.

    Edit: Changing that to true; causes it to hang at the start of loading again (most of the time, some launches work as before). Going to try setting it to false; ... I have a feeling some WKWebView work-around for prior iOS versions/Cordova is no longer required in iOS10+ or no longer functional. This isn't a detection of WKWebView problem!!

  • Just a heads up. My game (https://itunes.apple.com/app/id1088622798) was working on iOS 9, and even iOS 10.0.1 (didn't get black screen or other issues surprisingly!) but the latest 10.0.2 now causes it to hang at the loading bar.

    I'm updating it and trying the latest C2 beta build, along with updated XDK & Cordova, was using 5.4.1 and now I see a new 6.2 is available, along with a 1.03 WKWebView plugin... will report back tomorrow on the testing.

  • I have been Reading forums in scirra and Intel XDK official page. I found one solution there and one by myself.

    First, this problem seems to be caused mostly in iOS 10 devices, principally because the app is crashing due the WKview use.

    There is the option shown in the XDK fórum:

    Replace the line

    1 this.isWKWebView = !!(this.isiOS && this.isCordova && window.indexedDB);

    with

    1 this.isWKWebView = false;

    in c2runtime.js solved my black screen issue on iOS 10 devices

    The option I found (and actually will keep it since it actually allow using the WKWebview (which increase performance)) is:

    Just add the plugin "cordova-plugin-wkwebview-engine". It is actually in the Core plugins section.

    Both worked for me, And I hope they will do it for you too.

    That is really bizzare. Like a bad hack.

    You disable WKWebView with that line for detection, and use the wkwebview plugin instead. Which should be there already if you import the project into XDK when you export C2 to use XDK & WKWebView. It's one of the core plugin.

    I'm testing these things ATM too because I'm getting crash reports for my game on iOS 10.0.1 and onwards.

    Wish Apple would stop messing things up everytime they release a new iOS version.. /facepalm

  • My motto is if it ain't broken, DON'T UPDATE, anything!!

    More true for NWjs. I was on 0.13 alpha 7 for ages, only recently moved to 0.14 stable.

  • PixelPower

    thanks it is a very well made tutorial, certainly inspiring, but where does it stop? My game, other than being pretty bad, is also pretty simple, if I need to optimise a game of the caliber of Pigs in the Oven there is something wrong with the tech itself, simple as that.

    In my experience, you always need to optimize, especially true for mobiles.

    There's no way around it, not until there's enough brute force in devices to overcome inefficient coding.

    And yes, C2's event system is very much coding. How you do it has a massive affect on the final performance.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Disagree on the performance, it's a heck of a lot better than 2 years ago, with WKWebView on iOS literally 5-10x faster than the old UIWebView.

    The audio related issues, yes, they are indeed very annoying.

    I've had the same issue with the steam overlay. You have to add "--in-process-gpu" into nw.js exporters. You can find that in c2dir/exporters/html5/nwjs . There you see 3 .json files. Add that parameter in all 3 in line with "chromium-args".

    This is a partial fix, it will work for some GPUs but for most NVIDIA GPUs it will not work. There's no Steam overlay and users can't do the screenshot -> upload onto Steam.

    It's a known issue since forever and it's due to the way Steam's overlay hooks, GPU drivers and Chromium interactions.