Mercurial > rlm
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:78a630e650d2 |
---|---|
1 Components of a MTG game | |
2 | |
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 | |
24 | |
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 | |
31 | |
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 |