brushfe's Forum Posts

  • I think you do have to consider the user expectations here. If C3 says "we have flowcharts", but lacks a lot of functionality in most other flowchart software, it seems more than fair to be disappointed.

    And without a feature roadmap or similar communication, users have no idea what's still to come, what's set in stone, what's open for feedback, etc. We don't know what skill level or depth is planned, so we don't know how to judge its competency. Eventually, the feature gets so far down a road that popular/necessary additions can't be added (the code is too complex, there are too many tutorials in the old way, etc).

    I wouldn't call this entitled. To me, it's a expected reaction of the system in place, where features are unable to stay in beta longer than a release cycle.

    For example, if Flowcharts were called "Flowcharts (beta)", user expectations would be in line with the developer intention - namely, that there's work to be done. This would remain "Flowcharts (beta)" until the vision was more or less achieved. Part 2 would be updating the Flowcharts thread whenever new feedback was sought by development.

  • It was getting tough to write my reply in a post, so I've included a project file instead.

    drive.google.com/file/d/1IJ_qGf-QpLqc7tWqky5CYzlBKM7GipWK/view

    The basic premise is to use a "shooting" boolean variable (0 for not shooting, 1 for shooting) at the end of animation names. So "jump0" is jumping without shooting, "jump1" is jumping and shooting.

    This way you can switch between any animation's shoot/non-shoot variations whenever your timer expires.

    Hopefully the project file is clear, let me know if it helps!

  • When you use the "Set Animation" action, you should be able to choose "current frame" instead of from "beginning".

    If your two animations are identical apart from the gun being raised, and have the same animation speed, this should align them.

  • You can add the elements you want to pause into a family, and use the system action "Set object time scale" to pause/unpause just that family. (this can be done with multiples families as needed)

    To the point above, enabling/disabling folders is also a very good idea, particularly for inputs, AI, level effects.

  • This is fantastic! Thanks a ton for sharing it. The approach you took is really interesting (and so simple!) and I'd certainly love to see how you develop it!

  • That's great news! And thanks for sharing your solution - we've both learned something new about json :) Good luck with the rest of the project!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Oh good! I'm glad you've discovered those quotes at the heart of it.

    I haven't learned to use JSON yet, but there are many here who can help with that. Hopefully someone else can chime in on that!

    But I have run into the quotes problem in other ways before. Dictionary values can be any type, and if non-numeric characters get mixed up with numeric entries, I think Construct treats it like a string (and the numeric value of a string is 0).

    There's a system condition called "Is value type" which could help check that, but the solution seems to be getting those JSON quotes sorted so your value are consistent wherever they are.

  • It's hard for me to say without seeing the project.

    I beleive Set Key requires the key to exist already, which can sometimes cause problems.

    Does this happen in a fresh project, with just the keyboard and dictionary objects?

    Lastly, it's a longshot, but do you have quotes around the number in the dictionary?

  • I believe you can hold the Control/CTRL key when you press crop, which trims any transparent pixels around the edge

  • Thanks for looking into this!

    You're right - it succeeds if you work backwards from a button being pressed, instead of forwards from a gamepad index:

    But the first approach seems like a bug; construct knows the gamepad's index in the condition, but not in the action?

  • Two PS4 controllers have connected successfully via bluetooth, but there's a strange error showing up in the gamepad object.

    In the event conditions, these gamepads have two separate gamepad indexes. But gamepad.gamepadindex is returning -1 for both.

    Is this an error with my code or gamepads? Thank you for any insight!

  • Try changing "is S down" to "on S pressed" (where you're calling the walk animation).

    Currently you're starting your animation from the beginning every single tick. As long as you're pressing the S key, the "is S down" condition is true every single tick (sixty times a second or more). It looks like it's not playing at all, but it's just restarting so fast that you never get to see beyond frame 0.

  • On some posts—I believe they're all by Scirra members—it's not possible to change your upvote/downvote.

    For example, if you want to change your downvote to an upvote, or accidentally click one over the other, you get the browser message above.

    Is there a reason certain posts can't be adjusted? Or is it a site bug?

  • As an average skill-level user, I'm still struggling to understand the superior roles flowcharts play in game design. It seems like a series of lists that have links to other lists?

    The conversation here makes it sound like a lot of the things you'd expect to do with a flowchart (state machines, AI behaviours) aren't possible. For users down at my level, I'd love to see the Command & Construct approach taken here. Developer videos walking through how to build whatever components of games flowcharts are designed for.

    Now that we can try them without crashes, some feedback if it matters:

    • There's a lot concepts (flowcharts, nodes, controllers, names, outputs, parents, values...), and using them can be confusing (is the controller the same as the flowchart? is the node value field the same as flowchartcontroller.outputvalue?)
    • The language is also a bit much: things like renaming the "FlowchartController" to "Flowchart" (like the Timeline object), and letting me rename each node instead of everything being called "Flowchart node", would help.
    • I wish there was at least a variable check before each data point a node. Assuming you're supposed to make dialogue with this, something like "Hero.HP < Hero.HPMAX" before the option "I need healing." would make that possible.
    • I'm also not sure what "name" means on the node columns. In the questionnaire example, everything under "name" is a "type" (message, link, etc). Is this just a string-based reference to the value, like the index number?
    • I don't find the UI user-friendly, (no grid snap, small node windows, resizing the nodes only stretches the "out" column, no zooming). Hopefully this gets an overhaul before release.
    • It would be great if the C3 stylesheet for nodes matched the stylesheets for timelines. Currently, some existing construct themes break (see picture below).

    Maybe I'm not used to the feature or good enough to grasp it. And none of these points are as important as the comments above from more experienced users. This feature doesn't feel like a beginner tool at all, so if they don't find it useful, there doesn't seem much point in doing it!

  • Our approach with flowcharts is, currently, as a data structure only. This is suitable for things like conversation trees which are typically structured in an ordered way, and game logic stays in the Event Sheet View (or coding). I think this is a good way to bring the benefits of a visual designer for tree-like structures without the downsides of spaghetti-logic.

    If so, it seems there'll be quite a gap between the expectations of this feature and the uses you're building it for (meaning it's setting up a lot of disappointment, looking like it does more than it does).

    If it's just a series data structures connected to each other in a linear fashion, couldn't each flowchart just be one big data table? If the nodes aren't going to have conditions/reactions between them, there's no need for all this big empty space between them. The arrows linking node to node could just be index numbers. And there would be no need for scrolling around, looking for a certain node's tiny title, etc; it's all just one big table (like an array, but with fixed content types in each cell).