Standard ideas become new ideas, just in the way you approach them.
Many big-name game projects(Thief sequels spring to mind) are trying to take the "things only happen if we set an explicit rule for it" aspect of interaction out of things, and doing exactly what we are discussing, which is to give everything basic rules for action and interaction, and allowing the entire gameworld to influence these things. The example that springs to mind is that, instead of having a flock of birds only be set to fly away if a gun is fired, why not give the birds a reactionary attribute, and allow all actions such as rapidity of movement, proximity of PCs, intensity of local sound events, etc, follow basic interaction rules, and have the world itself determine, in a dynamic fashion,whether the birds will fly up and give away a player''s position.
Not new,
but interesting, and a necessary step in making games more dynamic.
Diverse ways of interacting with world
quote:
Original post by Luna Zerana
I think the beauty of it is, when you add a console command that allows easy input of new rules... You could simply observe, see what is going on, and add new things.
It''s a great idea!
Yes that''s precisely what I plan to do for a demo. Thanks, I am not trying to say this idea is totally original but I am hoping the application of this idea would be somewhat unique

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
quote:
Original post by krikkit
Standard ideas become new ideas, just in the way you approach them.
Many big-name game projects(Thief sequels spring to mind) are trying to take the "things only happen if we set an explicit rule for it" aspect of interaction out of things, and doing exactly what we are discussing, which is to give everything basic rules for action and interaction, and allowing the entire gameworld to influence these things. The example that springs to mind is that, instead of having a flock of birds only be set to fly away if a gun is fired, why not give the birds a reactionary attribute, and allow all actions such as rapidity of movement, proximity of PCs, intensity of local sound events, etc, follow basic interaction rules, and have the world itself determine, in a dynamic fashion,whether the birds will fly up and give away a player''s position.
Not new,
but interesting, and a necessary step in making games more dynamic.
yeah the bird example is good. Plus to take this a bit further you could make it more general and abstract. Imagine if there''s a rule that whenever there''s a loud noise then birds will fly. Then the bullet knows to make a loud noise, but someone screaming would as well. It would all be the same to the birds. Just an example.
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
If you made a good enough rule system wouldnt that let people invent machines and improve technology in the world>?
quote:
Original post by ThoughtBubble
Another question for you. Is what you're implying that every change is invoked by a rule triggering a set of changes to object attributes?
well eventually rules and/or actions would alter the game's attributes (actions being things like attack, steal, etc) ...but for now I am concentrating on rules only to start with
quote:
I think I'm thinking too much like a coder here, but in that case it could be summed up as the difference between objects acting on objects (Bullet hitting person) and rules acting on objects (Rule checking the location and status of bullets and people). At that level it could be considered something fairly different, but it's more of a code standpoint than a design standpoint.
Good question. IMO taht would be taken care of by a attack or shoot action rather than a rule. But that's just my interpretation. That's why I don't want to get into actions in my demo yet because it gets pretty game-specific.
quote:
Though it could be a lot of fun, if you built up an engine with a lot of actions, and statistics, and then left the rules open for change later. You could do weather effects in game based off of humidity and wind and temperature. You could call specific scenes based off of the people in a room at a time.
Yeah that is the idea. It would hopefully be easy to add things as I go.
quote:
The more I think about it, the more potential I see. Just a matter of making a robust basis to work off of.
Yeah that's true. It's not the coding that's hard just coming up with lots of interacting pieces. Just a lot of details to think up

