Tasks:Schedules: Difference between revisions
Jump to navigation
Jump to search
Character schedule task |
→Requirements: updated for current state of implementation |
||
Line 12: | Line 12: | ||
== Requirements == | == Requirements == | ||
* a master schedule decides what activity schedule controls the character at any given time. This master schedule is only executed when no other schedule is active | * <span style="text-decoration:line-through">a master schedule decides what activity schedule controls the character at any given time. This master schedule is only executed when no other schedule is active</span> (done) | ||
* activity schedules let characters walk, talk, pick up, combine and drop [[Architecture:Rpg Module#Items and Inventories|items]], etc. ... | * <span style="text-decoration:line-through">activity schedules let characters walk, talk, pick up, combine and drop [[Architecture:Rpg Module#Items and Inventories|items]], etc. ... </span> (done) | ||
* [[Architecture:Event Module|events]] (time, quest, etc.) can be used to stop the active schedule, thus triggering the master schedule. | * <span style="text-decoration:line-through">[[Architecture:Event Module|events]] (time, quest, etc.) can be used to stop the active schedule, thus triggering the master schedule.</span> (done) | ||
* character activity can be paused and resumed | * <span style="text-decoration:line-through">character activity can be paused and resumed</span> (done) | ||
* generic activities written in python can be used to create individual activity schedules for characters. | * generic activities written in python can be used to create individual activity schedules for characters. | ||
* Schedules are event driven: schedule of player listens for keyboard events and reacts accordingly; other schedules are controlled by other types of events. | * Schedules are event driven: schedule of player listens for keyboard events and reacts accordingly; other schedules are controlled by other types of events. | ||
* schedule state must be saved and loaded ([[Architecture:Base Module# | * schedule state must be saved and loaded ([[Architecture:Base Module#Data Persistence|Persistence]]) | ||
== References == | == References == |
Revision as of 12:44, 16 March 2008
Back to Task List
Overview
Character schedules give life to a NPC. They are implemented by Python scripts specifing movement and actions of each character.
Dependencies
none
Requirements
- a master schedule decides what activity schedule controls the character at any given time. This master schedule is only executed when no other schedule is active (done)
- activity schedules let characters walk, talk, pick up, combine and drop items, etc. ... (done)
- events (time, quest, etc.) can be used to stop the active schedule, thus triggering the master schedule. (done)
- character activity can be paused and resumed (done)
- generic activities written in python can be used to create individual activity schedules for characters.
- Schedules are event driven: schedule of player listens for keyboard events and reacts accordingly; other schedules are controlled by other types of events.
- schedule state must be saved and loaded (Persistence)
References
- Suggestions (take with a lump of salt)
- More suggestions (take with a grain of salt)
- Sample code