Another problem I have just noticed is that these aren''t really ways of interacting with the world. These are ways the world interacts with itself.
George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!
Diverse ways of interacting with world
quote: Original post by Symphonic
Another problem I have just noticed is that these aren''t really ways of interacting with the world. These are ways the world interacts with itself.
That''s true in a way but there would be a way for the player to initiate those interactions intentionally which would be interesting. Unless I misunderstood what you are saying.
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
My last post was basically reminding us to remember that the player must be present. In general the player has a ''handle'' on one or more of the beings in the game world (this is a convention that many games follow).
I guess that the real ''interface'' then is a description of that handle, it''s how the player influences the virtual actions of his avater(s) in the virtual world.
Now we''re talking about mechanics of a virtual world which is modelled with the real world as a starting point (in most cases), and adjusted using the standard computer fiction model:
1 - Simplify
2 - Adjust for Interface
3 - Extrapolate with fictional devices
4 - Repeat ad absurdum
The way I''m beginning to see it is that we come up with an interface and perhaps a storyline (fictional devices) and then we mold the world to fit them, but if this model was reversed then we could begin by trying really hard to effectively model the world (within reasonable limits) and then mold an interface to what works in the virtual world.
George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!
I guess that the real ''interface'' then is a description of that handle, it''s how the player influences the virtual actions of his avater(s) in the virtual world.
Now we''re talking about mechanics of a virtual world which is modelled with the real world as a starting point (in most cases), and adjusted using the standard computer fiction model:
1 - Simplify
2 - Adjust for Interface
3 - Extrapolate with fictional devices
4 - Repeat ad absurdum
The way I''m beginning to see it is that we come up with an interface and perhaps a storyline (fictional devices) and then we mold the world to fit them, but if this model was reversed then we could begin by trying really hard to effectively model the world (within reasonable limits) and then mold an interface to what works in the virtual world.
George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!
Geordi
George D. Filiotis
George D. Filiotis
Corect me if Im wrong, but shouldnt the player just be treated as another object. Just like the bullet, but more complex.
If the player kicks the vase, a certain velocity and the point of contact are passed to the vase. If the player runs at the vase with an uzi. The player object just starts creating bullets and sets thier trajectory, and velocity. The bullets are just object that are sitting in the clip object, that is in the gun object. The bullets trajectory and velocity are zero while sitting in the clips. The player just modifies variables. Shooting set the trajectory and velocity variables, of the bullet in the chamber, to something other than zero.
PHRICTION
If the player kicks the vase, a certain velocity and the point of contact are passed to the vase. If the player runs at the vase with an uzi. The player object just starts creating bullets and sets thier trajectory, and velocity. The bullets are just object that are sitting in the clip object, that is in the gun object. The bullets trajectory and velocity are zero while sitting in the clips. The player just modifies variables. Shooting set the trajectory and velocity variables, of the bullet in the chamber, to something other than zero.
PHRICTION
This is great! And if you think of it, it should be easy to generalize!
The way i see it, its only a couple of ways to interact with the world.
Collision / Sound / Sight / Special actions
These can be diverted down to sub layers:
Collision(Shape,velocity,...)
Sound(Intensity,Orgin,...)
Sight(Shape,Size,Speed,Distance,...)
Explotion(Intensity,Origin)
Special actions (open,close,turn_on,turn_off)
//special actions need the object to be close
Then you create a responce ruleset for every object type in the world! The clue is that it dont need to be complex!
Bird Example:
if (sound)
if (sound.intesety>15) bird.fly_away_from(sound.orgin)
if (sight)
if (sight.size>10)
if (sight.distance<10) bird.fly_away_from(sight.orgin)
If you add simple responces to ewery object in the world (but remember that stones dont responce to sound :-) )
You can easely create a realy complex world! You hard_code all the collisions, and the collision response, but you notice your ruleset in a simple and abstract way, like:
player example:
if(collision.intensity>15){
make_sound(player.pos,100 ) // 100 = intensity
This way, the birds will react, and so on...
The realy great part it that players can find new stategies, that the programmer newer thought about!
I think i read an article on gamasutra, witch mentioned this: In a game(dont remember) you could attach bombs to the wall, and then pick it up again! Because ewerything in the game was added to the world collision system, you could jump up ontopp of the bomb! What happened was that players began to place bombs in stairs, and pick up the last ones, therefore climbe walls!
Its a great example, because if ewerything reacts to ewerything, you can figure out new tactics by your logic sense, that the programmer newer even thougth about! Isnt it logic, that ewerything that explode, can smash a door? Then make ewerything exploding tell the world that it explodes, and then make doors, vaases, birds, players, bombs, windows react to them, but make it so abstract that you only need 3-4 if statements in every reaction!
You have to remember that most comon FPS games are inside buildings that dont have anythinc that will react, so you need to create a reacting world first!
This should also be posible to implement in a social matter, but i think the clue is to keep it simple and abstract!
As AI programming have showed us before:
many smal simple, can easely give the illusion of complexity!
The way i see it, its only a couple of ways to interact with the world.
Collision / Sound / Sight / Special actions
These can be diverted down to sub layers:
Collision(Shape,velocity,...)
Sound(Intensity,Orgin,...)
Sight(Shape,Size,Speed,Distance,...)
Explotion(Intensity,Origin)
Special actions (open,close,turn_on,turn_off)
//special actions need the object to be close
Then you create a responce ruleset for every object type in the world! The clue is that it dont need to be complex!
Bird Example:
if (sound)
if (sound.intesety>15) bird.fly_away_from(sound.orgin)
if (sight)
if (sight.size>10)
if (sight.distance<10) bird.fly_away_from(sight.orgin)
If you add simple responces to ewery object in the world (but remember that stones dont responce to sound :-) )
You can easely create a realy complex world! You hard_code all the collisions, and the collision response, but you notice your ruleset in a simple and abstract way, like:
player example:
if(collision.intensity>15){
make_sound(player.pos,100 ) // 100 = intensity
This way, the birds will react, and so on...
The realy great part it that players can find new stategies, that the programmer newer thought about!
I think i read an article on gamasutra, witch mentioned this: In a game(dont remember) you could attach bombs to the wall, and then pick it up again! Because ewerything in the game was added to the world collision system, you could jump up ontopp of the bomb! What happened was that players began to place bombs in stairs, and pick up the last ones, therefore climbe walls!
Its a great example, because if ewerything reacts to ewerything, you can figure out new tactics by your logic sense, that the programmer newer even thougth about! Isnt it logic, that ewerything that explode, can smash a door? Then make ewerything exploding tell the world that it explodes, and then make doors, vaases, birds, players, bombs, windows react to them, but make it so abstract that you only need 3-4 if statements in every reaction!
You have to remember that most comon FPS games are inside buildings that dont have anythinc that will react, so you need to create a reacting world first!
This should also be posible to implement in a social matter, but i think the clue is to keep it simple and abstract!
As AI programming have showed us before:
many smal simple, can easely give the illusion of complexity!
-Anders-Oredsson-Norway-
quote: Original post by Anonymous Poster
definitely the bullet''s responsibility,
Not necessarily. We just completed a game project on campus, and the AI/game logic coder took a pretty interesting, OO approach to collision detection. The game world would check itself and assert itself upon things that were touching/colliding with it.
For example, the wall of a building would check and see if the player''s model was about to intersect it, and if it did, it told the player object "Hey, you have to stop now."
I can see it working either way for bullet collisions, as long as you are consistant and concise with your rules(and probably a little resource conservative)
quote: Original post by uncutno
The realy great part it that players can find new stategies, that the programmer newer thought about!
Yes, that''s exactly what my main point was
This has been done a lot in strategy games and things like that, but I''ve always seen it only in the context of combat. It may have been taken further by other games but I can''t think of any that I have played. But, yes, I believe this kind of abstracting will allow for new interactions with the world that the programmers never anticipated.
A CRPG in development...
Need help? Well, go FAQ yourself.
"I''m gay, please convert me." - Nes8bit
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
I''d like to bring up one of your examples, which was opening and closing doors. The reality of the situation is that the door in question is being forced by a collision. Now it happens that there is a lock on one side of the door, and a joint on the other. If an in-world entity manipulates the doorhandle, which is attached to the door, and affects the state of the lock. Then the door will suddenly (assuming the handle was turned) be susceptible to rotation about its joints.
If we continued to model the world objects as individual abjects with states that must be checked though, we would see that the lock has a breaking point, as do the joints. So when one character throws another character at the door, the collision between the door and the character creates a few unresolved vectors. One of which is the movement of the door, but the door is being pushed by a heavy object travelling at great speed, and the lock may (in this situation) break under the stress of the impact, allowing the door to swing open and let the character land in the street.
The problem here is that when evaluating the state of the character at the moment of impact, we have to know immediately if the door returns the force of the impact to the character, or if the lock breaks and the character flies through the doorway. The reason this is problematic is that it makes every state-change a recursive call for all the objects that happen to take part in the current interaction.
George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!
If we continued to model the world objects as individual abjects with states that must be checked though, we would see that the lock has a breaking point, as do the joints. So when one character throws another character at the door, the collision between the door and the character creates a few unresolved vectors. One of which is the movement of the door, but the door is being pushed by a heavy object travelling at great speed, and the lock may (in this situation) break under the stress of the impact, allowing the door to swing open and let the character land in the street.
The problem here is that when evaluating the state of the character at the moment of impact, we have to know immediately if the door returns the force of the impact to the character, or if the lock breaks and the character flies through the doorway. The reason this is problematic is that it makes every state-change a recursive call for all the objects that happen to take part in the current interaction.
George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!
Geordi
George D. Filiotis
George D. Filiotis
I agree that this is a design issue, not just a coding issue. By spending time working on developing a system of internal rules for the world, as opposed to designing a bunch of events that happen to the player, the designer is focusing on what some call "emergent" gameplay. For more about this idea, look for interviews with Warren Spector, I know he has talked about it before. Also, I have not played it, but I have read that The Sims has done some interesting things in this direction.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement