brushfe's Forum Posts

  • 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).

  • Well said! It's incredible how many powerful tools have been released this year, and how simple they are to use. Plus all the community-built tools we're seeing now!

    Thank you for taking a moment to remind us all of that, and thanks to the whole Scirra team for such an exciting year!

  • To be honest, with the current set of features, i'm not sure why i would go with the Flowchart instead of the Arrays (or JSON). Because Array would also allow us to store any number of values ("unlimited column numbers", while Flowchart are just more retrictive and require to parse data contained in just a 3 values max - Name/Value/Tag, it means potential huge token list which are not always very pleasant to deal with).

    JSON would even allow us to nest and manipulate any amount of Data/arrays/Dictionaries for each nodes.

    So IMO right now Flowcharts compete with Data Plugins while they could become something new that synergize well with Eventsheets

    100%, this is also the conclusion I've come to. This is such an exciting feature, and it could be a truly great addition to Construct, but I wonder if it's being designed functionality-first instead of use-case-first.

    In the end, Nodes should a) improve workflow of existing methods (make it easier to do what users already can do in Construct); b) make it possible to create new methods with the same ease as Construct (FSM, Dialogue, Quests); or ideally c) both.

    That's probably obvious, but if superior workflow and additional capability can't be achieved with nodes in c3, nodes shouldn't exist in c3. There's been a few additions to construct that felt designed in an engineering bubble, and I really hope that all the amazing users here can guide nodes to a truly useful and powerful addition.

    It's amazing that this conversation is happening and there are so many great ideas being shared. I can't wait to see how it progresses!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • An email just arrived about a sale something on my favourites list, despite already having purchased it.

    I didn't realize favourites lead to sale notifications; that seems like something for a wishlist. Or maybe favourites = wishlist on this store? I was using favourites to show support for great assets I'd already purchased.

  • Thanks very much for the clarification!

    The current setup does create a strange user experience: "layers" means something very different in the editor vs at runtime, but I'm not sure C3 users would ever think about it that way.

    Certainly for global layers, there's (currently) no reason to think that creating it dynamically would just be an empty layer with the same name. Up until runtime, using the name of a global layer overrides an empty layer and forces its objects into existence (which i think is the cause of the above expectation/confusion)

    But if that's the intent so far, it sounds like a feature suggestion should be made?

  • I just fell for the same thing... It seems dynamically created global layers don't create the objects on that layer?

    I can get it to work using the method mentioned above — for example:

    But it's a labour to have to manually recreate every single object with events (and keeping those events reflective of any future design changes to that layer).

    Unless I'm doing it wrong? Otherwise I'm not sure what the point of dynamically creating a global layer is, if not to bring the objects with it? (like how the editor does it, when you add a global layer to a layout)

    AVIX If you end up recreating another suggestion for this, please link it here!

  • Ah OK — it took me a while to develop the habit of switching from x/y to tileX/tileY. The Tilemap.PositionToTileX / Tilemap.PositionToTileY expressions are really useful for converting them.

    Good luck with your project!

  • Variables seem to work fine on my end (see below). Is this what you're trying to do?

  • There's a lot of different ways to achieve this, depending on your game's needs.

    To mark a level as completed, a simple way would be to create a series of global variables in your event sheet. These would be booleans, called "Level1Complete", "Level2Complete", etc. Because they're global variables, they'll retain their data from layout to layout.

    You could also create a Dictionary object, with keys named that way, and set to either 0 or 1. If there's going to be more information about each level you want to store, consider an Array instead of a Dictionary.

    However you choose to store these flags, you'll need to add a system condition called "On Start of Layout" in the event sheet for the level select. This only runs once, and it's useful setting things up before the user has control or sees anything.

    Now you can add sub-events to your On Start of Layout condition. Using the simple global booleans, you can add events to each one to see if it's true, then unlock the level if so (such as "If Level1Complete is True, destroy LevelIcon"). If you use a Dictionary or Array, you can do the same (and more) in a more elegant way.

    Hope that helps!

  • Let us know what you end up with! I'm sure a lot of people would love to know!

  • I have seen some games slow the player and camera speed while on stairs, to give the sense that they're climbing up or down. Sometimes it's coupled with a unique walk cycle animation. Food for thought!

  • Sure thing! Maybe your last idea could be accomplished by altering layer scale - check out the manual entry for more on that!