I am currently working on a 3D game engine. I have pretty much compleated my rendering loop, consisting of all the bells and wistles I wanted. But im not continualy working on my physics, and collision detection. I personaly believe these are the second most important aspect to a game.(next to graphics).
My question is this. I have designed this part of the engine to be VERY accurate. I manage to do this quite fast (i believe, havent tested it all yet). But I was curious if im simply waisting my time? What do you all think of game physics? Do you think that it lacks in current games? Or is it right on? Cause i personaly think it sucks.
One interesting point-of-view is that game physics which is too real can be a bad thing.
Games are played to escape from the real world, not to continue to be bound by the rules of the real world. If you’re playing the role of a hunking great big cyborg robot wandering around blowing seven shades of doo-doo out of other robots, how can you turn round and say “come on, in real life that box would never have fallen like that. Man, this is sooo fake!”?
I want to be able to jump 30 feet in the air. I want my spaceship to turn on a dime without having to worry about inertia. I want my racing car to stick to the road when I go round hair-pin bends at 150km/h. I want to be able to do things in games which I can’t do in real life!
So I think there are some elements of game physics where you can have too much of a good thing.
Others on the other hand – collision detection – are just plain frustrating when they’re not done right.
Well you are right about the fact that too much can be annoying. But, I enjoy reading the interviews with John Carmack, and some of the things people notice in games, is UNBELIEVABLE. I mean, it is as if they are using a magnifying glass. lol.
But i dont agree with the fact the part about the box falling. I am designing a first person shooter, and the main character is based on a “real” world person. So i think the world should be as accurate as possible, physics wise.
But maybe im expressing my idea the wrong way. In alot of games, I feel they cheat. Take the quake style games for instance. The only thing in the game is maps, and NPC, and items that you pick up. There are VERY few objects you could shoot around, or kick, or push. In my game, i am designing EVERYTHING that isnt a wall, to be a moveable object. Basicaly if you shoot a couch, its going to move, but its going to move slower than if you shot the stool in the corner, or the dish off the shelf.
My main beef is that games simply CUT out the objects, and items, I want to put them back in, and even though they may have NO bearing on the actual game play, it will still be a “release of the real world” to simply go around shooting dishes, tables, chairs, NPC, and limbs.
All good points nutball
I am a hard core gamer (Descent3/Tribes2/UT2 Online 6 nights a week) and I am completely unconcerned about matching the game physics to real life. I too, like blowing seven shades of poopers outta the other bots (and peeps for that matter) and like seeing all sorts of kewl effects when I do.
On the other hand …
I have been studying the gaming industry for quite some time now and attempting to leverage the game programming technologies in a different area … Real-Time Visualization … That is … I don’t use a game engine, I use a Viz engine. In gaming it is important to make things look kewl, they dont necessarily have to be accurate. In Viz we must make things look kewl and they must be accurate. That is … if a missile is located in Iraq, in Saddams house, on his table, 3 inches to the left of his dinner plate … it had best be 3 inches to the left of his dinner plate in the Viz. That missile is subject to all sorts of forces including drag resulting from the friction with the air it is passing through. That friction is highly dependant on several atmospheric properties and those effects need to be addressed in order to accurately model the real world …
I could go on … but … my point is this …
If all you are going to use the engine for is a game, why bother with unnecessary details … but if you wish to use it for RT Viz … you should pay close attention to accurate details …
Take a look at the UnrealTournament2003 demo - they’ve implemented rag doll physics - you shoot someone standing on a hill, and they roll down the hill realistically.
It makes shooting other players 1000% more satisfying, in my opinion.
I thought the physics in Trespasser were very good - but it seemed like they’d spent so much time getting the physics right, that they’d forgotten all the cool gameplay extensions they were going to add once the physics were in place! Hence, it was a crap game (but not because of the physics).
Personally, I’d much rather see destructable/deformable environments than ‘realistic’ lighting - but of course, screenshots are the things that sell games, and physics don’t come across very well in static screenshots…
What about destucrutable deformable Non Player Characters. My game isnt going to have ALOT of HUGE weapons. Its more of a horror movie, where gun power is limited, the enimies are plenty and ugly, and the stage is eerie.
So I am not creating deformable stages, (YET), I hope to update this in the future, if my game sells well. (i hope, i hope, i hope).
BUT, i am creating deformable players, like in SOF, each of my players is made up of 6 zones, if you shoot one of them, and take its damage to 0, you rip off that body part, but the cool thing is now that parts phyics is based on an object. So you can push it, kick it, shoot it down the hall, etc; all the while leaving a very nice blood smear (hopefully).
I think there is a very import difference between having physical effects or not and to have physical effects or to have realistic effects.
For my opinion the most important thing is to have something, even if it isn’t realistic. If you can shoot away limbs and dishes and so on that is very cool, but they don’t need to move slower when on a carpet then on a stone floor.
So concentrate on making everything moveable and destroyable and not on superrealistic friction or wind affected particles.
And try to make effects stronger then they are in the real world, just look movies where all the cars explode in gigantic explosions. Then even the screenshots show your physics :-).
just my two cents.
I never wrote a physics-engine, yet, but i have quite a good imagination, of how i would do it.
I think physics has to be quite realistic but some things have to be more the Quake-style.
I think Max Payne was the game with the best physics, i ever played.
Max Payne models the real world quite realistic. If you shoot in the wall, particles of the exact material and size fly around. If you shoot someone, he does not fall into obstacles (well, most time he doesn´t). You cannot jump very high or far and you are not the super-hero who has to be shoot a hundred times, before he dies. Also the bullet shells fall very cool to the ground, and your every step creates footsteps in the snow. Also blood is very cool simulated. It is applied correctly to walls and all the bodies stay and don´t fade away.
So Max Payne is quite realistic on the first look.
HOWEVER it is not too realistic. You can make moves, that nobody would do (because to bump with your head into a wall hurts very much), and shot enemies fly a meter back or so.
But that is really cool. It reminds me of action movies and now i feel to be in one. Of course the amount of blood is a bit exaggerated, but hey, it is not Quake 3!
However all this stuff depends on the game you make. I would like to do a Max Payne-like
game in some time and than i would like to do a similar physics-engine. However i also would like to make a game like UT and than i would exaggerate some things heavily. IE i would let the player be able to jump very in or so. I maybe also would like to make a big nailgun, with which you can shoot someone, so that he flies 10 meters away an gets attached to the wall.
It all depends on the game, and the mood it shall create.
Physics shouldn’t get “annoying” unless it doesn’t fit into the game, or the interface or AI is not designed to handle it. Otherwise, “real” physics makes a game much more interesting because it increases the interactivity, and hence the possibilities of play.
Originally posted by dabeav:
I personaly believe these are the second most important aspect to a game.(next to graphics).
For some reason, I thought you needed gameplay for a game.
I want my spaceship to turn on a dime without having to worry about inertia.
That’s a gameplay choice.
Personally, I want to see flight games take a more realistic slant on the genre, not because I think realism is great, but because I think that, in the case of an inertia-based system, it would make for a very unique and fun game. Realism, not for its own sake, but for the sake of the game itself.
I definately agree with Pk: if you aren’t designing your game with gameplay in mind, aren’t you just making a tech demo? After all, without gameplay, a game is just a tech demo. Ultimately, people don’t play Quake/UT/TFC/CS/StarCraft/etc because of graphics (StarCraft in particular). They do it because it’s fun.
>>I want my spaceship to turn on a dime without having to worry about inertia.
That’s a gameplay choice.
Personally, I want to see flight games take a more realistic slant on the genre, not because I think realism is great, but because I think that, in the case of an inertia-based system, it would make for a very unique and fun game. Realism, not for its own sake, but for the sake of the game itself.<<
funningly i added this to my spacecrafts, it does look better than just having the spacecraft follow the spline without taking reality into consideration.
though on the other side of the coin? ive made it easier now to shoot other spacecraft (to make the game more fun) ie trying to shoot something in 3rd person is a lot harder than first person
i think that a credible physics engine in a game is as important as the graphics, if the physics suck, fancy graphics won’t keep me too long bothering about a game. i’m not interested in cars staying on the road no matter how crappy you drive (which is why i never liked need4speed and company), and spacecraft that go immediately where you point them bore the hell out of me (ever played elite2 for a change?). face it, all action genres have been done a million times before, realistic physics is about the most important thing that developers need to look into to make concepts more interesting. that doesn’t ncecessarily mean i expect a world that handles completely like RL, but i like to be able to move things around, roll boulders down a slope, whatever… the problem is that writing a good physics engine is IMHO harder than writing a good gfx engine and companies obviously invest their money into things that are immediately visible to potential buyers, e.g. gfx, but once you play for a while, it becomes a bit boring… which is the case with too many games made nowadays…
OK, granted, game play and plot, go a LONG way. But games like final fantasy, have ALOT of plot and I hate them. But i am not realy sure why. Ofcourse my game has a very intricate plot, and the game play and flow should be very nice.
But i feel that to have a realistic game plot, you must have a physics engine that follows your game. I mean, graphics will take you into the environment, gameplay will take you into the emotion of the environment, but if the environment isnt believeable, you simply have another dime a dozen clone. Im realy starting to get tired of this store bought, reprocessed, identitical CRAP, that is currently plaguing the game world. There are a few games that REALY push the boundries of cool, but most just suck.
That is why i am putting alot of life into my physics engine. I feel that is what my game will have over most others. Not only will it have a nice graphics environment, but it will be a believable interaction as well.