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