A CRPG in development...
Need help? Well, go FAQ yourself.
"I'm gay, please convert me." - Nes8bit
[edited by - Nazrix on April 1, 2002 12:25:39 PM]
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
quote:
Original post by KingMolson
If you made a good enough rule system wouldnt that let people invent machines and improve technology in the world>?
Yeah that''s the thing. I think once you have the basic set-up, adding new rules and attributes shouldn''t be that hard.
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 came up with this idea myself about a year ago, and have spent every day since then trying to stop my programming team from hating it. They don''t like ordinary physics engines, let alone complex "reality engines" like these. Which is a pity, because it should really enrich the game world, and also go hand in hand with the "annotated objects driving behaviour" system we discussed a couple of months ago on this board.
The trouble is, to do it properly you need lots of fancy things like polygon based collisions (programmers whip out crucifixes and holy water at its very mention), toppling, friction and restitution, kinetic energy and momentum, moments and turning points, all of which I am told (not being a coder myself) will kill even the fastest of machines.
Incidentally, could each of you please say which of the above features you would consider a) possible and b) worthwhile in a 3d, realtime FPA (first person adventure), to coin a phrase. I want to include them all in my game, of course, but somehow I don''t think that''s realistic.
The trouble is, to do it properly you need lots of fancy things like polygon based collisions (programmers whip out crucifixes and holy water at its very mention), toppling, friction and restitution, kinetic energy and momentum, moments and turning points, all of which I am told (not being a coder myself) will kill even the fastest of machines.
Incidentally, could each of you please say which of the above features you would consider a) possible and b) worthwhile in a 3d, realtime FPA (first person adventure), to coin a phrase. I want to include them all in my game, of course, but somehow I don''t think that''s realistic.
"If you go into enough detail, everything becomes circular reasoning." - Captain Insanity
I''m trying to imagine a generic framework for this sort of thing.
There''s one fundamental problem that I''m trying to solve, for example: A man shoots a gun at a vase. Is it the bullet''s responsibility to see if it has collided with the vase, or is it the vase''s responsibility to see if somethng hit it?
I''m thinking that an entity will "broadcast" a certain event, placing it in a queue. Each event is added with a specified TTL (time to live) (which can be "until the broadcaster explicitly removes me"). Then, each timestep, each entity will iterate through the queue and react to each event when appropriate. Then, each event whose TTL has expired will be removed from the queue.
Thus, with this system, you need an Event object, an Entity object, and a Queue object (which handles, among other things, removing Events whose TTL has expired, etc.
I, however, am far from an OO guru. So any improvements or critiques on this system are certainly welcome.
There''s one fundamental problem that I''m trying to solve, for example: A man shoots a gun at a vase. Is it the bullet''s responsibility to see if it has collided with the vase, or is it the vase''s responsibility to see if somethng hit it?
I''m thinking that an entity will "broadcast" a certain event, placing it in a queue. Each event is added with a specified TTL (time to live) (which can be "until the broadcaster explicitly removes me"). Then, each timestep, each entity will iterate through the queue and react to each event when appropriate. Then, each event whose TTL has expired will be removed from the queue.
Thus, with this system, you need an Event object, an Entity object, and a Queue object (which handles, among other things, removing Events whose TTL has expired, etc.
I, however, am far from an OO guru. So any improvements or critiques on this system are certainly welcome.
You aren''t REALLY following the ruleset paradigm, the way I see it (maybe I''m the one not following...) is that it is a bullet''s responsibility to know if it has hit anything at all times. If it does, it must tell the object it hits that it has hit it. It must also tell that object that was struck what it''s velocity was, and where the point of impact was.
In this manner, you have a set of rules for each object, during each timestep, the object must be ''checked'' to see if any of it''s rules have been triggered and act accordingly.
At every timestep, the vase is acted on by gravity, and the surface which it is standing must provide a resistive force (note that this is NOT a collision, because the vase is not moving - velocity = 0). If the vase finds that it is stable on that surface, then it will not accelerate in any direction.
If the vase was dropped, then as it fell, at each timestep there would be gravity and air resistance to evaluate (not really necessary in a computer simulation), and it would also have to check against it''s velocity to see if it would have hit anything in during that timestep. If it did, it must inform the object of the collision, and it must also evaluate internal damages (break up into shards or remain vase? depends on forces and angles).
The problem is that this is a very involved model, and as you make it more so, you may even have to use calculus to properly check whether certain events have taken place.
George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!
In this manner, you have a set of rules for each object, during each timestep, the object must be ''checked'' to see if any of it''s rules have been triggered and act accordingly.
At every timestep, the vase is acted on by gravity, and the surface which it is standing must provide a resistive force (note that this is NOT a collision, because the vase is not moving - velocity = 0). If the vase finds that it is stable on that surface, then it will not accelerate in any direction.
If the vase was dropped, then as it fell, at each timestep there would be gravity and air resistance to evaluate (not really necessary in a computer simulation), and it would also have to check against it''s velocity to see if it would have hit anything in during that timestep. If it did, it must inform the object of the collision, and it must also evaluate internal damages (break up into shards or remain vase? depends on forces and angles).
The problem is that this is a very involved model, and as you make it more so, you may even have to use calculus to properly check whether certain events have taken place.

Are you in support of the ban of Dihydrogen Monoxide? You should be!
Geordi
George D. Filiotis
George D. Filiotis
April 01, 2002 03:38 PM
definitely the bullet''s responsibility,
only things that have moved since last frame should check against other objects, I think we have rule one for the design of the rule system,
''vases'' - things that get hit
''bullets'' - things that hit vases
they should transfer information to each other, then let the objects rules go to work
vase rule 1: if hit by less than 100 J, don''t break
the bullet passes it''s trajectory, velocity, etc.
might want to hire a physicist and a materials science engineer, but equations are good for any object, it''s just the values that are different for each object and/or material, once you get these things determined, your base class would contain hardly anything except methods and your objects hardly anything except materials data, and there''s databases full of materials data on the web
only things that have moved since last frame should check against other objects, I think we have rule one for the design of the rule system,
''vases'' - things that get hit
''bullets'' - things that hit vases
they should transfer information to each other, then let the objects rules go to work
vase rule 1: if hit by less than 100 J, don''t break
the bullet passes it''s trajectory, velocity, etc.
might want to hire a physicist and a materials science engineer, but equations are good for any object, it''s just the values that are different for each object and/or material, once you get these things determined, your base class would contain hardly anything except methods and your objects hardly anything except materials data, and there''s databases full of materials data on the web
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement