GeoffB's Forum Posts

  • I suggest you use two objects: one invisible object with the pathfinding behavior, and another which is visible and interpolates ("follows") the position/angle of the pathfinder.

    That way you can control the smoothness of the motion which the player sees.

    You could also do this with a single object and the MoveTo behavior, using pathfinding nodes. Either method will require some fine-tuning to get it right.

  • Following, as I'd love to know a solution to this as well. Personally I haven't found a situation where it doesn't work to have the shadows on their own layer (I do this frequently in my current project), but I can understand the requirement.

    It is possible to do it with masks, but the results aren't pixel perfect, and you'd end up with issues where the shadow is masking out other sprites.

  • Actually, I'm totally wrong, there is a way to get rid of the gaps. On the tilemap object, set tile X and Y spacing accordingly. That's it! I tried on that roguelike tilemap and it works, just set the spacing to 1 on X and Y.

  • Best would be to get direct from the source! :)

    kenney.nl/assets

  • There's a useful trick to the system find expression, where you do something like:

    System: find(text,"apple") ≠ -1

    Find returns the character index at which the first instance was found, but it returns -1 if nothing is found. So saying "if apple is not not found" is the same as "if apple is found". Then you do your action, like set text to "I love apples".

  • There's no great way to deal with the extra pixels, at least not that I can think of, but when I've used Kenney's assets in the past they've come with two versions of the tilemap: tiles.png, and tiles_packed.png. The packed tiles don't have that padding.

  • I haven't tried this, but give it a go: zip the whole project folder and rename it to .capx format, then import that into C3

  • I was thinking about this yesterday. It's always good to have new features, but almost every time there's a stable release, someone (or sometimes everyone) has issues.

    This is not a bash against Scirra at all. This is the nature of software development, and for that reason, nearly every piece of software on my PC has settings to request doing an update before it does so. People should be allowed to update their software when it suits them. I'd rather put up with a "there's an update available!" message every time I open Construct than be forced to use versions which could introduce bugs into my development process.

    When I click "not now", that should mean "leave me alone until I'm ready to deal with this", and not "okay just do it next time".

    And yes, there are workarounds, like using the browser and specifying a url, but that completely defeats the purpose of installing C3 and using it like a traditional application.

    The solution would be to not auto-update C3 unless I tell it to by checking a box.

  • If you add a browser->log action in each loop I'm sure you'll see that it is repeating.

    What's happening here is you're doing the same thing 10 times at the same time, so it won't look like it's repeating.

    Not 100% sure what you're trying to do here; are there 10 Talking objects - each with a unique frame - that flashes? If so, you need to pick each one according to loopindex.

    If you're trying to have the same object flash 10 times, you need to add a Wait action at the top of the loop. Wait loopindex*10 seconds or whatever works.

    For a bit more control, you might want to add a Timer behaviour to the object.

  • We are looking to outsource several projects on an ongoing basis to experienced freelance Construct 3 developers. Freelancers can work fully remotely and will operate on a per-project basis.

    These projects are generally centered around the development of games, however from time to time we also develop multiple services, apps, and architectures to support these projects and their requirements.

    This is a development position only. While the work will require basic manipulation of assets and the creation of things such as particle effects, all actual art, animation if needed, sound and music as well as the actual game designs, features, rules, and mechanics will be provided. Although it is expected that the freelancers will contribute feedback and opinions on some of those elements.

    Core responsibilities:

    • Development of mobile and web games strictly according to specifications using Construct 3.
    • Work with the design, dev, and art teams to build a cohesive product.
    • Development on existing games and templates.

    Ideal Requirements:

    • Your own license for Construct 3.
    • 3+ years’ experience with Construct 2/3.
    • Experience with third-party plugins.
    • Experience with client/server communications.
    • An ability to work entirely in written and verbal English.
    • At least 1 fully complete, published game made in Construct 3.
    • Must be available during business hours in the GMT+2 time zone.
    • Stable, high-speed internet connectivity.
    • Legal rights to sign NDAs and provide invoices, and to accept payments through PayPal.

    Nice-to-haves:

    • Strong game design skills with an eye for user interactions and user experiences.
    • Strong knowledge of JavaScript/Construct integration
    • Experience with other game engines
    • Experience developing your own addons for Construct 3
    • QA and testing experience

    Please send an email to "jobsATcelestial-gamesDOTcom" with the subject line Construct to apply for this position. Include any credentials such as CV and showreel as well as any links to published game/s.

    We will then set up an online interview with applicants who meet the requirements. After that, should you be considered, you will be contracted to deliver one small game within a defined timeline. Based on this experience, you will be contracted for additional work on a per-project basis, as required.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'd love to see how much money could be pledged to this. If there's anyone else who wants to join, perhaps we can think of a solid way to manage the funds. I'm sure if we could that would encourage more to pledge.

  • I'm in for $50. I wish I had time to jam, but I just don't these days. So maybe promoting a jam for other people will satisfy that "itch".

    I think that the prize money should be handled by a single, trustworthy person. They can be paid via PayPal and then issue the prize money that way too.

    I'm happy to assist with communication and judging, and even setting up the jam itself.

    Let's do this!

  • This whole approach seems like something that would be better suited as a plugin, rather than a native part of Construct. Look at Unity for example, there are some excellent node-based plugins for story development. In my own experience with building a narrative-based game in Unity, these are great for managing high-level chunks of conversations, but get laborious to use for every single line of dialogue.

    Not sure if you read the first part of my previous response, but you could implement a similar hierarchy-based system to manage whole conversations, and then write the dialogue lines in JSON. That way you're using small, segmented JSON files that might be easier to manage.

    You could also write your story in other software like inklewriter/Twine/etc., and export to JSON (might need a third-party plugin). From there you'll need to build systems to interpret and play back that data to the user.

    Regardless of the method you choose to manage and write your story, you're going to need to unpack that data and display it to the user somehow, and that's going to require some serious legwork.

  • I prototyped an idea I had about this a while ago, unfortunately I lost my file so I can't share it here. But the basic idea is to have a layout per scene, and each layout has a series of parented text boxes with properties like "Actor", "Animation", "BGimage", etc. The actual dialogue is sourced from the text box's text, which uses custom tags to take the user to the relevant text box and/or perform defined actions.

    Dialogue flows up or down the heirachy chain depending on defined interactions. It worked okay; definitely requires some effort to build but it's a system that could no-doubt be built to do what you need.

    IMO, you're better off building a branching dialogue system using JSON. Similar approaches have been the standard for dialogue-driven interactions in games since such things existed, and only in more recent years have node-based approaches taken off. It's also much easier to translate file-based than node-based dialogue.

    I suggest you check out Laura_D's tutorial series on implementing a JSON-based dialogue system: construct.net/en/tutorials/introduction-json-dialogue-2331

  • You say in your facebook post that you're not using drag and drop for the basket's movement (which would cause the issues as expected), but how are you moving it? Can you share your events?

    For super-fast movements like this, "Bullet" should be checked in the object's properties.