Ashley's Forum Posts

  • macOS has strict security restrictions which make it difficult to run an app until it's been signed/notarized. There's some information in the guide on Exporting with NW.js.

  • That sounds about right - the problem is the Steam Overlay doesn't work properly and Valve need to fix it. I've gone to great lengths to try to get it to work but there's nothing much more we can do as it's Valve's software which is out of our control. I'd happily talk to anyone at Valve about it, and I've tried repeatedly but just cannot get through to anyone there about it.

  • Valve say it should just work, and there is virtually no control the game has over the Steam Overlay - the only API functionality is to ask to show the Steam Overlay (there isn't even a way for the game to ask to hide the overlay). The display and interactivity of the Steam Overlay is handled entirely by Steam which is made by Valve, so if you have any issues with it, you should contact Valve.

  • You shouldn't use Local Storage with Steam Cloud. Use File System writing to a dedicated folder.

    If your game already uses Local Storage, you probably want to set up something like the following for backwards compatibility: use File System to write to a dedicated folder for Steam Cloud, but also check Local Storage for any older saves made that way, but don't save any new data to Local Storage.

  • You should be able to use File System to write files to a folder that Steam Auto-Cloud will sync for you. There's some information on this here.

  • That looks a lot like this issue that I filed back in March (and is noted under "known issues" in the original post here). I'll add a comment noting the device you mentioned.

  • The Linux export option is new and currently only available in beta releases. It will make its way to the next stable release on the usual schedule (hopefully within a few weeks from now).

  • The Windows WebView2 and Linux CEF export options both support Steam, and we're working on adding it for macOS WKWebView too.

  • I'd recommend using the Windows WebView2, macOS WKWebView, or the new Linux CEF (currently latest beta only) export options if you can - long term we will likely be phasing out NW.js.

  • I'm afraid generally it's impossible to help without more information, which is why we came up with our bug report guidelines. It's best to file an issue following all the guidelines as we need all that information to be able to help.

  • Did you try running from the terminal to see if any errors were logged there?

  • I tried that project on an iPad running iOS 16.7 and it seemed to work fine for me.

    This happens a lot, which is why we ask that any problems are reported to the issue tracker following all the guidelines - normally we need all the requested information to be able to help.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's difficult to help without more information. Are all your audio files in WebM Opus format? Can you share a minimal project demonstrating the problem?

  • Press F12 and look in the browser console - are there any error messages?

    Try disabling any browser extensions you have installed, or try using a different browser. A common cause of people having weird issues loading Construct is buggy browser extensions that interfere with Construct and break it.

  • I set up dual boot to Ubuntu 22 LTS. WSL is good for command-line stuff but its support for GUI apps is clunky and a bit weird - I don't think it's worth using. A VM should probably work as well, but I just boot in to a real system to remove any complications from VMs (particularly around GPU drivers, which seem to not always work so well in a VM, and Linux has enough trouble with GPU drivers as it is).

    I'd note the OS version you build on has significant compatibility implications: due to the way glibc seems to work on Linux, it requires the glibc version of the system you build on - so in short it won't run on any older OSs than the one you build on. This seems to be a particularly horrible aspect of Linux development: use too old a system and all the compilers are out-of-date and you might not be able to build anything at all, but if you choose too new a system it won't support some older OSs still in use. You can work around this with various options for virtualization, building your own toolchains, or integrating runtime environments (Steam has one) - I researched those and they all look like a total nightmare. So I just use Ubuntu 22 LTS and build on that and it seems good enough and the right balance between old and new.

    Also you have to install Steam directly from steampowered.com (I noted this in the Steamworks documentation). Ubuntu's app store has Steam, but if you install it from there, integration doesn't work. I haven't looked in to this too much but I'd guess that Ubuntu's app store uses some kind of emulation to install the Windows version of Steam and be able to run Windows games, whereas the official version is a genuine Linux version; as Construct's Linux export is a genuine Linux export, I guess it can't talk to a Windows emulated version. Just a theory though. To help debug it you can run the exported Linux app from a terminal and you should see some messages logged to the terminal about whether the Steamworks plugin was able to initialize. If it doesn't load it at all, probably something else is wrong, like the .so was built incorrectly (e.g. perhaps built on a system using newer glibc or something like that).

    Fortunately it looks like Valve have done a good job of making the Steam Deck easier to work with - obviously you can't do things like install the wrong Steam, its glibc is pretty up-to-date so that doesn't cause a problem, and generally if it runs on Ubuntu it just works on the Steam Deck too. I don't think I had to actually change anything at all specifically for the Steam Deck.

    For IDEs, I just use VS Code - I'm already familiar with it, and if you install the C++ and CMake extensions you can build, run and debug in VS Code, and it's good enough. Of course you can use different tools, build setups or whatever, but in my limited experience you quickly end up going down a rabbit hole doing things like spending hours configuring a build system to build a custom tool to build something else, and I'd rather do something straightforward so I can actually get real work done.

    In short I learned a lot about Linux development, and it's overall a huge pain, and no surprise lots of people don't bother (sorry Linux fans - at least sort out the glibc situation and the whole thing will be a lot better). However I focused on getting as simple and straightforward a setup as possible, and that makes it tolerable. Perhaps I should write this up in a blog or something.