Ashley's Forum Posts

  • The golden rule: measure it. If you can't measure a difference, no. If you can, yes.

  • I'd be curious to see your performance test because my physics stress test (basically filling up a bucket with as many small objects as possible) gets to a 3x higher object count with asm.js. The asm.js version is like a native-compiled version which browsers should be able to optimise like native code.

  • Is this actually causing you a problem with the game or are you just reporting messages in the Visual Studio console as a bug regardless of their impact?

  • As far as I can tell, the bug you have reported is that when you turn seamless mode off, seams appear. Is that really surprising?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • No, you can't control that dialog. Show an in-game message instead if you want full control.

  • For sprites you can more or less ignore the power of two thing, because they get spritesheeted on to a single larger image. Since they are assembled on to a power-of-two spritesheet with a 1px border, the optimal size is actually 2^n-2, e.g. 30, 62, 126, etc.

  • No, there's no plan to do it - the whole point of Construct 2 is that there isn't any programming like that.

  • You do not have permission to view this post

  • No. Hopefully Construct 3 will have a more customisable exporter system though.

  • It should run at 60 FPS on a 60 Hz monitor. In fact it does on every system I've tried it on. Maybe your graphics driver needs an update.

  • Check the browser error console (Ctrl+Shift+J in Chrome). All your .ogg files are returning 404 not found. Most likely you need to set up the necessary MIME types.

  • Post a bug report to the forums following all the guidelines.

  • The main issue here is game engines run in discrete steps (frames), rather than continuously. They create the illusion of continuous motion with many small incremental steps at a relatively fast rate (normally 60 FPS). A smaller factor is system timers are not always perfectly accurate, so dt has small random variations. And an even smaller factor is adding up floating point numbers accumulates error with every addition.

    If you rotate an object by 90 * dt degrees every frame at 60 FPS, then it will be rotating about 1.5 degrees per frame. You only need 'Every X seconds' to be off by a single frame and you have greater than 1 degree error, without even taking in to account the small random variations in dt, or the floating point addition error. Even if all timers were perfect and the framerate was perfect, at 60 FPS then 'Every 1 second' is due to run exactly at the time the 60th frame runs. Then you only need the tiniest bit of random jitter in the timing systems to cause the next timer to fall on a random frame: either just before when it's due (so that frame), or just after when it's due (so the next frame). In practice there's probably enough jitter to throw this out by 2 frames.

    Solution: don't expect to get the right number of frames. A better way to achieve this type of thing is to use an algorithm like "rotate at 90 * dt degrees per tick until it is clockwise of its destination, then assign the end value again". The "assign end value" bit means that if you end up somewhere like 90.0001 degrees (due to any of the other sources of error), then you just set it back down to the exact value of 90.

    None of this is specific to C2 - it will be the case with any game engine using this approach.

  • You do not have permission to view this post

  • I am afraid that Lately I see Ashley being fast to reject ideas coming from forum members.

    If I see problems with suggestions, I will point them out. If people argue convincingly against me, I will consider what they say. Also as ever we get far more feature requests than we can possibly deal with, some of which are multi-month projects, so it is important to set a high bar and not get sidetracked with loads of experimental ideas that may or may not work out.

    In particular new UI features are very time consuming to develop, and what is outlined here is probably several months of work. There is a great opportunity cost there, since if it doesn't work out or few people end up using it (like with multiplayer), then we've lost several months work that could have gone on something more useful.

    So I can see how it might look like I'm trying to shoot everything down, but really it's how I test ideas to see if they're worthwhile.