GeometriX's Forum Posts

  • There's an RTS template that comes with Construct. It shows you how to do what you want, and a whole lot more.

  • There are already a number of ways to align objects in the layout view.

    From the manual entry:

    [quote:24x7cq23]The right-click menu in the layout view also provides some alignment tools under the Align sub-menu. These allow you to quickly space objects equally or align objects along their edges. When aligning, the objects are aligned to the particular object you right-clicked.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You've got a few options here, but I'd say the easiest is by using the system expression Compare two values | distance(Player.X,Player.Y,Particle.X,Particle.Y) < DesiredDistance.

    Alternatively you could use the Line of Sight behaviour and don't specify any blockers. If I'm not mistaken, LOS uses collision cell optimisation, so it'd be more efficient than the above method if your layout is quite large.

  • Just to add in that you don't need Every tick there. Is in touch will register every tick anyway.

  • Your question is missing some details. Under what conditions do you want to identify (or pick, more accurately) these objects? What certain rules do you need to set?

  • Yeah, the OP changed after I posted, and since I posted an evolution of the idea, and the idea is now no longer, my post doesn't have the same meaning.

  • I'm sure there are a hundred ways to solve this, but here's what I've done in the past:

    Map out all the key presses you want to support: assign them an integer called KeyPress or whatever. So left is 1, up-left is 2, up is 3 and so on, all the way around the compass points. Include 0 for no key presses. Be sure to explicitly define the key presses including what keys should not be pressed. So if up is pressed, then down should not be pressed, and so on. Then create your motion and animations based on the KeyPress integer: If 1, then set the left animation and simulate movement left, etc.

  • I'd say that having the ability to have a user-editable manual might be the best mix of what you're suggesting (and you make some great points) and what's already on offer. It seems like a bit of a waste of time to basically go and recreate the manual anyway. Of course this ability would have to be restricted to very few users (perhaps with over 10K reputation, or on a case-by-case basis), much like having the ability to edit tutorials, and changes would need to be discussed and moderated just like in a wiki.

    Not sure if the new forums will send through the notification properly, but I'd like to see what Ashley thinks about this.

  • Think of the family itself as a parent object with a hierarchy that extends down to all its children. The family contains the behaviours, the variables and the effects, and every child within the family receives those properties. On top of that, you can specify new values for the children.

    So, assume you have the family Enemies, and inside it are Goblin, Orc and Skeleton. The family is given the HitPoints variable with a default value of 10. Every instance of each child in the family will be given that value by default, but you can override those defaults either at runtime (with events) or at design time in the layout editor. So the Goblin keeps the default HitPoints of 10, but you can tell the Orcs to have 20 HitPoints and so on.

    When it comes to picking those children in events, you refer to the entire family as a sort-of blanket condition. If sword hits Enemies, do this and that. This will check to see if the sword hits any of the family members. What happens here is pretty cool: once the condition is met, C2 remembers exactly which instance of which child is hit, and will use that instance for the rest of the event's actions. So when you then go on to say Subtract 10 HitPoints from Enemies, it will only subtract from that specific enemy.

  • I think wikis are a great way to run a devblog, especially if you plan on getting your playerbase involved throughout development (Desktop Dungeons springs to mind here). I'd say as a development community tool for Construct in particular, it'd not be terribly useful.

    We already have the manual for official information and the tutorials for community-generated content, as well as the huge forums. People seem to have enough difficulty finding the info they're looking for (or not looking for, as is more often the case). Giving them a forth location to find info about C2 seems like it'll create more noise than it's worth.

    Also, having the wiki at a neutral location like wikia would make far more sense for a community initiative.

  • These platforms use the Sine behaviour, which automatically adjusts a specified property (position, opacity, angle, etc.) along a wave. The most common use for this is adjusting the position, which will make the platform bob up and down or sideways (depending on what you choose). That platform is then also assigned the solid behaviour to make it an object that the player can walk on.

    You can see these in action in the platformer template. I'd suggest that you open up the template and play around with all the sine behaviour properties. You can do a hell of a lot with this behaviour.

  • You're using two plugins there that I don't have - Timeline and Cooldown.

  • You had the idea down correctly, but you need to add in a condition System | For each ship in event two. Otherwise it will just pick the first instance.

    C2 will pick every instance of the object when that object is specified in an event, but because the ship is the target of an action (not the initiator, if that makes sense - I'm not sure what the technical term is), then only a single instance is picked. By adding For each to the conditions, you're telling C2 to perform the whole event a single time for every instance of the ship.

    I hope that makes sense. It's slightly confusing thing at first but once you understand how it works, it'll make the very powerful picking system putty in your hands.

  • When you create/spawn objects at runtime, this, there needs to be a single instance of that object already somewhere in your project. It can be on an inactive layout (this is actually recommended - a "parking lot" of sorts), but it's got to be somewhere.

  • Adjust HSL won't work with a grayscale image - it requires some colour data to work with. But, yes, you've got the idea down.