0plus1's Forum Posts

  • Works in simulator, goes into a loop when run on device, error:

    NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit

    Any help?

    Same exact issue as here: stackoverflow.com/questions/67571345/ios-iphone-11-flashing-black-and-white-while-browsler-is-constantly-reloading-r

    Tagged:

  • I have a very puzzling issue.

    Installed and correctly configured my ADMob.

    Disabled test mode.

    Build.

    Import into xcode, test in XCode. ADs display on the simulator with the "TEST" banner on top, this is expected behaviour becuase ADMob automatically ads simulator to the test devices.

    Build, distribute on testflight. No ADs are shown.

    Added the IDFA to the ADMob dashboard as a test device and still no result.

    What am I doing wrong? How can I debug this issue?

    Thanks

    Tagged:

  • Hi, I am back to C3, I am a coder ar heart and I love this feature.

    In particular I can finally create array of arrays, the problem is that I do not know how to work with them, since, afaik there is no official way to use "proper" arrays in c3.

    I have a function with a looooooong script that generates a set of coordinates according to a complex algorigthm, it returns something like:

    ```

    [

    [10, 200], [320, 760], [754, 210], ...]

    ```

    I need to access said array in c3 to spawn objects.

    ```

    const currentSet = hackGlobalPunchesCoordinates.shift();

    runtime.objects.punch.createInstance(0, currentSet[0], currentSet[1], false);

    ```

    I have declared hackGlobalPunchesCoordinates at the beginning of the sheet as:

    ```

    var hackGlobalPunchesCoordinates = [];

    ```

    But I get a ReferenceError: hackGlobalPunchesCoordinates is not defined

    Is there a proper way to do this?

    The issue here is that the function that generates the coordinates need to be called before and away the spawn object routine.

    I would also be very happy to have a way to use array of arrays officially, as far as I can see you only support array of numbers, strings and bools

  • Hi, I am facing a very weird issue, when I try to import an old capx from c2, which uses SpriteFont it fails importing into c3

    The project you are opening uses the following addons that are not installed. Try installing these missing plugins, behaviors and effects and then re-open the project.
    
    Plugin Sprite font (SpriteFont) by Scirra

    Looking at the project xml:

    <plugin author="Scirra" id="SpriteFont" version="1">Sprite font</plugin>

    I suspect it might be related to version, but I have no idea what's going on here, can someone help me please?

    Thanks

  • What's this?

    Error report information
    Type: unhandled rejection
    Reason: Error: help URL must begin with http:// or https:// @ Error: help URL must begin with http:// or https:// at window.!fm.!QY$ (https://editor.construct.net/r98/main.js:63:485048) at new window.Plugin (https://editor.construct.net/r98/main.js:63:495819) at new window.!QAv (https://editor.construct.net/r98/main.js:63:501620) at Function.!c.!h (https://editor.construct.net/r98/main.js:2:138656) at a.!qc (https://editor.construct.net/r98/main.js:74:28632) at Object.t.push.!c.!dc [as !nSG] (https://editor.construct.net/r98/main.js:74:29042) at t (https://editor.construct.net/r98/main.js:2:198941) at n (https://editor.construct.net/r98/main.js:2:198727)
    Stack: Error: help URL must begin with http:// or https:// at window.!fm.!QY$ (https://editor.construct.net/r98/main.js:63:485048) at new window.Plugin (https://editor.construct.net/r98/main.js:63:495819) at new window.!QAv (https://editor.construct.net/r98/main.js:63:501620) at Function.!c.!h (https://editor.construct.net/r98/main.js:2:138656) at a.!qc (https://editor.construct.net/r98/main.js:74:28632) at Object.t.push.!c.!dc [as !nSG] (https://editor.construct.net/r98/main.js:74:29042) at t (https://editor.construct.net/r98/main.js:2:198941) at n (https://editor.construct.net/r98/main.js:2:198727)
    Construct 3 version: r98
    URL: https://editor.construct.net/
    Date: Mon Jun 04 2018 20:08:54 GMT+1000 (Tasmania Standard Time)
    Uptime: 3.9 s
    
    Platform information
    Browser: Chrome
    Browser version: 66.0.3359.181
    Browser engine: Blink
    Browser architecture: 64-bit
    Context: browser
    Operating system: Windows
    Operating system version: 10
    Operating system architecture: 64-bit
    Device type: desktop
    Device pixel ratio: 1
    Logical CPU cores: 4
    Approx. device memory: 8 GB
    User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
    C3 release: r98 (stable)
    Language setting: en-US
    
    WebGL information
    Version string: WebGL 2.0 (OpenGL ES 3.0 Chromium)
    Numeric version: 2
    Supports NPOT textures: yes
    Supports GPU profiling: no
    Vendor: Google Inc.
    Renderer: ANGLE (AMD Radeon (TM) R9 390 Series Direct3D11 vs_5_0 ps_5_0)
    Major performance caveat: no
    Maximum texture size: 16384
    Point size range: 1 to 1024
    Extensions: EXT_color_buffer_float, EXT_texture_filter_anisotropic, OES_texture_float_linear, WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_s3tc_srgb, WEBGL_debug_renderer_info, WEBGL_debug_shaders, WEBGL_lose_context
  • Ashley

    [quote:1d2lwvwa]I've written a number of blog posts, with objective measurements, that show it has. I don't think the fact one game that potentially has a performance issue outweighs all of that?

    Ok, let me rephrase my statement then. Performance has improved, but it still not good enough. Just take a look at the web development ecosystem as a whole, React has ReactJS, Nativescript is gaining enormous traction, and even something like ionic relies very heavily on hooks to native components, even vue.js, a newcomer has already 2 option for native compiling.

    To me this suggest that HTML5 failed to deliver, and devs are not willing to put up with long dev cycles focused on optimising a lackluster technology.

    [quote:1d2lwvwa]I am baffled as to what to do when on one side, we are criticised for relying too much on third-party code, then on the other side, people are suggesting to solve problems by relying even more on third-party code

    Not really, as I suggested Scirra becoming the one maintaining it. Audio on iOS is clearly problematic, to me having the user touch the screen before sounds can start is unacceptable. Considering there are issues on that department why not use native when possible?

    [quote:1d2lwvwa]I don't think anyone properly appreciates how many people are successfully publishing Cordova/desktop games with Construct 2. If everything works fine, there's not much reason to post to the forum. If things don't work, people tend to come and post on the forum. I think this creates a distorted perception that these tools are not working at all. For the most part, I think they are working fine. That's not to say nobody has issues with them, there are bugs and issues like with any technology, but I think it's blown out of proportion.

    Agreed, that can be said from everything, from cars to food. It's always the one complaining that flood the forums.

    If nobody points out where there are issues we would never move forward. Unity, UE4, Game Maker and all the other framework are full of people complaining and sometimes good things comes out of it.

    [quote:1d2lwvwa]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.

    Fair enough, but honestly what tools do we have in C2? It's a blackbox for most part and debugging/optimising can become a very hard task on mobile. There is no memory management as TheRealDannyyy pointed out, and for the most part optimisation is all trial and error which, couple with the hard deployment pipeline (again on mobile, desktop is heaps better) that I outlined in my previous comments becomes a timesink which is unjustifiable, at least for me.

    Ninjadoodle

    [quote:1d2lwvwa]No disrespect, but I actually completely disagree with the title of this topic.

    None taken mate

    [quote:1d2lwvwa]I honestly think that give it a couple of years and the whole native vs html5 dilemma will be redundant.

    We have been hearing this for the past 5 years, still waiting. The way the market is moving it's pretty clear that the future are js to native compilers.

    I do agree with you, C2 is bar none the best HTML5 game engine on the market. When you stray from desktop (NW or websites) and you start going into mobile, a whole lot of issues start to surface and that is where other tools do the job better.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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.

    Ashley

    nothing has changed in the performance department on mobile, C2 has made amazing progress. Performance has improved, but we are still far away from anything comparable to native, and this is the sad truth. While on desktop with NW performance is great, on mobile we are still not up to standard and that is certainly not Scirra's fault.

    Regarding point 2/4 it all boils down to a non-optimal workflow, it simply not feasible for a professional tool to have to rely on filing bugs on the forum for something which is that simple and it's supposed to work, as you said, this is not your fault, cordova moves fast and there is a lot of unmantained and low quality plugins.

    I feel that Scirra should take over the development of some of cordova plugins directly related to C2 core functionalities, that and forcing a known stable version of cordova. I am sure that most of the issues I am facing are due to xdk using something not entirely compatible with C2, and that is fine, what is not fine is that we are left in the dark about what exactly is compatible with C2.

    I feel like there is a big push on your part to make newbie friendly deployment of apps on android and ios, with phonegap build and intel xdk, but when such products produce all kind of errors, there is clearly something wrong, something that might turn to be off-putting for inexperienced users. I understand why you removed Ejecta exporters, but the thing is that with Ejecta you know where you stand, plenty of release notes, plugins are all directly mantained and peer reviewed by a close community, you kinda know where you stand, same with something like ionic, ionic itself sorts out cordova and plugins versions, so you might not have bleeding edge functionalities, but you do have stability and that is ultimately what I am looking for in a professional tool.

    For what concerns audio, on ios is a know issue that you need an initial touch to start audio, as outlined by you in a comment, on ios audio is definitely not low latency as it depends on the webview, it would be much better to interface with something like this: https://github.com/floatinghotpot/cordo ... ativeaudio . I will be more than happy to provide you with the full capx of Pigs in the Oven it's around 30mb if you are ok with that I will send you a pm with the dropbox link, I will include a list of all the issues that I've been facing with intel xdk.

    You know how much I've cared for C2 and I will be the first one to buy C3, this is why I keep fighting for it.

    It's such a shame because it's an inch to being a production ready game engine, but it misses the mark in some key areas, to the point of becoming a very good prototyping tool to then be ported elsewhere.

  • newt

    Construct2 is an amazing product, that falls short in the production state of a project. Unless you deploy on web, debugging a "compiled" game especially on mobile is not only a nightmare, but an incredible timesink as well. Not only you depend completely on third party wrappers, but you are faced with a debugging pipeline as follows: deiscover an issue -> go to construct -> try a possible fix -> export -> import in the wrapper -> compile -> "debug" (which is quotes as it's not real debugging) -> rinse and repeat. All of this, other than being frustrating, adds hours to simple tasks.

    I can't stress how much I want to believe in construct, but at the same time I cannot justify using it anymore, it's too much of a risk having a completed game which is hazardous to deploy.

    As far as telling you how sane an engine is, I would recommend unreal engine 4, blueprints are very easy to work with and quite powerful, with the added bonus of working with a very well though editor that helps you understand how things work in a professional game engine. As daunting as it may sound, the added dev time, is counterbalanced by a reduced optimisation and deployment phase, as well as an easy pathway to direct device debugging.

    Sure it is a lot better, but this simple game: https://itunes.apple.com/bf/app/pigs-in ... 67465?mt=8 runs way slower on WKWebView today than it did 3 years ago with Ejecta. I thought republishing it would be a quick task, turned to 3 working days wasted, sure I could optimise, sure I could write my own plugin to interface with zero latency audio plugins on cordova, but for such a simple game, rewriting in another engine sounds like a much faster option and it really is a big big shame.

  • I am writing this post mainly to vent.

    I decided to re-release an old game on ios and boy has it been a nightmare.

    1) Perfomance is ridiculously bad. 3 years ago I released the game with Ejecta (and lots of sweat), I come back now, after keeping up to date with all the benchmarks and so on, only to find out that performance with XDK is terrible.

    2) Dependencies on questionable plugins. Seems to me that C2 depends on some third party libraries (cranberrygames for admob for instance) that although are official features, rely on plugins that are not always up to date or optimised. Currently opening the xdk project that comes with the exported files from construct results in many errors for missing plugins (admob and iads off the top of my head). Not only this, but there is no official list for cordova plugin that C2 needs. Some of them such as httpd are used only in fringe cases (video on wkwebview) and finding out this information requires lots of digging around.

    3) No low latency support for audio, I found a tutorial I wrote myself 4 years ago about low latency audio on phonegap, today, we still have no proper audio support. Loading an audio track on ios takes between 5 to 10 seconds, resulting in an unusable mess. This on top of the fact that no audio plays unless there is at least one user touch.

    4) Games do NOT run fullscreen unless "StatusBar.hide();" is called with the browser object.

    I am speechless on how little has changed, for a game maker which is marketed as being user friendly as well as exportable to any platform it misses the mark by a mile. My choices are to take again the huge task of making C2 work properly with Ejecta or simply port the game to a more sane engine.

    With all the best intentions, from old time user that contributed heaps to this engine.

  • I am experiencing the same issue

  • R0J0hound thank you so much, that really got me going, such an elegant solution!

    You are really talented!

  • Hey R0J0hound

    I was wondering if there are now better alternatives to your examples, I am trying to achieve something like this:

    The issue I am facing is finding the right balance between accuracy and speed. I was thinking on maybe using line of sight to pick up the nearest reflecting surface, draw the laser, then move to the next segment. But I have no idea if it's currently the best approach.

    Also why are you multiplying sin and cos by 16 in the example?

  • Horribly sorry Ashley, but I cannot seem to find this entry in the manual, do you have a link? It might be useful to leave it here in case someone stumbles upon this one.

  • Hi stumbled upon an interesting issue that I know how to fix with a simple hack, but I would love to know the proper way.

    My plugin has a dependency set as:

    "dependency":           "leaderbird.min.js"[/code:2akdxkpn]
    
    Which returns an object:
    [code:2akdxkpn]leaderbird = function() {}();[/code:2akdxkpn]
    
    Obviously my plugin references said object across the various actions, expressions and conditions.
    When the minification process happens, another string gets appended to the variable such as leaderbird0b, which of course doesn't exist.
    
    Is there any way to "protect" a specific variable? Or is this a case of having to manually rename the value?
    
    Thanks
  • Ashley I'm talking about an actual Javascript object

    var Object =
    {
        'var': 'value',
        'function': function()
       {
       }
    }[/code:1yrhl0vk]