Infoportions
(→Usage) |
|||
Line 35: | Line 35: | ||
Typical events: | Typical events: | ||
− | * ''' | + | * '''k''' - killed |
− | * ''' | + | * '''a''' - activated |
− | * ''' | + | * '''p''' - pressed |
− | * ''' | + | * '''o''' - opened |
− | * ''' | + | * '''c''' - closed |
* etc. | * etc. | ||
Revision as of 12:11, 18 July 2012
Pieces of information storing player's (or game) progress. They are used to identify if player was maked some action (touched some trigger, killed monster, activated batmark, checked out monologue mark etc.). Infoportions store data across levels and also used for game stats and achievements.
Infoportions could be local or global. Local infoportions belongs to player/npc, while global belongs to game and being active on all players.
As all infoportions shares same name space there is some standarts of naming to get rid of collisions.
- Inventory-related infoportions are prefixed by "inv_"
- Level-related and level-interaction infoportions set by level designer are prefixed by the worldnum and mapnum they are targeted to (w1m1_, w1m4_ etc.)
- Kain's eventual comments (snow, rain etc.) are prefixed by "comment_".
- Global infoportions always prefixed by #
Infoportions can have values attached.
Usage
For level designer, generic way to use infoportions is Trigger event and Pattern scripts. Trigger event allows to add new infoportions or values (in the form of counters). Pattern scripts allows to check for any infoportions (including gamecode-related, such as gamestats).
To make life easier, it is useful to name all infoportions using this rule:
mapname_objectname_eventhappened
Typical mapnames:
- w1m1
- w1m2
- etc
Typical objectnames:
- button1
- secretbutton
- barkeep
- brigands
- etc.
Typical events:
- k - killed
- a - activated
- p - pressed
- o - opened
- c - closed
- etc.
Typical usage on infoportions for level design:
- When having same NPC in two maps (like barkeep in Ziegsturhl tavern), when one is killed, another should be removed too.
- Open doors, activate stuff in another levels.
- Spawn more enemies when kain kills someone.