Has anyone ever pursued creating a library/framework for the abstract
management of event resolution models?
I’m coding a game where character actions of all players are planned
ahead of time, and then these actions are executed all at the same time.
This, obviously, means that I will need to develop logic to resolve
event conflicts. For example, character A decides to send a message to
character B, at the same time that character C decides to shoot
character A. So my game logic needs to decide which events take
precedence (does character A get off his message before getting shot?)
and so forth.
I was curious if anyone had every worked on some kind of generic event
management framework that could underlie an actual gaming engine. Anyone
heard of anything like that?
So how does the logic decide which event takes priority? And what
abstraction could a library provide for something like this? It almost
seems
like you would just need to set up some rules, like “Event F always
wins”,
“Event K always beats Event D unless some_fact is true”, etc.
This sounds interesting. Have you heard of such a library in another
language?
No. Google searches bring up nothing. But then, maybe “Event Resolution”
is the wrong terminology(?)
On Fri, Sep 3, 2010 at 4:41 PM, Andrew W. [email protected]
wrote:
So how does the logic decide which event takes priority? And what
abstraction could a library provide for something like this? It almost seems
like you would just need to set up some rules, like “Event F always wins”,
“Event K always beats Event D unless some_fact is true”, etc.
Maybe a rules engine? I’ve never used it, but google turns up:
So how does the logic decide which event takes priority? And what
abstraction could a library provide for something like this? It almost seems
like you would just need to set up some rules, like “Event F always wins”,
“Event K always beats Event D unless some_fact is true”, etc.
So how does the logic decide which event takes priority? And what
abstraction could a library provide for something like this? It almost seems
like you would just need to set up some rules, like “Event F always wins”,
“Event K always beats Event D unless some_fact is true”, etc.
I think a rules engine might be along the lines of what I was looking
for, though I’m not sure rools or ruleby would be any help. Half the
links at rools.rubyforge.org don’t work, including the ones that link to
code examples, so I set that one aside. Ruleby seems to be better
maintained, but to be honest, I still can’t quite figure out the API,
even after looking at the docs and examples. Furthermore, the Ruleby
rules conflict resolution system is not clear to me (FIFO more important
that actual given resolution priority…?) so I’m not sure how it would
integrate into what I want to accomplish with my video game.
I’m thinking now it would just be easier to design my own rules system,
though admittedly I don’t know anything about advanced node-based
algorithms.
So how does the logic decide which event takes priority? And what
abstraction could a library provide for something like this? It almost seems
like you would just need to set up some rules, like “Event F always wins”,
“Event K always beats Event D unless some_fact is true”, etc.
I think a rules engine might be along the lines of what I was looking
for, though I’m not sure rools or ruleby would be any help. Half the
links at rools.rubyforge.org don’t work, including the ones that link to
code examples, so I set that one aside. Ruleby seems to be better
maintained, but to be honest, I still can’t quite figure out the API,
even after looking at the docs and examples. Furthermore, the Ruleby
rules conflict resolution system is not clear to me (FIFO more important
that actual given resolution priority…?) so I’m not sure how it would
integrate into what I want to accomplish with my video game.
I’m thinking now it would just be easier to design my own rules system,
though admittedly I don’t know anything about advanced node-based
algorithms.
So how does the logic decide which event takes priority? And what
abstraction could a library provide for something like this? It almost seems
like you would just need to set up some rules, like “Event F always wins”,
“Event K always beats Event D unless some_fact is true”, etc.