view 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 source
1 Components of a MTG game
3 - Relationships between players -- enemies, allies, transitivity
4 - Card zones
5 - which players can see what's in them
6 - shuffling, peeking, zone-transfer
7 - Cost-paying engine
8 - validate sufficient payment
9 - Player choice interface
10 - yes/no dialogues
11 - choose an in-game item from a list (creatures, players)
12 - choose an abstract item from a list (creature types, mana colors)
13 - branch conditions -- choose two
14 - GIVE OPTION TO REMEMBER DEFAULT CHOICE IN A CERTAIN CONTEXT
15 - Card status
16 - name, visibility, face-up (independent from visibility)
17 - other attributes (type, color)
18 - modifiers: tokens, abilities
19 - QUERY FOR CERTAIN ATTRIBUTES (number of tokens of a certain type, Haste)
20 - CREATE LISTS OF CARDS POSSESSING CERTAIN PROPERTIES. DETERMINE PROPERTIES LAZILY.
21 - Superstructure and metaphysics
22 - 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)
23 - Trace the origin of effects to these instances
25 - Players and turns
26 - Determine player priority (APNAP)
27 - Keep track of whose turn it is
28 - Handle combat
29 - Possibility of adding or losing turns, taking control of turns
30 - Win and lose conditions
32 - Parsed Rules
33 - Determine which rules apply.
34 - Make rules happen. Chain them appropriately.
35 - Ask players to make choices
36 - Unparsed rules
37 - Parse english text into MTG rules