R0J0hound's Recent Forum Activity

  • Maybe the images you’re using aren’t premultiplied by the alpha?

    The engine assumes that images are already like that but there are likely images out there that aren’t.

  • I guess one way could be to slice the ground plan in half by a horizontal line then use mesh distort to make the two halves of the hole. I can almost guarantee that the game did something simpler like using a stencil or just changing the depth function. But we are limited with what we can do 3d wise.

    If you stick to isometric then just having a sprite fit the front of and back of the hole and zordering it with other objects should work.

    Using 2d physics for 3d physics probably wouldn’t look great in most cases. Probably the idea could be to enable the object’s physics when their y is close to the hole’s y. Then for the hole you’d have two boxes on either side of the hole for its collision.

    3d physics would look better and there’s probably a reasonable minimum physics engine needed.

  • That example is a bit old. The pathfinding and moving events can be tightened up a bit, and instead of listing the UIDs of neighboring nodes you could just stretch edge sprites between nodes. It would be more visual anyways.

    A plugin for this would only be useful if it could place nodes/connections on the layout in a visual interactive way. The editor sdk doesn’t have anything to allow this though. So you’d end up having to still use node sprites and edge sprites then make events to tell the plugins the nodes and connections.

  • This is how I use arrays for data like that.

    Here is some example data: 0, name, x, y

    The 0’s will be changed in events so we can sort by any property we want. See the end of the post.

    0, “orc”, 15, 34
    0, “fish”, 100,100
    0, “axe”, 5, 55

    Which is an array of size (3,4,1). Indexes of the values are:

    (0,0), (0,1), (0,2), (0,3)
    (1,0), (1,1), (1,2), (1,3)
    (2,0), (2,1), (2,2), (2,3)

    So you access values with array.at(item, property)

    Item is 0 for the first, 1 for the second and so on.

    Property is

    0 - sort value

    1 - name

    2 - x

    3 - y

    Now to sort the list you’d first copy any property you want to sort by to the first value in the line and sort by x.

    On function sort(property)
    — Array: for each x
    — — array: set (array.curX, 0) to array.at(array.curx, property)
    — [blank event]
    — — array: sort by x
  • The physics behavior triggers on collision when it’s it detects a collision and does a collision response.

    Typically the collision is fully resolved so there’s no overlap by the time a user added overlap check is done. It doesn’t when there’s a high impulse because it sometimes can take a few frames to push things apart in the physics engine.

  • Construct already doesn’t render objects that are not on the screen. And effects only are run for pixels on screen.

    Sorry. That’s more help than I’m able to provide.

    Things get far less simple to do sorting without arrays or instance variables.

    Global variables are handy but get tedious to manipulate. You’ll end up with more events too.

    I’m bored though and know a silly way to sort with waits. For example with three global variables. You’d basically add an additional event per global. To use just set sort to 1 somewhere in your events and it’ll sort in basically a second. I won’t be making an example.

    Var sort=0
    
    Compare: sort=1
    — wait 1/global1 seconds
    — text: append text global1&newline
    
    Compare: sort=1
    — wait 1/global2 seconds
    — text: append text global2&newline
    
    Compare: sort=1
    — wait 1/global3 seconds
    — text: append text global3&newline
    
    Compare: sort=1
    — text: set text to “”
    — set sort to 0

    Probably works best when sorting values in the range of 1-60. Higher values won’t sort right. Values of 0 will never sort.

  • Presumably you could use the templates feature to have direct control over what instance you copy from.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Looks like a grid based fluid simulation. It would mostly just be a matter of adapting a fluid sim algorithm with arrays and the displaying the result with a drawing canvas. Performance will be poor on all fronts though. Instead of using events you’d want to use js or wasm to process it faster. Displaying per pixel with the drawing canvas alone will be slow too. But that’s pretty much what we have available. Maybe limit the canvas size or use a scaled canvas.

    Fastest approaches do the fluid on the gpu but in general c3’s renderer is rather specific with what gpu stuff you can do with it.

    There are js libraries that do fluid but those aren’t trivial to modify to get the result into c3.

    Short version is there is no simple drop in solution at this time, instead it’s a complex Frankensteins monster to get something working. Of course I’m speaking from the point of view of knowing what’s involved, and not having enough time to actually do it. In the end there are simplifications that probably make it closer to a drop in thing. But it’s mostly the busywork to get there.

  • Construct provides nothing to do that other than JavaScript. Presumably you can find and use a JavaScript library to do it. Search the forums deeper and someone probably did it before and shared a plugin or example. It would be completely separate from the audio plug-in and hopefully the library is robust enough to support all the platforms you want to support. Basically it’s almost completely independent from construct other some JavaScript to interact between the two.

  • I don't understand the question. The main useful blend modes are normal, additive and destination-out (which erases). You'd have to experiment with the other ones.

    To only show stuff in the light you'd have a layer

    with force own texture = yes

    with transparent = no

    with color = black

    and the light object on that layer with destination-out (which is the same as erase).

    Any layers under that will be hidden if not over that light, and any layers above will always be visible.

R0J0hound's avatar

R0J0hound

Member since 15 Jun, 2009

Twitter
R0J0hound has 155 followers

Connect with R0J0hound