GeoffB's Forum Posts

  • There are many ways to do this, including securing the files themselves (tricky), or just making your game not run unless it's hosted where it's meant to be hosted.

    For example, you could use the Browser object to see where the game is currently being run. Set something like this in your first layout:

    If System: Browser.URL = "https://your-company.itch.io/game-name" then load up the game. Otherwise just don't do anything (or show the user a message).

    And definitely minify your code!

    Anything can be spoofed/hacked/circumvented. I remember releasing a Unity game on Steam and literally that same day it was on the torrents. Sadly there are always going to be thieves :(

  • You can add BBCode to any text object, see here: construct.net/en/make-games/manuals/construct-3/plugin-reference/text

  • I've set up convenient editor configurations many times and it irritates me to no end when it just gets reset. I like to have a little notepad docked in the corner, and have also taken the templates layout approach.

    It seems like the layout remembers predefined Bars like bookmarks and tilemaps, but doesn't treat event sheets, layouts, scripts, etc. in the same way.

  • I use them as a last resort, but never really had much trouble getting them to trigger!

    I do find them kinda finnicky though, like getting out of breakpoint mode and returning to the editor. The amount of times I've wished for a step-through is about as many times as I've actually used breakpoints, so I do think they could be better.

    But yeah, I tend to avoid the debugger as much as possible, generally rolling my own for most things.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There are 2 user-made addons for outlines: construct.net/en/make-games/addons/449/better-outline and construct.net/en/make-games/addons/265/outline

    Try them both and test performance impact, if any. I have found that these hit performance in mobile, but are negligible on desktop.

  • Refactor the events so that you set reloading to 1 as you already have, then do a separate event something like:

    Reloading = 1, every x seconds : play sfx etc, add 1 to ammo.

    - If ammo = max, set reloading to 0.

    For tighter control, use the timer behavior and add 1 to ammo on timer. If ammo < max, restart the timer. This way you can stop the timer instantly if needed (like a powerup or on picking up a new weapon).

  • Not the most elegant solution, but you can set it to Mouse.X*1.1 for a 10% increase, *1.2 for 20% etc.

  • Set full screen mode to Scale Inner or Scale Outer. Then use Anchor behavior on necessary UI or other objects to make sure they fit the display.

    Check out this tutorial: construct.net/en/tutorials/supporting-multiple-screen-17

  • Open this example: editor.construct.net

  • Does this happen on all layouts? In all projects?

    Things to try:

    • F12 (or Mac equivalent?) for dev console in Construct. Check for any obvious errors.

    • Disable and/or update any third-party plugins.

    • If you're on beta, use a stable version of Construct.

    • Update video drivers.

    • Update Safari or try another browser.

    • Update your OS.

  • You'll need to use a Content Delivery Network (CDN) or make your own. It could be as simple as downloading files over http or integrating into something like Azure.

    Unfortunately you're limited in how much data can be stored locally. I don't know the best workarounds for this but you'd need to figure out a plan before you commit to any system.

    There's also the matter of dynamically loading sprites/etc., which Construct does well but you'll need to do a fair bit of setup to make it work like you want. For example if you're adding new objects with their own collision polygons and instance variables.

    For my own projects, I tend to only use a CDN to pull through data (json and html files) and a handful of images for special events in the game. All other objects are loaded into the project, even if they're not always used.

  • On the properties bar for the Audio object, set Save/load to None. It's usually not important to start the music from the exact same spot after loading. But if you do want that to happen, store Audio.CurrentTime("music") as a global variable and when you return, play the audio file and then seek to that time.

  • For UI you generally want to have the objects on a separate layer that is set to render in 2D and set parallax to 0%,0% (set on the layer properties). It'll respect the screen ratio and won't scroll, regardless of the 3D camera's position.

  • Do you mean you want the object to always move at a constant speed? If so, set the acceleration and deceleration to something high like 10000. The object will accelerate to its maximum speed instantly.

  • There could be more at play here, but it looks like simply adding "For Each -> Cards" under the Arrived trigger will take care of this issue.