Defining Awesome
  • Status Updates

  • Written by . Posted at 3:09 pm on September 30th, 2009

    Reasons for ditching Box2d physics:
    1. It’s too complex, I don’t even need stuff like friction, its useless. I’m not making a physics game, it seems like all the physics game out there now are crappy Flash games (using Box2D). I’m not interested in that.
    2. Slow ragdolls. I can write much faster code.
    3. Too unpredictable – I need the movement to be less physics like, more like say Prince of Persia 1. This will come in handy for better network sync and bot movement.

    Be Sociable, Share!

    18 comments.

    1. It seems like you believe that you can do anything better than it is done. It can be unavoidable to make everything by yourself if the game is supposed to be the best game ever, but will I live long enough to see it released?


    2. Hi Michal!

      I just wanted to post to tell you that your blog was quite inspiring to me, and helped me in taking a difficult decision (quitting my job to pursue indie game dev as a living).

      I love Soldat, and it has been quite a model for my games, I really wish that I will be able to create such a brillant multiplayer game in the future :)

      About the physics, I have trouble believing that ragdolls are slow. Do you really have that much on screen at a given time? Surely they are only used to simulate death limping, does Box2D really handle so few objects?

      I agree with point 3, even if you cheat the physics settings and get rid of friction and weird bounces, there are always some “chaotic” responses.

      As for me I’m planning to still keep using the current physics engine even if it is “overkill”, just to be able to concentrate on the game itself, as trying to make my own physic engine in the past has proven a dreadful experience (mostly due to bug hunting and performances of the “last 5%”)

      Good luck!


    3. I think I will stop reading your blog MM. I don’t want to end up on the streets like Epsicode.

      MUST.. RESIST.. SUBLIMINAL.. MESSAGES..


    4. Link Dead Forever
      =)


    5. Seems pretty reasonable but I don’t get that you didn’t think of that before moving to box2d.
      So if you say that you don’t need too complicated physics engine there won’t be any physical objects except ragdolls/particles/vehicles ? and hmm, why no friction? you can slide off surfaces, or stay still even on steep slope, vehicles need such data too.
      less physics = less awesome. Soldat is(was, anyway) fun only because it has a lot of physical impacts on the mechanics. I thought you want to pursue that further.
      What are your thoughts on GPU acceleration?


    6. Again…can’t wait until the game comes out. I still play around with the test release.

      wtf. psp go is out already. should I get one? maybe not…its $250. Maybe more here in canada.


    7. Epsicode: great to hear from you! I write this blog for people like you, it is inspiring for me too. Even if I have one guy to write for I want to help in making good games.

      The constraints code is the bottleneck. Box2d’s author agreed on that and he doesn’t have ideas on improving it other than making it less precise. I could invent a way but why not write my own physics then?

      Please keep in mind that I am a very experienced game programmer so doing this is quite easy. And I did use physics engines first while making the game. So stick to box2d and focus on other things it is a good decision.

      mman: my vision of the game wasn’t so precise as before. I’ve changed my style of game making in the past couple months. I need to write an article about that.
      less physics = less awesome. Soldat is(was, anyway) fun – I don’t think I can beat Soldat in physics gameplay that’s why I’m not making a Soldat 2. Link-Dead will be a different kind of game.
      What are your thoughts on GPU acceleration? – its an awesome thing. I just don’t know if everyone has gfx cards to use it.


    8. Well I think that there’s still a lot of things that can be added/improved to pure gameplay as physics to enrich the experience and I count on that in the new game(a look at Halo 3 4 ex). Anyway I know that LD is supposed to be something different gameplay-wise, more realistic and slower paced but there’s still a room for all that things in there imo.
      I know that making a new 2d phx engine is not a problem for you. I count that it will have a very good integration with the engine, simplicity, performance and networking support. cheers


    9. Physics aare the new graphics!

      Once upon a time developers sat down and wondered – what would make their game sell well? To make it look cool of course! And so they decided to make the graphics super awesome. More bloom! More particles! const int CONF_MAX_PARTICES = 9999999999999999!!!!

      However as static pictures got outplaced by moving pictures you began to see the animation, and how every thrown object has a gyroscope inside and is always aligned with the Y axis. So.. game developers introduced physics.

      Many hours were wasted creating _awesome_ physics engines for FPS games. Friction, super-advanced collision detection and response, simply magic! But then they realized the only place the player was actually using the physics was to arrange enemy corpses in a giant “PENIS” sign or try to put the ragdolls in suggestive poses with various pieces of the environment or weapons.

      There are games that indeed make good use of physics and there are games that have awesome engines that for all gamers care, could be removed.

      Example of the first: Half-Life 2, Crysis, Far Cry 2

      Example of the second: Stalker and most other FPS games with physics.

      Point is: include physics only if it can aid gameplay and find an actual use for the engine.

      Also, from Box2D to custom-made sub-soldat engine? That’s like switching from a Hummer to a Fiat 126p


    10. archont: haha I agree completely. The games from the first list would be nearly the same without the physics. I distinguish now two types of games: physics games and games with physics. The first are mostly crappy flash games and in the latter nobody cares anymore, ragdolls are so 1999…


    11. Anonymous

      If you aren’t really using OOP/classes/things specific to C++, why don’t you switch to pure C?

      C compiler makes things work faster than C++ compiler, and the binaries/executables are smaller.


    12. I’m going to agree now, if rewriting the physics engine is a good idea – if it improves netplay. Like mman said, Link-Dead is indeed a slower paced game and from what I gathered over the last 2 years from Michal’s vision, stealth is important. So then only physics that would be beneficial in such gameplay style is needed. Anything else, that is just eye candy or rather an unnecessary effect, isn’t needed.

      Being that I’m not at the level of programming and working with physics yet, I don’t know much about Box2d. I do find it odd, that Box2d couldn’t be stripped down to what’s useful for Link-Dead. It has to be so frustratingly tedious to have to rewrite something from scratch, since what’s available still isn’t satisfactory.

      Just don’t take out too much physics. I like it when I can nail a crate with a nade and then it falls off whatever it was sitting on to crush the enemy beneath (if such a situation should exist in your vision of Link-Dead). 😛


    13. hey guys Soldat is awesome! keep going!


    14. I really like this game and I was just wondering if you guys were ever going to support the mac platform as well. I would play that more often for sure if it is. Thank you.


    15. Hey *I* make crappy flash games!

      The worst thing possible for a game is when you try to link the physics engine with the gameplay, and find that the physics engine is limiting you. Or for example trying too hard to make everything physically correct.

      An example is Cortex Command. The game is, technically speaking, the most realistic game ever in terms of physics. Characters aren’t boxes that get moved by the Finger of God, but have joints, muscles and excert forces. Physics dictate how the character moves (response, velocity, ect) and animates that move. That is, a physics engine dictates the gameplay.

      In link-dead, as I see it, characters animation is secondary to gameplay data. That is, the entity is moved by simple gameplay logic and animated to look realistically by physics and inverse kinematics.

      Which mechanic is more complicated and technically impressive? Cortex command of course. Which is more *fun*? The link-dead model.

      One thing gameplay developers need to realize that technical elegance and complexity, even if hidden, does not automatically mean fun gameplay. The awesome living, reacting, dynamic sandbox world you believe will be the best thing since pong turns out to be boring. From the developer’s perspective it may well be factinating, but the developer here is forgetting that the end result the player is seeing is a world generic, repetitive and predictable like an excel spreadsheet.

      The same rule goes for many specific ideas. Things that look fun on paper but fail to amuse – physics engines are one of those pitfalls, a fad that every cool studio on the block has, so you can’t miss it either.

      As for indie game dev – I still dream about it. But honestly it’s not something that’ll make you a millionare. Either you join the big boys, like activision, whose CEO said this – quote

      We have a real culture of thrift. The goal that I had in bringing a lot of the packaged goods folks into Activision about 10 years ago was to take all the fun out of making videogames,

      or you start an indie studio, and attempt to create that massive, beautiful RPG you’ve always been dreaming about, 100 times cooler and more mature than Fallout 3 – which ends just as brutally as an attempt to propell yourself to the moon using household materials and dynamite.

      Or you start churning out various generic strains of tetris and minesweeper like a soviet bioweapons factory that, while preventing you from having to chew your leather shoes for nourishment and steal electricity for heating your 3×2 cellar home, it will leave you cynical and disilusioned.


    16. Ragdolls are awesome! To me it makes the game a litt more funnier because of the differnt unpredictable ways you can die.


    17. Makron666

      Actually most people have GPU’s that can support GPGPU acceleration . As long as they have a post nvidia 8800 or the ATI equivalent. And if you do implement GPU accel’ be sure to use OpenCL not CUDA (Or else the gpu acceleration will be limited to nvidia gpu’s only)
      and also base acceleration off nvidia cards, because ati cards have more stream processors. (cores, nvidia = 300-400, ati = 500-700)


    18. archont: I agree. If Cortex Command had simple logic movement I would actually try playing it more than 20 minutes our of curiosity.
      There’s a whole market of frustrated people that can’t play the shit that is coming out of EA and Activision. Those people have millions and can make you a millionaire. Just give them what they want. Of course it is something they don’t know they want.


    Post a comment.

    Links