Cyphesis Development March 99

by Aloril

Current status

NPCs have simple goals:

Goals consist of time range, fulfilled -function and subgoals.

First check whether now is right time to achieve that goal.

Example: sleeping at nights or seasonal things, etc...

Future: make time more random and if certain conditions are fulfilled: overrule it

Then check whether goal is fulfilled: If it's ok then proceed to next goal. Example: have house

If it's not fulfilled, then process subgoals. Subgoal is either function that returns required actions or another goal.

Example: 'Build home' has 'find place for home' and 'build house' subgoals.

Future: 1) 'or' subgoals: fulfill either of subgoals and order of trying them is based on some criteria (default: random) 2) maybe use Mercury as low level implementation language for high level goal interpreter?

Priorities: Certain goals are checked before other goals. Example: Eating is more important than sleeping.


NPCs remember things like: places they have seen, things they have tried and knowledge about places and things.

Future: remember things about other PC/NPCs and what has been talked.

Mind/Body separation:

Body resides at server. Mind is either NPC script or human player using client. Mind sends intentions to body and body decides what happens. It also filters events from world.

PC/NPC can be remote or local. There is no difference except in how events are passed.


NPCs sometimes get progeny. They teach progeny same goals and knowledge they have.

Future: Parents together teach children and take into account in teaching whether it's boy or girl.

Home page for Cyphesis:


Short time goal is to make NPCs understand some Interlinguish sentences. I think that talking between NPCs is very important in creating 'live world'. This is needed for economy and battles.

For theory about Panlingua by Chaumont Devin see:

Diagrams illustrating Panlingua:

Long time goal: Something that could be called as 'real live virtual world.' ;-)