Ashley's Forum Posts

  • You should always use TimeDelta. Using a fixed framerate firstly decreases the display quality - even if you set the fixed framerate the same as your refresh rate, it makes no attempt to stay in sync with the refresh rate. So it still might draw the screen mid-scan and tear - if it doesn't tear in fixed framerate mode, it's only working by chance. Not to mention if your refresh rate is NOT 60Hz (which is a LOT of monitors) then it tears all over the place. Why not have a nice V-Synced display so it looks good for everyone?

    Secondly if you use a fixed framerate and the computer isn't fast enough to achieve that fixed framerate, the whole game slows down to a crawl and all your timing goes out the window anyway (by 30fps everything's going half as fast, and the play might just get frustrated and quit).

    So yeah, just use TimeDelta. It's not THAT hard - everything in Construct works framerate independently for these reasons, so I wouldn't want to make a tick-based animation system. Use Every events and all that and your game can't be that hard to code.

  • It's in frames per second. So an animation speed of 5 = 5 frames per second = 0.2 seconds per frame. If you want 60 frames per second, then use an animation speed of 60 - but if your game is V-Synced (and it should be), note your game will be running at varying framerates (eg. 60, 75, 85fps) and so you won't get exactly one frame per tick. But the animation speed of 60 will still run at 60fps (its framerate independent).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Yeah, the layout has to be at least as big as the window, so make your layout the size of the biggest window size you want. So you WANT it to resize the display when you resize the window - but with point sampling? I don't think DirectX allows you to do that with its built in stretch... how about you set the display zoom?

  • DirectX stretches the display if the window size is not the same as the display size. If you use 'Set display resolution' it'll resize the window AND the display size, keeping unstretched display. Try that - also if in fullscreen mode, it will change resolution.

  • saving as lossless pngs is not compressing

    It is - the filesizes are smaller than BMP, and there is no quality difference. However, given the way Construct works, it'd be difficult to implement different compression formats for specific images, I'm afraid. And if all images were exported as JPG, pixel artwork and game sprites would come out all artefacted. As a workaround, you could try storing your JPGs as external files, and load them at runtime.

  • Crash in the Event Editor

    " Every XX milliseconds with a "System: Creat Object"

    orks for me:[attachment=0:2vh51r86][/attachment:2vh51r86] - can you upload a .cap showing the crash?

  • OK weird... it works if you use a drag+drop behavior, but with your own drag events it crashes. I'll look later.

  • With a hex editor it wouldn't be difficult to make changes to the data stored. Still, if this is for your game saves or something, why stop them if they're that determined? Encryption is just another hoop to jump through.

  • Firstly, use the drag and drop movement! If you drag too fast, the objects are left behind with your code

    This is precisely how containers work. 'A overlaps B' naturally picks both the A instance and the B instance, which also picks the entire container of A and entire container of B.

    So what you want is to ignore the blue object's picking in this condition. You only want to pick the object that it was collided with, to save picking the blue object's own container as well.

    I've come up with a really funny workaround for this! Lets say A is the orange object, and B is the blue one.

    Use:

    + A overlaps B

    + For each A

    + A overlaps B

    -> Set A X position to .X + 10

    I *was* writing a short description of how it works, but to be honest, I can't figure out why this works. I would have thought the second condition would have still picked the entire container, but somehow the for-each overrides it. Ummm... I'm not sure if this is intended behavior or a bug. Hell, I say it's intended behavior. Because then, your problem is solved

  • If you want to add 2 to the X component only of the ball movement, then use:

    set angle of motion (0, 0, Xvariable + 2, Yvariable)

    set speed to distance (0, 0, Xvariable + 2, Yvariable)

    As I said, those actions are identical to a 'Set X and Y components to Xvariable and Yvariable' action. You can retrieve the current X and Y components of the ball's movement via its expressions as well.

  • At the moment your only solution is to make an installer for your game, and have the installer install the font. We're planning something to handle fonts for you in future, but I don't know when we'll get round to adding features like that.

  • Maybe you're better off writing a custom ball movement? As you mentioned, if you're always overriding the velocity, when it bounces it's still trying to go in the old direction, and you need to update the variables.

    Adding set x/y component won't magically fix this, because the action will just call set angle of motion and set speed for you, with the math. So it'll work exactly like it does with your current method.

  • Oops. I'll try and sort that out.

  • Man... yeah... surely a difficulty setting wouldn't be out of place?

    No crashes here, but send over the cap and I'll run it through the debugger a couple of times.

  • If you could make an option (preferably in the picture editor) that allows you to set image's export quality (ie. png, jpeg, and in case of jpeg allows you to set it's export quality)

    The .cap file stores uncompressed data, but when you export, all images are compressed as lossless PNGs. So you should get pretty good filesizes already