NedSanders's Forum Posts

  • I've been trying to create a system for reading and writing variables through expressions (i.e. a function to evaluate an expression like "Var1 == 0 & Var2 = 1" and similar functions to change/add/subtract variables). For a while, I've been assuming the best way to do this is to declare the variables in the Event Sheet as normal, then interact with them through code but it occurred to me after another readthrough of the (brilliant) scripting documentation that I could just declare the variables in script (let Var1 = 1, etc.) and avoid the awkwardness of Event Sheet/Javascript cross-communication altogether.

    I'm still not completely confident with Javascript and would still keep the majority of the project in visual code. With that in mind, are there any particular pitfalls or dangers to handling most of my variables in javascript?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's been a while since the Flowchart tool has dropped and it's received a few updates in that time.

    Over the last year or so, I've been on-and-off trying to create a robust system for handling complex dialogue in Construct, including all the bells and whistles you might see in a tool like Articy Draft, Arcweave or Dialogue System for Unity. A lot of it is a case of creative uses of the tool, custom functions for variable evaluation/execution and establishing good internal best-practices and standards. I've managed to get it working well enough to use it for some basic conversations in a few games already but I know it's going to be a while before it feels stable enough to handle the kind of stuff I want to throw at it.

    I'm interested in the uses that others have got out of Flowcharts, if anyone's tried anything similar and - if so - what best practices or creative implementations they've settled on. I think the tool has massive potential but I don't see people discussing it much and I think it would be cool to share the stuff we've learned whilst playing around with it.

  • You do not have permission to view this post

  • You do not have permission to view this post

  • I have a function that uses the set return value action. Strangely, everything in the code seems to work as intended, except for the return value function. The debug text object always displays "???" and when I remove that line, it displays "" (i.e. an empty string) regardless of the outcome.

    The image below contains comments, which should make it clearer.

    I may be missing something, but if the set opacity events are triggering, surely the set return value ones should be as well?

    Tagged:

  • I’ve been developing a mobile app which uses text input HTML object. I’ve noticed that selecting the text input causes the browser to zoom in automatically and then stay zoomed in permanently when using on mobile. Is it possible to disable this?

    This is being hosted on itch.io for testing, I’ve included a link below as well as a video of the issue.

    Itch: nedsanders.itch.io/vtm-app

    Video: drive.google.com/file/d/146KFDTKoPQ8VRXcoJw_C0jqEF17yIh-v/view

  • I'm trying to use the Evaluate Expression condition to parse expressions stored in a variable, but the more I try, it's overwhelmingly seeming like this isn't possible. I've created the following simple block of code to demonstrate, but no matter whether the Expression variable is true or not, it always shows as true. Have I misunderstood the condition?

    Part of the reason I want to achieve this is to facilitate a rudimentary conditions function in the Flowchart tool. The idea is that certain nodes can have tags that will just be expressions ("Coins => 25", etc.) that can be read by the Evaluate Expression to determine the outcome. I'm aware that javascript has an eval() function that as far as I'm aware, allows for this exact thing, but Construct doesn't seem to recognise it.

  • There are tutorials on using JSON to handle branching dialog:

    https://www.construct.net/en/tutorials/json-branch-dialogue-example-3013

    https://www.construct.net/en/tutorials/branching-dialogue-using-json-2395

    These are relatively outdated, given that the Flowchart system is probably the most viable route for this now. I've built a prototype dialogue system using it and it's powerful, just limited by how young its feature set is as of now.

    It's very easy to create a simple dialogue system in C3, but as you add more complexity (conditions, tags, variables, etc.) it tends to fall apart. I got as far as the ability to change and read variables from a dictionary and enable basic conditions, but the whole thing felt extremely unstable and I wouldn't feel safe committing to an entire game built on it.

    I agree with OP that a plug-in to handle those more complex features would be ideal - but it's also hard to know whether it would be a waste of time or not, since Ashley and the team have been very hush hush about the roadmap for Flowcharts and how much more they intend to develop it. I - like a lot of us atm - am just waiting on more info before I continue any branching dialogue heavy projects.

  • I also haven't found a use for it yet, and would be curious if there's anyone who has.

    I've been using it to build a pretty simple branching dialogue system (clip below). It's a little awkward and I'm finding that you have to establish your own limited functions and mechanics in order to work with it but I'm hoping we get a bit more flexibility going forward. In particular, I've found that you can push the tag function with tokenat and essentially create multiple tags per node, which makes things like skillchecks and animation a bit easier but yeah, most of it feels like hacky workarounds.

    Subscribe to Construct videos now
  • Rather than saying "the Flowchart feature is missing some fundamental features" where's your useful feedback?

    I have provided feedback. Specifically, around the inability to loop back to previous nodes. Like you and a ton of other people, I didn't get a response. The team cannot possibly be expected to fulfil everyone's expectations or implement everyone's requests.

    But my reply was unnecessarily aggressive and I apologise. I think it's fair to express disappointment in a product you paid for, it was just the way you expressed it that rubbed me up the wrong way. For context, when the feature was first announced, I saw a huge number of people with very high expectations making a lot of feature requests and it was clear that it was never going to be absolutely everything that everyone wanted. I thought there was likely to be disappointment, but I felt that your disappointment was worded in an unnecessarily aggressive way - specifically, putting myself in the shoes of the C3 team, I got a bit hung up on how demoralising I would find it. I shouldn't have matched that aggression and I concede that the points you raised, outside of my kneejerk reaction to how they were worded, are very valid.

    I think brushfe summarised the issue with people's expectations and ambiguity around how the new feature is being framed very well. A roadmap or anything to indicate where the feature is likely to go and what it might look like later down the line would be very useful.

  • As long as the json you load is the same format as the json you saved from the dictionary it should work. You can’t just load a general json into a dictionary.

    Presumably, if I'm downloading Dictionary.AsJSON, it would already be in the same format? How can I ensure that the format is consistent across downloads and uploads?

  • Ashley Any advice?

  • Hello! I feel like I'm going a bit mad. I've followed several forum posts and tutorials but can't see what I'm doing wrong.

    I want my user to be able to download and upload relevant information as a json file. I've managed to implement downloading and when it comes to uploading, I can get as far as loading the json (it appears with all the correct info in the JSON debug field) HOWEVER, the upload to dictionary part is just not working. Am I missing something obvious? Any help would be appreciated.

  • But supporting this function will also face a problem, the lines will become confusing.

    I work with in-house tool to build branching dialogue and we minimise this issue with a 'link to' node - a simple node that, upon entered, immediately redirects to another, somewhere else in the flow.

  • Hi! I'm using Arrays to randomly generate planets in a solar system.

    Essentially, it's just a For Each loop that goes through each planet and randomly picks from traits stored in an Array. It'll start by picking the planet type (Ice Planet, Desert Planet, Etc.), then move onto how resource rich it is (Barren, Moderate, Abundant, etc.) and so and so on. To make certain traits more rare, all I've done is added more of the same options to the column (i.e. 'Super-Abundant' appears only once, so the chances of it being picked at random are lower).

    It's great fun but very simple and I'd like to be able to affect the probability of outcomes based on previous selections. For example, if it's a Desert Planet, I want the chances of it being resource rich to decrease. If it's has abundant resources, I want it to be more likely to be habited - or for the society to be more wealthy, etc.

    It's an interesting challenge and I'm not sure I know what the cleanest solution is. I'd love to hear how others would approach this and how you might solve it.