dop2000's Forum Posts

  • I might just have to give up on it, unless maybe you have any other ideas to try?

    I don't, sorry.

    You can publish this game for free on the Arcade, itch.io, etc.

    construct.net/en/free-online-games

    itch.io

  • There's no delay whatsoever on my PC, the preview starts instantly, and there are no errors in the console log.

    Do you have this delay when running other projects, say, C3 examples like the Kiwi Story? Maybe your Chromebook is just too slow.

    From the Google Play screenshot, it looks like the MainMenu layout loads and some of the graphics appear (the blue tiled background), but other sprites and text are missing. I have no idea why this happens. Have you tried building an APK and running it on your phone?

    There is one problem I noticed - you are using Fantasy font. You need to add it to the project, and make sure all text objects are using the project font, not the system one.

  • You need to share your project file (C3P), not the exported game.

    As for F12 on Chromebook, this is definitely possible:

    youtube.com/watch

  • I can share the file, I am just not sure how to, I don't see an attachment option.

    You need to upload it to a file-sharing service (Google Drive, Dropbox, etc.), generate a public link and post it here.

    Here is the console though, is there something in particular I should be looking for?

    That's the debugger. You need to press F12 in Preview and select the Console tab. Check if there are any errors or unusual messages in the log.

  • I have also reproduced the startup delay when using Construct 3 Preview, so it does not appear to be limited to the Android export.

    So you see the same 1-4 seconds delay every time you preview it in the editor? Have you checked the console log?

    Can you share your project file?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Awesome, thank you!

  • Here's where you submit bugs:

  • Maybe you could set an instance variable in the timeline that’s normally a different value. Or if you specify the instance at runtime with the “set instance” action you could try to keep track of it then too.

    The idea is that someone else (not a programmer) will be creating the timelines, and I don't want to complicate things for them. Storing instance UIDs or other identifiers in the timeline tracks isn't much different from hard-coding them in events.

    Here is a possible usage scenario: there are multiple NPCs on the layout. Dialogues can trigger various timelines, which may move one or several NPCs or other objects. I need to know which NPCs are currently being moved by timelines so I can update their appearance accordingly.

    Yes, there are workarounds - for example, I could monitor when their position changes and assume it's the result of a timeline. But I don't understand why there is no proper way to pick the instances controlled by a timeline. Why is there a "Set track instance" action, but no "Get track instance"?

  • For example, I have multiple Enemy instances, and I use a Timeline to move one of them. I want to identify/pick that particular Enemy instance.

    The Timeline Controller doesn't have any expressions or conditions for that. As far as I can tell, the scripting API doesn't expose it either.

    Is there a way to pick controlled instance(s) or get their UIDs?

    Tagged:

  • You can surround it with invisible solid borders.

    Or clamp its position on every tick:

    Player set position to
    X: clamp(self.x, Floor.BBoxLeft, Floor.BBoxRight),
    Y: clamp(self.y, Floor.BBoxTop, Floor.BBoxBottom)
    
  • 1. You can write and read files with the File System plugin:

    construct.net/en/make-games/manuals/construct-3/plugin-reference/filesystem

    2. Steam Cloud simply syncs the files across devices, so you don't have to worry about it. You just need to tell Steam which folder you're saving them to.

  • Your question is too broad. I'd start with the Timer, MoveTo, and LineOfSight behaviors:

    Timer to schedule events (like performing the next attack).

    LineOfSight to find the next target within range.

    MoveTo to move to that target.

    The most difficult part will probably be the target selection logic. For example, you don't want every unit to attack the same enemy just because it's the closest one.

  • How are you saving the data? If you're using System Save/Load, saved games are usually compatible between versions unless you make major changes to the game, start removing, renaming objects, etc.

    If you're saving to Local Storage or to a file, it's up to you to ensure compatibility between versions.

    For example, if you're loading an item from Local Storage that didn't exist in older versions, make sure to check whether the item exists first. If it doesn't, assign it a default value.

  • I suspect the problem is caused by picking by UID. If the event runs for multiple enemy instances, the "Pick instance with UID" condition won't work correctly. You could try fixing it by adding "For each Enemies" as the first condition.

    That said, linking objects by UID is an outdated approach. I'd recommend connecting sprites and hitboxes using hierarchies instead. You can do this in the event where an enemy is spawned, or even create the hierarchies manually in the editor (on an unused layout) and spawn the entire hierarchy.

    For example, creating a ZombieHitbox with the "Create hierarchy" checkbox enabled will automatically create both the hitbox and the sprite with zombie animations.

    Then, in events you can simply use the "Enemies Pick child EnemySprites" condition.

  • It's very easy to make your own progress bar using a sprite or tiled background. You literally only need a single action:

    -> ProgressBar: Set width to Self.ImageWidth×progress

    Where progress is a number from 0 to 1.

    Here is a slightly more advanced example:

    howtoconstructdemos.com/simple-healthbar