Ashley's Recent Forum Activity

  • My best guess is a browser extension is interfering with Construct and causing a problem. Try disabling any browser extensions you have installed.

  • Addon SDK v2 runtime scripts can now import modules as of r398+, but note currently those are currently only beta releases, and so if an addon does that it won't work in the latest stable release. Therefore I've held off from documenting it as it just means people making addons that won't work for most people. However if you want to experiment with it in an addon and hold off on publishing it until the next stable release, then the way to do it is:

    1. Add two extra runtime scripts: main.js and myModule.js (see existing docs on adding extra runtime scripts)
    2. In the editor plugin, call this._info.SetRuntimeModuleMainScript("c3runtime/main.js")
    3. As the content of main.js, use:
    import "./plugin.js";
    import "./type.js";
    import "./instance.js";
    import "./conditions.js";
    import "./actions.js";
    import "./expressions.js";
    

    Now you can write whatever you want in myModule.js, and import it in any other runtime script like normal, e.g.:

    import { Thing } from "./myModule.js"
    

    Basically if your addon does not call SetRuntimeModuleMainScript(), it creates a default one that imports all runtime scripts - in this case including myModule.js, which isn't how you want imports to work. When you call SetRuntimeModuleMainScript(), then Construct only imports main.js, and then all other scripts are loaded by imports - which allows you to choose not to import every runtime script, and instead set up a tree of imports.

    When the next stable update is out I'll update all the SDK samples to use SetRuntimeModuleMainScript() so you can use those as templates.

    • Post link icon

    I don't have much more to add, other than: yep, that sounds like a graphics driver bug. I've seen such issues plaguing software and game development ever since I started coding around 20 years ago. They're a total nightmare.

    Your best bet is still to try to get in touch with AMD - or perhaps report it to the browser vendors who may be able to figure out a workaround. For our part, even if we wanted to try to help, we'd have to start by ordering in affected hardware and building a system that reproduces the issue, which may then not reproduce the issue because it actually depends on something we haven't figured out yet; even if we reproduce it, it may be impossible to work around in our engine anyway, in which case we're back to square one. I've attempted such things in the past and generally it's hopeless, so it's best to follow up with browser vendors or the GPU vendor who are generally better prepared to deal with such issues.

    If using WebGPU works around it but there are other issues, you can report those to us, or list them here if they are already reported, and I will try to prioritize them. The architecture of WebGPU allows for much simpler drivers, which should hopefully make cases like this much rarer. In the long term our goal is to move to WebGPU by default and ultimately (probably very far in future) retire support for WebGL.

  • That shouldn't happen. Perhaps your addon is including a library that overwrites it? Or some accidental code that assigns over it?

  • That feature request appears to reference supporting looping conditions, which is now supported with the createLoopingConditionContext() API. All the old APIs around the event sheet manager, current event etc. where previously only there in order to support looping conditions, which is now more conveniently handled with the new API.

    I'd rather not expose the internals of the event system, as it is a very large and complex API, exposing such details to addons can severely limit our ability to make future improvements, and I'd rather addons did not tinker with the event system anyway, as sometimes addon developers do things that contradict the intended design of the event system. We could consider small, specific features, if they have a clear and important use case that cannot be feasibly achieved any other way.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Other storage APIs like IndexedDB should work fine in preview - in fact that's what Construct's own storage does. It doesn't do anything to prevent other code using them. So they should be working fine. Perhaps you made some other mistake.

    You could also use IStorage to access the runtime's own storage system, backed by localforage.

  • It's not supported for built-in instance variables, but you can achieve this by putting a Dictionary in a container with another object like a Sprite. Then you get per-instance dictionary storage, much like instance variables, but with full dynamic capabilities (e.g. using runtime string for keys) and the ability to inspect which keys are set.

  • It's not currently supported. What do you need it for? You could post a feature request.

  • Removing that warning doesn't mean the project will work on file:// - it still won't work.

    If you want to export a project that works locally, use a desktop export option like Windows WebView2.

  • Also I don t think a tilemap would work because its 1 object. I need all the sprite or tiles of the map to old informations like variables.

    Use a Tilemap and an Array object to store per-tile data. That would likely be far, far more efficient.

  • You should use WebM Opus for all audio - it's the only format that consistently works across all platforms.

    It's difficult to help further without a sample project. Providing a project file that demonstrates the issue is always the fastest way to get help.

  • Our official advice is in Performance tips.

Ashley's avatar

Ashley

Online Now
Early Adopter

Member since 21 May, 2007
Last online 10 Mar, 2025

Twitter
Ashley has 1,450,306 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
  • x109
    Coach One of your tutorials has over 1,000 readers
  • x64
    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