DiegoM's Forum Posts

  • There is a post by Ashley explaining what is going on in this thread

    https://www.construct.net/en/forum/construct-3/general-discussion-7/local-file-folder-saves-chrome-147071/page-5

    Please note: the feature will become unavailable in Chrome 85 after Wednesday September 30th. It will be available again in Chrome 86+, due for release next week.

    The underlying feature in Chrome for file system access was previously in an experimental state, and the experiment is ending on September 30th, making the feature unavailable in Chrome 85. The reason the experiment is ending is because it is now enabled by default and available to all websites in Chrome 86+, which is scheduled for release on October 6th. This means there's an approximately one week gap in between where the feature will be disabled in the latest Chrome release.

    The one-week gap is actually an intentional part of the way Chrome handles experimental features. It is designed to ensure websites using the feature rely on detecting the availability of the feature rather than a specific browser, since relying on browser detection has been a long-standing compatibility problem for the web. (Construct of course already relies on feature detection, which it uses to decide whether or not to show the save options - which is why you may see them disappear.)

    As I've previously noted, experimental features are subject to change at any time. (I've also updated the editor for future releases to more clearly state that experimental features are subject to change at any time). If you need to use the feature during the intervening week I would advise to use Chrome Beta, which is already on version 86 and therefore has the feature enabled. Alternatively you can temporarily go back to using the other save options like Cloud Save. Once everyone is on Chrome 86+ in a few weeks, the feature will have fully graduated to a widespread stable release, so there should be no further such interruptions to the availability of local file/folder save options in future.

  • It didn't work?

    I tried it out in preview mode, and when the preview window has focus the shortcut does not work. It does work if the preview window doesn't have focus.

    Here is the test project https://www.dropbox.com/s/6scfsvwism7tmwk/PreventKeyboardShortcut.c3p?dl=0

    Mind you, this won't prevent the default behavior on the editor itself, only on the window the project is running on, be it the preview window or where ever the exported game ends up running.

  • Currently there is nothing built in Construct to prevent the default behaviour of the browser, but you can use a small script to do it. At the start of your event sheet add this script.

    // Listen for the document's "keydown" event
    document.addEventListener("keydown", (event) =>
    {
    	// If ctrl + H is pressed...
    	if (event.ctrlKey && event.code === "KeyD")
    	{
    		// then prevent the browser's default behaviour
    		event.preventDefault();
    	}
    }, true);
    

    That should do the trick.

    Here is a list of the names for keys if you want to add other shortcuts you would like to disable

    https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values

    An additional note, if you end up using this, you have to make sure that the script is only executed once. Otherwise each time the event sheet that has this script will add a new event listener.

  • Something like this https://developers.google.com/web/tools/chrome-devtools/javascript/snippets could also work, and would be much less troublemsome than an extension

  • Of the top of my head, I would write a Chrome extension. I would also need to look up a guide, because I can not remember at all how those work.

    Assuming the extension can have access to indexedDB, which is not too far fetched, it should be possible to programmatically find the data that needs to be deleted.

  • This problem is strictly related to what C3 does to restore the main layout of panes. It is a long standing issue, and we haven't been able to pin down what causes it, mainly because it is very difficult to reproduce, personally I have never seen it.

    By deleting the information from the browser's storage, the problem can be avoided. With no pane state data, C3 will just load with the default pane layout. Of course this is only a stop gap measure and the problem will eventually resurface.

    The easiest way to "fix" this is by deleting all the browser's storage, but that is not always desirable, as you loose other setting which have nothing to do with this. To delete just what is causing the problem do the following.

    In Chrome:

    1. Open Developer tools
    2. Go to the Application tab
    3. Expand the indexedDB entry
    4. Expand the PersistantMap entry
    5. Click on keyvaluepairs
    6. Right click and delete the "UI_STATE" entry

    That should get rid of only the part that is causing problems, instead of all the settings.

    It would be very useful to get a copy of the data that is causing problems, but I just realized that it is quite difficult to copy data right out of developer tools.

    I wrote the steps very quickly, so if you need any help finding any of those things just post back.

  • If you are specially interested in targeting mobile make sure you test what you are doing on a real device on a regular basis.

    It is quite easy to get carried away and develop only with the editor preview, only to realise later down the line that the project doesn't work quite as you would expect on a real device.

  • Jerbens Yes, because it is a rather large feature we decided on working on the runtime first, so we could get something out to the public as soon as possible. After the new feature becomes stabilised in the runtime we will start working on the editor tools.

    There will be specialised UI to be able to setup structures in the editor. I imagine there will be some extra work to integrate timelines, like being able to add all the instances in a graph to a timeline at the same time, instead of one by one.

    Asides from that, I have a feeling it is just going to play very nicely with timelines. Modifying a parent instance through a timeline will automatically affect all of it's children if it has any.

  • Just remember about the Set Instance action of the Timeline plugin.

    If you don't use it, playing a timeline will only affect the instances that were used to setup the timeline in the editor.

    https://www.construct.net/en/make-games/manuals/construct-3/plugin-reference/timeline

  • Picking has no effect on timelines, the only thing that is payed attention too are the tags. So if you have a bunch of timelines playing with the same tag, when you pause using that same tag all of them will be paused.

    One way of uniquely identifying a timeline is to give them a unique tag, possibly based on the UID of the instance involved. Then when you want to pause a specific timeline, recreate the tag after picking the instance you are interested in.

    Can you post your project or a sample of what you are doing so I can understand better what you are trying to do?

  • Consider adding this to our suggestions platform https://construct3.ideas.aha.io.

    I know it looks like we don't pay attention to it, but we do, it's just that the amount of ideas in there is huge and we can't keep up. If something gains enough traction though, it is more likely that something will be done about it in the future.

  • It shouldn't be a problem.

    This kind of designs basically doubles your workload though, as you are effectively working on two different games at the same time.

    If that is not a problem...

    You could have a layout in which you explore the world in a top down fashion, when you find a dungeon in the over-world your game logic could go to a different layout in which the side-scrolling portion takes place.

    When the side scrolling level is complete, by either winning or loosing, the game takes the player back to the over-world layout.

    Different points in the main exploration layout could take you to different side scrolling layouts. It should work just fine.

  • Rory You really want that Prefab goodness don't you? :P

    There will definitely be an editor tool to build hierarchies that can later be used at runtime.

    As for reusing a hierarchy... I think it could work like the Set Instance action of the Timeline plugin, where you can define a base timeline in the editor and then at runtime use it with different instances other that the one used in the editor.

    Something similar could work in this case.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • TackerTacker We initially imagined the feature as a way to build structures of instances, with no connection to rendering... having said that, a couple of actions to control the z indexing of related instances sounds like a pretty sensible idea.

  • dop2000 newt

    The next beta adds the option to choose what should happen to a nested child if it's parent is destroyed. It will either be destroyed with the parent, or just detached.

    As for containers, as I said, nothing has been even tested, just don't take what is said in this thread as a final answer. The next beta introduces a few new conditions to pick parent's and children so that will give more control.

    We are trying not to get ahead of ourselves, because it is not clear what the best approach is in some cases, we are trying to cover the basics and only after that is working look into the issues that people might have from actually using the feature.