Ashley's Forum Posts

  • That's not to do with TypeScript - as per this manual entry:

    One extra requirement of Advanced minifying is that global variables must always be referred to as a property of the global object.

    i.e. you must use globalThis.InstanceType.

  • The video is 4 years old and since then we switched to using JavaScript Modules. With modules, everything is scoped to the same file and cannot be used outside of the file unless it's either exported and imported, or explicitly put in global scope with globalThis. The latest documentation reflects this.

  • Try exporting an Android Studio project - then you can modify the app using Android Studio like any other Android app before publishing.

    If you can find a plugin that does what you need, it may be able to make automatic modifications for you. However that typically requires a Cordova plugin, with a Construct plugin that wraps it.

  • Software does actually require on-going maintenance and so constantly costs money to run, maintain and support. It's like buying a car and expecting it to be free every time you take it to the mechanic - it's obvious that is not economical. Things tend to be less obvious with software as it's more abstract, but many similar principles of engineering apply.

    If a tool doesn't have a sustainable business model, it could end badly. If you're going to invest in learning and using a tool for a long time, you probably don't want the company to go under just as you're getting to grips with it. So a sustainable model is in the interest of everyone who uses the software, too.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Does it use that much memory on other platforms? If not, it's probably the Steam Deck using all that memory, not Construct, so it would be best to contact Valve for support.

  • Am I doing something wrong or is this a bug?

    It's a mistake in your events. The "Else" means "is not on Android". So your logic will only ever show "Android" or "OtherPlatform".

  • I think one of the big lessons of the Unity runtime install fee debacle is that game developers need to think about the sustainability of their tools. If the development of the tool is not sustainable then it can suddenly run in to serious difficulty and have to radically change things, possibly to everyone else's detriment. It seems to me Unity went with a very generous offer for many years, ended up losing huge amounts of money, and then suddenly tried to impose install fees on everyone to try to get back to profitability. Obviously that didn't work out, a huge backlash forced them to reverse course, they've now made thousands of staff redundant, and a question mark still hangs over their long-term future. The tool cannot continue to exist in its current form if they can't find a way to make its development sustainable.

    I know not everyone likes the subscription model, but it does guarantee that we can keep going indefinitely. It's clearly a sustainable model.

  • It looks like the Android WebView v121+ also supports WebGPU. However Construct still sets WebGPU disabled for Android exports, but that will be changed to enabled for the next release cycle.

  • Try using 'Set stepping iterations' and increasing the iteration counts. That will help improve the precision of the physics simulation, although at the cost of higher CPU usage.

  • That doesn't look like valid JavaScript code.

    If you are new to JavaScript coding I'd recommend going through the Learn JavaScript in Construct tutorial series, which will help you get the basics right.

  • I think this is actually a bug in timeline playback. The timeline has keyframes every 1 second. If you add another action like "Every 1 second, rotate sprite", then it rotates on the keyframes at normal speed, but at a timescale of 0.5 it rotates twice for every keyframe. So the timeline really is playing at one-quarter speed at a timescale of 0.5 which is incorrect. DiegoM

  • Update: WebGPU is now supported in Chrome for Android from v121+, which is currently rolling out as a stable release.

    WebGPU is not yet enabled in Construct for Android exports, but we'll be enabling it for the next release cycle.

  • They probably also just throw some hurdles in the way to make it harder and so are still hackable, unless they have a full server-side approach. Having a server-side gameplay system is extremely complicated and would often require rearchitecting the entire game, as it works more like a multiplayer game (with the server being a host and the player just acting as a peer in a remotely-hosted game). That could well be more effort than making the game in the first place, so it can be difficult to justify.

    I'd say: who cares? If some people hack the game, let them. If you have a global hi-score board, yep, it'll get hacked. Often games just show scores for you and your friends, or other people with similar scores, rather than just the top scores, so obviously fake top scores never appear anyway. You can also moderate your scoreboard so obviously fake scores (e.g. 9999999999) get deleted.

  • Focusing on the skills you're learning might help persuade people it's worthwhile. First of all, the games industry is even bigger than the film industry now, so there really are good career opportunities in video games. But even if you don't go in to games, a tool like Construct helps teach you real computing skills. The event system includes concepts like variables, conditions, functions, loops, data structures like arrays, and so on, all of which are real computer science concepts. If you then start trying out coding with JavaScript and/or TypeScript, you are then directly learning a real-world professional programming language that you could literally get a job working with, even if not in the gaming world. So think of it like an educational tool!

  • There is no fundamental solution. A client-side game can always be hacked. All you can do is throw a few hurdles in the way to make it harder.