NetOne's Recent Forum Activity

  • V-sync involves very time-sensitive operations (it must prepare a frame in 16ms, otherwise it drops a frame). It's possible that if the OS does some background work, it schedules work away from the game just long enough to drop a frame. I'm pretty sure it varies depending on the system configuration (OS, driver, background work, compositor mode, etc) which makes it hard to reproduce consistently.

    FWIW other engines with native code have similar issues which are similarly hard to pin down (e.g. see this thread), so I don't think this is anything specific to HTML5 or browsers.

    Lolz I was reading through those posts and some of them are citing Construct 2 as a shinning example of having no "microstutters".

    the grass is always greener!

    Yes looks like to me that the browser is being hijacked a lot by the OS or other browser operations causing the janks although its a super clean install so Im thinking chrome or ms have updated something recently that is causing much more interruptions during preview..

    Thankfully it doesn't appear to effect nwjs exports

    Although the dream is to see it available in a browser and running smoothly. I may get some hosting package during the week to start testing.

  • Sorry didn't see that.

    Ahh well, Im sure it will be ready soon.

    until then maybe you could make a batch file so you have a one click option to take the c3p save files out of your downloads and put them where you want?.

  • RaptorWingGames

    Woah..... hold your ....horses.... I take it back.....

    Now that I am trying to get back into my project from after Christmas, last night I noticed that there is indeed a whole new world of jank, at least in preview mode. in chrome

    My project has multiple layers of fast scrolling background so jank is very noticeable.

    And now in preview mode the jank is serious and continual and pretty much makes the preview mode unplayable.

    on an (surface pro 4 i5 with integrated graphics) FPS is still mostly 60, CPU is hovering around 40pc render time if I recall is around 0.3 s/s but the jank is very bad.

    Before Christmas there was a little jank in the same project (on preview), generally at the start but not anything like this.

    Please note this is in preview mode only, on chrome.

    an nwjs package of the same game has pretty much negligible jank and I am currently unable to test web hosted version.

    (i am not bothering with apk for now as my game is not optimized for mobile )

    but there definitely has been a change over Christmas which has effected preview.

    maybe it has something to do with meltdown patch?

    Can anyone else comment on web hosted games?, hopefully it is just preview.

  • One of the great things about having the standalone Construct 2 was if you did something stupid in your events that would cause a game crash during preview the construct 2 editor was happily unaware and you could carry on and fix the issue

    However, when previewing and editing in the same browser a preview game crash in one tab always causes the C3 editor tab to also freeze / hang requiring a browser restart and loss of any unsaved changes.

    It is like the two, editor and preview, are two way linked. ( other tabs are perfectly responsive unaffected by the game crash)

    This pretty much mandates a save before every preview especially when making tricky game breaking changes.

    Scirra

    Ashley Is there any way to fully separate the preview and the editor into two separate boxed off "threads" (sorry I dont know the tech lingo) but hopefully you get me. So that if preview crashes or goes into an infinite loop or something then editor tab remains accessible and working? Or is there a way to mitigate this ?

  • I think it is a limitation of the browsers rather than construct 3.

    However the new standalone version should allow you to save where you want to , that is one of the reasons for having stand alone version.

    Just to add, i think that they way the browser download option automatically saves a new file every time with a number suffix so you keep every save file you make is a really safe way to work

    You can delete or archive older files as you move forward.

    I dont have an issue with it going to the downloads folder as I pretty much only use chrome for construct, I use edge for everything else but can understand your construct browser is your main browser.

    but yea the stand alone version should sort you.

  • dop2000 is talking about project files

    have a look here

    https://www.scirra.com/manual/141/files

    should be able to do what you want

  • An array is just a large amount of values. For a rewind just save the position of everything every tick. It doesn't make things slow.

    For example look here. It's basically just one action to record, and one action to rewind. Performance will be the same if you just started recording or have been playing for an hour.

    https://www.dropbox.com/s/9sgk5a2meazat ... .capx?dl=1

    Probably an array per object you want to rewind will do.

    It's based on this older example I made that makes a recording of every attempt.

    https://www.dropbox.com/s/lipjb22xahgej ... .capx?dl=1

    Now, if you can use lerp if you want to rewind slower than a frame at a time or want to account for variances in frame time. It's a bit more involved and probably isn't necessary.

    As usual I am in awe of the complex simplicity in the way you do things. Rewind in 2 actions. Damn.....

    Didnt realize you could save and set a sprite's whole state as a JSON that is a really neat feature . Construct still surprising me after over a year...

  • Arrays "is everywhere. It is all around us. Even now, in this very room. You can see it when you look out your window or when you turn on your television. You can feel it when you go to work... when you go to church... when you pay your taxes. It is the world that has been pulled over your eyes to blind you from the truth." ..(Morpheus)

  • cool dude.

    yea, if you are serious about making this sort of game,

    or in fact serious about becoming a game dev full stop

    then just drop everything and go learn arrays and all the things they can do for you.

    then you will be like "yea I wanna reverse time, that be easy....."

  • Not sure I've seen a construct2/3 game with reverse time.

    So you may have to be the maverik on this one!

    The only real way to find out about performance is to make a test engine yourself.

    Sure there will be some trade off between how much and how often you record the data and performance

    but it may not be that bad especially if it is just position data.

    I think you may be complicating things by including physics as at the end of the rewind you would have to re implement whatever physics were present but still should be doable.

    Ideally you want to record every frame so I would start from there.

    If that is too much then maybe try 1/30 times per second with interpolation as newt as suggested

    As for learning arrays, they are not the scary monsters that they seem.

    Just visualize a spreadsheet which you can add and retrieve data from.

    there are only a handful of construct actions that you need to understand to do this.

    For starting off, (just to understand) I would suggest simple test platformer (without physics)

    Then just make a 2 x 120 array (this will give you two seconds of rewind)

    and every frame populate the array with the x y position of the player sprite.

    probably use the push pop method for this.

    push adds the latest value to the top moving everything down and pop removes the oldest value from the bottom so the array does not keep growing.

    that is the easy bit.

    the fiddly bit will be writing the events for rewind to read the array from the bottom to the top and apply them to the player sprite

    but still shouldn't be that complicated.

    But yea would love to see reverse time in action in a C2/3 game.

    I hope you give it a shot.

    PS. Im at work so cant make examples, but if I have the time during the week evenings I may try something cant promise though.

    (edit) now that Im thinking about it you may have to make the recording interval separate from frame rate and probably will need to have to smoothly move between the points if it reversing with slowdown. But anyway start with the simple example above to kick off the learning process.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The only way to do this would be to record the position , angle, state, forces etc of all the relevant elements in your game into an array or set of arrays at 1/x s timing interval. Then run through the arrays backwards when you want to reverse time. So definitely possible , lots of games have done it. Just need a little ground work.

  • Just to close this subject for other readers.

    I can confirm Ashley was correct in stating the project files load in milliseconds.

    I had my files populating a text field when finished loading so I could see that they were loaded

    It was this operation that was taking a couple of seconds.

    In reality the project files are loaded and accessible by the game engine in milliseconds.

NetOne's avatar

NetOne

Early Adopter

Member since 3 May, 2016

Twitter
NetOne has 4 followers

Trophy Case

  • 8-Year Club
  • Great Comment One of your comments gets 3 upvotes
  • Delicious Comment One of your comments gets 10 upvotes
  • Email Verified

Progress

11/44
How to earn trophies