Ashley's Recent Forum Activity

  • It does the overhead because you asked it to. By adding a 'for each' you are telling Construct 'repeat all the sub-events, conditions and actions for each instance'. So it does that for you. If you don't want it to do that for you, then don't use 'for each'.

    In general, computers can't guess what your intent is. You have to tell it what to do, and it will do what you tell it. This is true of all programming languages: if you write inefficient code, it probably won't guess that you could have used a more efficient algorithm and replace it for you, it will just do the best it can with the code you gave it. If you want it to do something more efficient, you have to write the code to tell the computer to do that instead.

  • The 'Physics catapult' example uses an impulse to catapult the player-controlled character. It looks like it works for me the same at 60 FPS and ~6000 FPS (100x faster). So it looks to me like impulses are working correctly even at substantially different framerates.

  • Running events has a small performance overhead for every event block, condition and action encountered. If you use 'For each' as in example 1, then it means the overhead for all the sub-events, conditions and actions is repeated for every instance. If you don't use 'For each' as in example 2, then the overhead is only done once.

    Sometimes however do you need 'For each' for correct results, such as if you increment a global variable in an action inside it, but my advice is not to use 'For each' unnecessarily. And as ever, if you want to know the real performance impact, measure it yourself.

  • It should just work. The default physics stepping mode is 'Framerate independent' which uses delta-time time steps. You don't need to change any physics forces or settings, the physics engine just uses time steps to match the framerate. I tried the 'Physics catapult' example and it works pretty much identically to me at both 60 FPS and in unlimited framerate mode running at something like 6000 FPS.

    You can set the physics stepping mode to 'Fixed', but then you get framerate dependence issues, i.e. it will go faster with a higher display refresh rate.

    The main downside with framerate independent physics is it's not a deterministic simulation. As delta-time is based on clock readings which have tiny amounts of variance, the simulation is not guaranteed to go exactly the same way every time. Different display refresh rates will also use a different time step and that can also introduce another source of non-determinism. You may have to design levels and such with some tolerance to allow for variance in the simulation.

  • Well now I'm curious, do the filenames need to be url-friendly?

    I'm not sure what you mean. Any filename you choose should load, within reason. If it works in preview mode, then the browser can load it.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The way subfolders works changed a while back. Check the 'Export file structure' property under 'Compatibility settings' in project properties. The new default is 'Folders', which means you must specify subfolder paths as well. For example if you have a sound in the path click/click1.webm, you must now use the string "click/click1.webm" when playing from a string. The old way ("flat" mode) allowed you to play from a string "click1.webm" even if it was in a subfolder.

  • Thanks for the feedback! I always thought there's a lot of software out there that's unnecessarily complicated, and we try to make Construct straightforward to use but flexible enough to be powerful.

    If you want to get back in to coding, perhaps try out JavaScript or TypeScript coding - I still think that's an underrated part of Construct, as you can use industry-standard languages and tooling and it integrates with event sheets too.

  • Will SDK V2 be a superset of SDK V1 (all SDK V1 functions + additional V2)

    Yes, the goal is for SDK v2 to be a superset of SDK v1 in terms of the officially documented and supported capabilities. We promise to ensure any addon using only the documented and supported features in the SDK v1 can be ported to SDK v2. In some cases we may change how the API works, so code is written differently rather than porting exactly the same set of methods, but in this case it will still be capable of the same feature the addon was previously using.

    Undocumented unsupported internal details of the engine are not supported, never were, and may be fully removed and become permanently inaccessible in SDK v2 as we always warned they might. This does not mean SDK v2 is not fully compatible with SDK v1 or that it is a subset: as is standard in the software industry the only concern is what happens with supported and documented APIs, and in that regard, SDK v2 will be a superset.

  • Construct will keep working offline so long as the browser keeps its data saved. It's not in Construct's control. Perhaps check your browser settings - if you have privacy settings or browser extensions that do something like clear storage (possibly referred to as "cookies", a term I think is a bit misleading) periodically, then that will possibly also clear the saved data for Construct to work offline.

  • I realise this thread is about 3 weeks old now, but I note that the methods of the YandexSDK class do not return anything, so they cannot be awaited. Async methods need to either return a Promise, or use the async keyword. Otherwise what happens is awaiting them will complete immediately, but the work is really still continuing in the background.

  • If you think you've run in to a problem with Construct please file an issue following all the guidelines, as otherwise it's generally impossible to help.

  • I will take a look at the integration points raised in skymen's thread. Perhaps we can do some work towards that over the next year.

    However making Construct in to a capable 3D engine is a huge amount of work - and likely endless work, regardless of whatever anyone claims about "we just need this one last thing". Providing APIs to integrate a 3D engine is also a lot of work, but probably not endless work, so while it seems a more feasible path, it's a lot of work either way. This will all take a lot of time and work no matter which path we choose, and that will require patience. Meanwhile there are other tools on the market that are already capable 3D engines, and if people really need a capable 3D engine to develop their game, then it may be wise to choose a different tool anyway, as it's not currently a goal of ours to develop Construct in to a fully capable 3D engine ourselves.

    Accessing the engine internals against our advice is not a sustainable or responsible way to develop software, no matter what results it can achieve. Our SDK documentation clearly stated that undocumented features may be removed at any time. Presumably you had a plan for what to do if the features you were using were removed, as the warning stated may happen. If the addon SDK v2 removes those features, then you should implement your plan for what to do in that case. If you didn't have a plan, or assumed it wouldn't happen, then what can I say? We tried to warn you about this very situation happening. In the other thread the gist of what I was saying is that we will make a best effort to try to make sure addons can be ported where feasible, but that is not a guarantee, and we reserve the right to say "sorry, we warned you". In this case it looks like there's a lot of work whichever way we go, we do not currently intend to make Construct in to a capable 3D engine ourselves, and integrating a separate 3D engine looks like it might be a better way forwards in the long term, and that will inform our priorities when considering what to add to the SDK v2.

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,436,882 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x108
    Coach One of your tutorials has over 1,000 readers
  • x62
    Educator One of your tutorials has over 10,000 readers
  • x3
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x36
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs