Ashley's Recent Forum Activity

  • Would it be possible to provide a reliable way to tell if the game is running on a steamdeck ?

    The Steamworks plugin has an 'Is running on Steam Deck' condition. It actually also has a script interface and you can use the isRunningOnSteamDeck property from JavaScript too. However I realise that script interface is currently undocumented - I'll see if we can get that written up somewhere.

    Additionally, detecting Steam OS might be great too ?

    I don't think there is any way to specifically detect Steam OS - I think it looks to the app like any other Linux system, and there doesn't seem to be a Steamworks API to identify Steam OS specifically (just the Steam Deck). If you only use Linux exports for Steam OS then you can probably just use the Platform Info 'Is Linux export' condition (or equivalent JS API).

  • It looks like you've somehow installed two addons with the same ID, which is not allowed. Try clearing your browser storage, which will erase all installed addons, and then start over re-installing addons.

    • Post link icon

    Update 8th January: please note the work has been rescheduled for Wednesday January 15th. It was originally scheduled for Monday January 13th. All other details remain the same.

  • There isn't a specialized script interface for 9-patch at the moment - so unfortunately there doesn't seem to be a good way to identify those kinds of instances... maybe we need to add a new script API to cover that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It sounds like one of the Steam library files is missing - is libsteam_api.so there? If not, that's the problem. Maybe try a fresh export and make sure all files are uploaded and fully overwrite the existing files on the device.

  • I received the project and it is indeed that there is an invalid name that starts with a space - it's the animation name " Bombed6" in object "BoardDoor". The easiest way to fix this is probably to open it in r388, rename the animation to not have a space at the start, save the project, and then reopen it in a newer release.

    There is a special error message meant for cases like this (linking to this guide) but it wasn't shown for animations, so I've fixed that for the next release.

  • Due to architectural differences with CEF it doesn't currently support opening dev tools automatically, but you should still be able to access it via chrome://inspect. It's documented here. You can also use that to debug a different device via remote debugging, similar to how it works for Android devices.

  • I just tried a test project that runs throw new Error("test") in an 'On start of layout' event, and running goToLastErrorScript() in the console correctly highlights the script block in the editor for me.

  • If you want to do something like identify if an instance is a Sprite instance, you can use inst instanceof ISpriteInstance. The instance class names are documented in the manual, e.g. here for Sprite.

  • Send the project to ashleygcp@scirra.com and I'll take a look. We want to make sure Construct can always open older projects, or if some compatibility change has prevented it opening, at least show you a useful error message indicating what that is.

  • Lancifer - your tone is too harsh - even if you disagree with the addon developer it us up to them how they advertise or license it. Please review the forum & community guidelines to avoid further moderation action.

  • Preventing cheating is essentially impossible, but I find it strange that these commands are globally accessible. Is there a specific reason for this?

    Basically there's no difference between writing JavaScript code in your project, and running commands in dev tools. So there's no good way to block one off but not another.

    Another concern is the possibility of players bypassing paywalls.

    Welcome to the DRM arms race. All you can do is invest increasing amounts of time to make it increasingly difficult for anyone to bypass protections. It is not generally possible to make it completely bulletproof for the reasons I mentioned. The best protection is an account system with server-side validation.

    FWIW, blocking off various JavaScript APIs is only minimal protection. If your "no ads" option permanently disables ads by saving something in storage, then someone can run a command in dev tools to write the same thing directly to storage - then there's no need to go via your project's logic and no amount of blocking off code features will help. In principle on the client side nothing is trusted and everything can be manipulated. The only way to put things beyond reach is to move it to the server side, and even that has ways around it - clients can intercept and change responses from the server too!

    My advice: as long as it's fairly difficult to do, 99% of people won't do it. I'd count accessing dev tools and running some specific command as fairly difficult for most people.

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,763,482 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
  • x125
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x5
    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
  • x42
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs