Ashley's Forum Posts

  • Is there a limit to the number of keys that can be stored in a dictionary?

    No, it has no limit. The size doesn't matter.

  • It's hard to make sense of your code. Some of the pictures are partially minified which makes it harder to understand. That error means either the 'width' and 'height' properties of the thing you are passing as the texture data are missing, or are <= 0, so check you are passing something valid to create a texture from.

    Edit: oh, some of your C3 runtime code still references C2 runtime things which do not exist. For example texture_img does not exist in the C3 runtime. Check the SDK documentation. Also you should run this code in the debugger, that would make simple mistakes like this obvious.

  • Construct 3 runs in the browser. It runs in Chrome, Firefox and Safari, all of which are supported on macOS.

  • That sounds like the labels feature, but in reverse. I still don't see how it would actually be useful in practice. No programming languages have equivalent features, presumably because it is not a useful thing to do. What kinds of events are difficult to ceate with existing features but would be made easier with this?

    Also you are still writing as a single long sentence, which makes it very difficult to read your posts.

  • Performance should be identical after export.

  • The Raspberry Pi cannot run C2, but it can run C3 in the Chromium browser. I haven't tried it for a while, but last I checked it was a bit rough on account of the GPU driver; it might have improved by now.

  • Yes, the same license restrictions still apply after de-listing. If you use a Steam license and need to upgrade after de-listing, please contact supportgfa@scirra.com and we'll sort something out.

  • GOTO is a different feature to the one suggested here - its event equivalent would probably be "go to event number". And that still has all the same brittle, game-breaking pitfalls. BASIC worked around this by using multiples of 10 as line numbers, so you have room to insert extra instructions in between without breaking the number sequence (events have no equivalent). Other languages use labels instead of line numbers (events also have no equivalent). Most modern programming languages use more sophisticated approaches to control flow, like if statements, loops and functions, in order to completely bypass the many problems of goto-style logic - and events have equivalents for most of those already.

  • Browser's built-in JSON parsers are absurdly fast (I think they run somewhere near memory-bandwidth speed). I suspect trying to write code, or events, to make the same sequence of insertions, will be considerably slower.

  • Compiled languages will also compile the dictionary. I suspect it compiles it to a sequence of insertion instructions though, which will have to be run when initialising it, i.e. loading it. So I don't think it's that different to parsing JSON.

  • This is a good idea... but the main holdup is backwards compatibility with the C2 runtime - which doesn't have a color property.

  • What I was getting towards in those comments on the idea is: I'm afraid I don't think this can be made to work well at all, even with mitigations. The equivalent feature in programming languages would be something like "on Nth line of code run". I cannot think of any programming language that has ever done that - for the good reason of it being incredibly easy to break with even minor changes. Code (or events) is only reliable if it doesn't depend on where it is. This makes it fundamentally depend on where things are, which is unreliable.

  • I don't think you properly understand: the data must be read in to memory at some point. You can shuffle around the data and store it in different places, but some time before you start reading from the dictionary, it's gotta be in memory. To get it in memory means loading it. It sounds like you're trying to find a way to avoid loading it. You can't avoid that - you can put it somewhere it may load a little faster or more conveniently, but the only way to entirely avoid the load step would be to burn the data in to your RAM sticks in the factory... which I don't think you'll be doing!

  • How i can remove the opportunity for input events to reach the runtime?

    I don't know, it sounds like a bug in whatever ad library you're using.

    Nothing else anywhere in the runtime on any platform requires this, so there's no runtime support for working around it. If the runtime isn't visible it shouldn't receive input events, period - if something is letting input events through it's a bug with that thing.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • No, C2 will not be made open source.