R0J0hound's Forum Posts

  • If you're interested in another physics behavior I've been working on one based on chipmunk2d here:

    It already has more features than the bundled physics behavior, although I'm unsure how it compares performance wise. It's beta but I've fixed every bug I've found so far, however it just needs more testing.

    Comparing it to your list it gets about half of them right now.

    1a It currently has collision groups and layers

    1 not currently, but it's a simple change to get it working.

    2 It has every joint chipmunk2d has to offer.

    3 Not currently. I can add segments with a radius as another collision shape so you can just use objects. Other than that I'm not sure of a good workflow, but I'm open to ideas.

    4a not directly but a pivot and gear joint together should work. It is possible to give bodies multiple shapes in chipmunk.js but I haven't come up with a good workflow, so only one shape is used.

    4 It can do ray tracing with line segment queries currently.

    5 Not yet. I'll add it to my todo.

  • Update #4

    * Forgot a few expressions: forceX, forceY, inertia, angVel

    * Added Actions/expressions for angular and linear speed limits.

    * Added tagging to the constraints, so now you can reference them later either by the tag or an index.

    • along with that you can set the set the max force of a constraint.
    • also you can destroy individual joints

    * Added a pointQuery and segmentQuery conditions along with appropriate expressions. Can be used to find the closest shape to a point or for raycasting.

    I think that's about it, I probably forgot a few things.

    Current todo:

    * Polish ACE table

  • Update #3

    * Added expressions for everything and more actions to set object properties including:

    -elasticity, friction, collision shape, mass, collision groups and collision layers.

    *Added simulation settings:

    • stepping mode: fixed or variable

    -set fixed mode timestep

    • set iterations

    -set damping

    * Added enabling/disabling and the ability to set immovable or not.

    Right now if you change the object size or animation you have to manually tell the shape to update with the "update collision shape" action. I'm not sure if I'll change that... If I make it automatic you'd have a performance hit with animated objects.

    Other than that all the functions seem to be working without errors. Feel free to try it out and let me know if you encounter any bugs. The main thing left to do now is polish up the ACE names and descriptions.

    SgtConti I've re-tweaked a lot internally so I'm not sure if that bug was squashed.

  • indiegrimes

    event 1:

    every time the number of pixel objects is 0, have the two images swap layers and...

    event 2:

    Do a loop to cover the objects with pixel sprites. They are sent to back so the overall order looks like this:

          +--- s1 sprite: blend: source in
          |
          +--- pixel sprites
       ___|______
      /   |     /
     / layer 1 /--- force own texture: yes
    /_________/
          |
          +--- s2 sprite: blend: normal
       ___|______
      /   |     /
     / layer 0 /
    /_________/[/code:18u4e1c5]
    
    Events 3 and 4
    set the blend mode for the image sprites depending on what layer they're on.
    
    event 5
    Destroys the pixels one at a time.  The repeat is so it goes faster than 1 pixel per frame.  The equations should simply be SPEED*60*dt where SPEED is in pixels per second.
  • VictoryX

    I made a capx with a lot of different approaches here:

  • The equation is correct. Using impulse to launch the projectile is where the variance is.

    Impulse = Force*time

    and from best I can tell dt is used for time and that varies.

    Try setting the velocity instead with:

    velocityX=speed*cos(angle)

    velocityY=speed*sin(angle)

  • R192 is also free, it's just a beta version. You can find a link at the bottom of the page.

  • Here's a capx. I used "pick top instance" to pick only the last box created

  • Why not use the polygon object? It makes it very easy to draw a polygon. For example:

    on mouse left click
    --- polygon: clear polygon
    
    left mouse button is down
    --- polygon: add vertex at (Mouse.x, Mouse.y) -world-space
    
    on left mouse button released
    --- polygon: draw polygon ...
    [/code:2x63fnpc]
    It doesn't play well with the physics behavior but at least the collision polygon will match the drawn polygon.
    
    You could also draw the polygon using the canvas plugin but it has no collision polygon.
    
    So drawing it isn't what's hard.
    
    For just a box no third party plugin is needed.  Only the mouse and a sprite with the origin centered.
    [code:2x63fnpc]global number startx=0
    global number starty=0
    
    on left mouse click
    --- set startx to mouse.x
    --- set starty to mouse.y
    --- create Sprite at 0,0
    
    left mouse button is down
    -or-
    on left mouse released
    --- Sprite: set position to ((startx+mouse.x)/2, (starty+mouse.y)/2)
    --- Sprite: set size to (abs(startx-mouse.x), abs(starty-mouse.y))
    [/code:2x63fnpc]
    If you want it to fall afterwards you could use the physics behavior, only be sure to disable it until the mouse button is released.
    
    If you want a box then no plugin is needed
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • r191 is a beta. You can get it here:

    https://www.scirra.com/construct2/releases/r192

    Minor's approach is to loop over the array twice. The first time it saves the neighbors for each cell, and the second time it apply's the cgol rules. With yours it appears you're just finding the neighbors and applying the rules as you go, which will cause issues as you go since you're modifying the array as you go.

    I tried a slightly different approach which also works. I basically used two arrays and each step I alternate which one I read cells from and which ones I write to.

    https://dl.dropboxusercontent.com/u/542 ... /cgol.capx

    That is one of about six different capx's I've been playing with.

    There are many other ca's that look interesting to implement as well. Here's just a few:

    http://www.mirekw.com/ca/ca_rules.html

    And the latest capx of a different set of cool looking ca's

    https://dl.dropboxusercontent.com/u/542 ... yclic.capx

  • If you want to be clever you could do this too:

    find(",32,37,38,39,40,", ","&a&",") >=0

    Or you could make a function if you plan on doing something like that more than once:

    on function "one of em"

    for "" from 1 to Function.ParamCount-1

    function: parameter 0 = Function.Param(loopindex)

    --- set return to 1

    Then you can use it with:

    System: compare Function.call("one of em", a, 32, 37, 38, 39, 40) = 1

  • It's a simple enough capx, change it to one object and see what happens.

    The control object acts as a shield so you can run up against the sides of the crushers with out dying. As one object It's just: if player overlaps crusher then die.

  • The front edge has a z of 1 and the back edge has a z of 2. The values were a bit arbitrary, you could pick a different value fro the back edge but then you'd need to rework the formulas. I did some fiddling with the example and stretched the perspective shapes around and actually found cases where the old method works better.

    There may be a math error somewhere in my equation since it seems to need that correction for large values.

  • I don't know of the image you're referring to. If it helps the origin is the top left of the layout and x increases to the right and y increases down. Basically it's vertically flipped from what's used in math books.

  • Like codah said there are many different ways and they really depend on the type of game. One way would be to use some sprites as detectors.

    Attached is a way to make thwomps like in mario.