Hey everyone,
I am reviving this post, because the physics behavior has been updated (no new features yet, but a new build of ams.js came out). This is important, because it makes the adding of box2d features much more feasible and eliminates many of the reasons why we don't have these features.
A fellow user of c2 described the physics behavior as a simple box2d demo. I believe this is a apt analogy and a major letdown of c2. Construct 2 is an amazing game creator. But honestly, in the world of collision detection and resolution, the backbone of any action game, Construct 2 falls helplessly short of amazing. You can only achieve average with construct 2. The moment you want more, is the moment you realize there is no longer a good reason to use construct. This is BIG problem. Construct 2 provides speed, and ease of use. If you can't make something out of the box, right out of the box, then the advantages start to disappear.
I can list a number of things that you flat out CAN'T do with construct 2 and physics, only because those physics features haven't been exposed in the behavior. I can also tell you that a number of those features can be added in a few hours. I know because I have exposed them for my self. But the more I expose, the more I risk as any update to the behavior means alot of editor time work, or a lot of patching the behavior.
I don't think Ashley understands the importance of just a few of the missing features. They aren't optional, or fancy perks, they are absolute necessities. The only way this can be shown is by volume of response.
If you know physics isn't sufficient as it is then make this a hot topic.
On the other hand, maybe Ashley is right, and the construct 2 community needs nothing more out of physics.
But think about the following:
Have you ever wanted to apply a tangent force to an object? Have you ever wanted to know what the angle of the surface you are colliding with is? Have you ever wanted to make one way platforms easily with physics? Have you ever wanted sliding doors, or elevators? Have you ever needed moving platforms? Have you wanted to know the force of impact that one object imparts to another? Have you ever needed to stop a collision from happening on a frame by frame basis? Have you ever wanted arrows shot from a bow to stick into the wall? have you ever wanted that arrow to partially penetrate the surface it strikes? Have you ever found yourself upset that ghost collisions occur on tilemaps?
Enjoy hacking around the problem.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOP list of things I need and use. I look forward to seeing what else other people use and or need.
1.a - Collision Filtering! It sure would be nice to say, hey these objects only can collide with these and so on allowing for easy environment manipulation and complex behaviors.
1. Kinematic bodies - kinematic bodies cannot be moved by other objects but can still move themselves. This is very useful for moving platforms, elevators, physics objects that need to be moved but only in contrived ways...etc. I have this working in my own fork of box2d asm.js with no bugs.
2. Prismatic Joints. - These joints are sliding joints. They can be constrained in a variety of ways but can be used for doors, pistons, and more. Personally I think they are more useful than revolute joints.
3. ChainShapes and edgeShapes - These guys have no mass but provide a static collision surface. Instead of having to build your world out of dozens, if not 100s, of immovable physics objects, you can draw a series of points that act as an immovable solid. No object can pass across the line. MOST IMPORTANTLY, they eliminate ghost vertices responsible for internal collisions. Anyone who has worked with physics in complex ways understands the importance of this. It is necessary, not optional.
4a. Weld Joints - I just want to stick things to somethings and have them stay.
4. Box2d Ray tracing. its like lasers and math had mutant offspring. but better.
5. Contacts. Information about the collision, from delta velocity at time of impact to the forces applied to the objects. I think surface normals are also included.