Skip to content

Commit

Permalink
updated docs some
Browse files Browse the repository at this point in the history
  • Loading branch information
bitcraft committed Jan 20, 2012
1 parent e3ae35e commit 4c2c2bc
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 49 deletions.
58 changes: 58 additions & 0 deletions NOTES
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
for goap 3

THIS IS MOSTLY NOTES FOR MYSELF


planner

planner sould be able to reasonably predict the cost of repeating actions

agents:
in an rpg game, the player can expect to talk to NPC'sr and and to gather
information about quests, items, other npc's, etc.

i think that goap can become an engine of sorts, dictating every action in the
game. basic play elements can be emulated through goap and would not have to
be explicitly coded into the game. take simple "hello" meet/greet actions with
an npc:
npc will have a insatable desire to talk to a player
they will have a different thing to say depending on mood/state of player

a side effect of this will that npc's could possibly become more lifelike as
they can move around the game world to satisfy goals. to moderate and conrol
the npc's and to make the game more enjoyable, npc's can have goals that are
only relevant at certain times of day or days of the week.

in the harvest moon series for example, the nps do have certain schedules that
they will loosely follow. this makes the game play predictable once their
simple schedule is learned. imo, giving the npc's too much freedom to act wiil
make the game world seem more random, and potentially frusterating to play.

tying the speech system to goap agents could make the gameplay more immersive
by allowing the player to ask unscripted questions. while developing a system
that perfectly synthesizes english is not a viable option, giving the player
the option to ask canned questions, unrealted to the quet or story, with the
ability to choose specfic parts of the question is a definate cool thing.

for example, the player might ask an npc "have you seen gary?". the goap
agent can then search it's memories of gary and give a response to the player.
because this would be based on the agent's memory, and not some canned
response, it will simotaniously make the make more immersive and releave the
game designers and writters the burden to creating dialog.

a frusterating aspect of some games is dealing with faction alliances. for
example, in some games, killing or doing some negative action against a member
of a faction will cause all members of that faction to instantly become hostile
toward the player. this is unrealistic in situations where the information
that our your hostility could not have reached the other party.

simulating the spread of information could also be simulated in goap by
creating goals that one agent wants to tell other agents things that he saw the
player do. for example, they may be nuetral npc's that will gossip with other
npc's in distant towns. or, members of one faction may use radio, phones,
letters, messengers, etc to tell other faction members about the player.

this too could be emulated with goap, and would not have to be explicitly
programmed.


54 changes: 5 additions & 49 deletions README
Original file line number Diff line number Diff line change
@@ -1,55 +1,11 @@
for goap 3
this is pygoap v.3
for python 2.x and pygame 1.9

planner

planner sould be able to reasonably predict the cost of repeating actions

agents:
in an rpg game, the player can expect to talk to NPC'sr and and to gather
information about quests, items, other npc's, etc.
please check out the source for hints on how the library works. this is under constant rewrite, and i only work on it occasionally. so needless to say: not stable.

i think that goap can become an engine of sorts, dictating every action in the
game. basic play elements can be emulated through goap and would not have to
be explicitly coded into the game. take simple "hello" meet/greet actions with
an npc:
npc will have a insatable desire to talk to a player
they will have a different thing to say depending on mood/state of player
you can watch it work by running "pirate.py".

a side effect of this will that npc's could possibly become more lifelike as
they can move around the game world to satisfy goals. to moderate and conrol
the npc's and to make the game more enjoyable, npc's can have goals that are
only relevant at certain times of day or days of the week.

in the harvest moon series for example, the nps do have certain schedules that
they will loosely follow. this makes the game play predictable once their
simple schedule is learned. imo, giving the npc's too much freedom to act wiil
make the game world seem more random, and potentially frusterating to play.

tying the speech system to goap agents could make the gameplay more immersive
by allowing the player to ask unscripted questions. while developing a system
that perfectly synthesizes english is not a viable option, giving the player
the option to ask canned questions, unrealted to the quet or story, with the
ability to choose specfic parts of the question is a definate cool thing.

for example, the player might ask an npc "have you seen gary?". the goap
agent can then search it's memories of gary and give a response to the player.
because this would be based on the agent's memory, and not some canned
response, it will simotaniously make the make more immersive and releave the
game designers and writters the burden to creating dialog.

a frusterating aspect of some games is dealing with faction alliances. for
example, in some games, killing or doing some negative action against a member
of a faction will cause all members of that faction to instantly become hostile
toward the player. this is unrealistic in situations where the information
that our your hostility could not have reached the other party.

simulating the spread of information could also be simulated in goap by
creating goals that one agent wants to tell other agents things that he saw the
player do. for example, they may be nuetral npc's that will gossip with other
npc's in distant towns. or, members of one faction may use radio, phones,
letters, messengers, etc to tell other faction members about the player.

this too could be emulated with goap, and would not have to be explicitly
programmed.


have fun.

0 comments on commit 4c2c2bc

Please sign in to comment.