NetOne's Forum Posts

  • 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.

  • Oh dear

    too long away from project! it's like looking at someone else's work!

    So nothing special, but kind of a little cool i think.

    Tonight I thought I would see if I could make sprite letters behave like enemies to use as a start screen and it mostly works.

    With a few tweaks I should be able to make them fly around and change maybe to indicate Level 123 etc.

    Of course doing this has broke the whole game so big not fun tidy up to follow. hmmm

    https://drive.google.com/open?id=1XK782XhlXvcdqTuUz8PphaKE9hfoEKXr

    (edit) sorry I just noticed the video is real janky.

    I dont know why this is, im using the same xbox windows+g thing as always. Maybe its that meltdown bug fix that is slowing down everyone PCs , dang .

  • Ahh interesting

    So if it is mobile app then no point of having custom loader.

    Does the C3 splash screen screen still show up on mobile app ?

    if so then cant you just dig the C3 image from the app files and swap with your own?

    If not then you can use a timed overlay on layout 1 (not loader layout) with your splash screen(s)

    i dunno sorry as i said i haven't done. there should be plenty here that have though.

    So now I am also intrigued about what exactly the paid feature "Custom Splash Screen" means then?

  • I have not done it so Im not 100% but I think

    Make a new Layout that you want as the Slash Screen/Loading Screen

    this can be just a static screen or your own custom loading animated bar or other widgets.

    then in the project options

    select this new layout as the "First Layout"

    then select "nothing" in the Loader Style

    then tick "Use Loader Layout"

    This will use your first Layout as the Loader/Splash Screen(s)

    You have to make sure the First layout is very very light and can load ultra quick otherwise you will have a black screen until it loads.

    As I said though ive not done before so Im not sure how to trigger to go to next layout when all loaded or maybe it happens automatically

  • Jank has been widely discussed in these forums under various guises. I’m sure I started a few threads myself.

    It used to be many times worse than it is now as far as I can see. Assuming it is not an issue with your code and as long as you have your sprites “preloaded” in the loading layout and preload sounds ticked there is not much more you can do your end. Going framerate independent dosent appear to help either. The issue has never really been fully resolved or even understood as far as I can see. Its possible it is something inherent in the underlying HTML JS tech, but also, if you go to the Chrome issue forums you will see that Chrome are also wrestling with issues around vsync signalling between OS, browser and monitors, especially when there is multi monitor set up. The only things I would say to you that I have noticed is that. 1) Jank is usually only an issue during the first 30 seconds after loading. 2) Is much less prevalent in standalone apps / nwjs packages and 3) There appears to be very much less jank (to almost negligible levels) as the game gets bigger, i.e. more memory / CPU / GPU being used. Sorry not much help but just FYI.

  • This has been discussed quite often on these forums. The basic short answer is no.

    However to put it in context , anyone can easily extract the assets from all games out there whatever format they are in. Some game packages may take a few steps more than others but ultimately nothing is sacred.

    Edit (To Add)

    Ive noticed some of the Steam nwjs packages are just downloaded directly to your PC so you can do whatever you like with them.

    But other nwjs packages are not obviously accessible or visible and need to run through the Steam Client.

    I've not released a game on steam so dont know how this is determined but obviously the latter would be preferable if you are looking for extra deterrent. (Though im sure the package must be buried in the Steam inner file system somewhere if you really wanted, never bothered to look though)

    Maybe someone who has released a game on Steam game could enlighten us?

  • Congratulations !