Gameplay movement: physics engine vs. hand crafted

I’m currently prototyping a 2d spaceship flying/combat game (think Asteroids meets Elite) and I’m looking at various ways to control the ship and how the movement works out. At the moment I’ve got a simple mock up using Box2d, a single dynamic body for the ship and thrusters that work by applying forces to the body. This works, but feels pretty crap.

Obviously I’m going to tweak this a bit right now, but it leaves me with the same lingering question I had at the beginning - is it ever a good idea to use a physics engine for the central gameplay movement / control which the player will interact with? Often physics-based games feel either laggy or floaty (eg. compare Little Big Planet with Mario Galaxy). But it does mean you get much more emergent behaviour (like proper torque when objects collide, and player’s physics triggering physics reactions in the environment). And using a physics engine tends to get you more behaviour ‘for free’ which is often a big win when it’s just a one person project. But it’s very hard to get that proper responsive ‘arcade’ feel with a physics engine.

What are everyone else’s thoughts? Do you prefer to go one way or another or does it depend what you’re implementing and how it should feel? Have you ever got better results using (say) Box2d over implementing it yourself, and did it feel good to control?

Not sure is one is definitively better than the other, but if you’ve got the time, a physics engine made specifically for one game by you is going to feel perfect.

My favorite physics are that in the game “SuperMeatBoy”, they’re spectacular.
The programmer from team meat said that he would often get asked what physics engine he made the game with, and he said that he just did his own thing. Tweaked it until it felt perfect.

All about time and knowledge of linear algebra, trig and physics.

If you possess enough of all the above, your own physics engine for your own game will have much more flexibility.

However, Box2D is an outstanding engine, you can easily use it for a most games, even one that use limited physics (basic platformer).

How long have you used Box2D for? If you have just started using it, you most likely have not used such things as kinematic bodies for moving platforms, sliding star trek doors, used joints to create wheels, door hinges etc. List goes on for a fair bit Lol.