Mercurial > rlm
diff src/rlm/mtg-notes.txt @ 0:78a630e650d2
initial import
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Tue, 18 Oct 2011 00:57:08 -0700 |
parents | |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/rlm/mtg-notes.txt Tue Oct 18 00:57:08 2011 -0700 1.3 @@ -0,0 +1,37 @@ 1.4 +Components of a MTG game 1.5 + 1.6 +- Relationships between players -- enemies, allies, transitivity 1.7 +- Card zones 1.8 + - which players can see what's in them 1.9 + - shuffling, peeking, zone-transfer 1.10 +- Cost-paying engine 1.11 + - validate sufficient payment 1.12 +- Player choice interface 1.13 + - yes/no dialogues 1.14 + - choose an in-game item from a list (creatures, players) 1.15 + - choose an abstract item from a list (creature types, mana colors) 1.16 + - branch conditions -- choose two 1.17 + - GIVE OPTION TO REMEMBER DEFAULT CHOICE IN A CERTAIN CONTEXT 1.18 +- Card status 1.19 + - name, visibility, face-up (independent from visibility) 1.20 + - other attributes (type, color) 1.21 + - modifiers: tokens, abilities 1.22 + - QUERY FOR CERTAIN ATTRIBUTES (number of tokens of a certain type, Haste) 1.23 + - CREATE LISTS OF CARDS POSSESSING CERTAIN PROPERTIES. DETERMINE PROPERTIES LAZILY. 1.24 +- Superstructure and metaphysics 1.25 + - Create and destroy particular instances of cards (e.g. some cards are destroyed in one zone and recreated in another as opposed to moved. distinguish creature spells from creatures) 1.26 + - Trace the origin of effects to these instances 1.27 + 1.28 +- Players and turns 1.29 + - Determine player priority (APNAP) 1.30 + - Keep track of whose turn it is 1.31 + - Handle combat 1.32 + - Possibility of adding or losing turns, taking control of turns 1.33 + - Win and lose conditions 1.34 + 1.35 +- Parsed Rules 1.36 + - Determine which rules apply. 1.37 + - Make rules happen. Chain them appropriately. 1.38 + - Ask players to make choices 1.39 +- Unparsed rules 1.40 + - Parse english text into MTG rules