code duplication
[netris.git] / TODO
1 possible bugs
2
3         * fail on insufficient space
4
5
6 near-future
7
8         * only global pause (handled by server in mp)
9           every client still has readiness flag
10         * correct cursorposition at quit
11         * echo \r
12         * transmit player fields of game in progress to new player
13                 * server has to maintain copy of player fields
14                 * server also handles endgame stats
15         * completely fix redraw
16         * server should deny duplicate nicks
17         * display total frags for players (by server?)
18         * spacebar toggles readiness as well
19                 * seperate set of key bindings during pause?
20         * wrong time after first match at second player
21         * toggleable message window
22
23
24 asap
25
26         * MENUTHINGY :)
27                 * write options to file
28         * all messages in single include file
29         * timestamps
30                 * backtrace...
31                         * multiple players using a single (larger) field
32         * wrap multiline messages at word end
33         * commands
34                 * basic irc / tetrinet client: /me, /msg
35                 * basic tetrinet client: /move
36                 * server info: /who (also in tetrinet), /version, /whois
37                 * /nick, /team (requires server passing)
38                 * remaining tetrinet: /join, /list, /op, /kick,
39                   /winlist, /setwinlist, /start, /stats, /tstats,
40                   /rules, /news, /faqs, /features, /motd
41         * observers (join as g/o player)
42         * bot as seperate client
43         * time-based singleplayer leveling?
44         * fix -f (both client+server)
45         * more server options (field size..)
46         * save hiscores
47
48
49 distant future
50
51         * server can rate players (skill ranking)
52                 * persistent data (retain info if players quit)
53                 * store data when server quits (and prolly at interval)
54                         * reliably identify players (login? identd?)
55                 * inter-server exchange? (global rank)
56         * different key procedure? (allowing for multiple keys simoultaniously?)
57         * vertical cropping of enemy fields (merging two lines into one!)
58         * server can add lines after specified time
59         * sounds
60         * graphics.... (or at least x version for keys)
61         * extra alarm event for effects
62                 * line clear animations (flash)
63         * multiple next pieces
64         * hold
65         * special blocks
66                 * inventory
67                 * player keys
68                 * delete key?
69                 * blocks+actions
70                         abcd.fg_i..lmnopqrs__v_x.z
71                         * tetrinet:
72                                 * a: add (junk)line
73                                 * b: remove specials on field
74                                 * c: clear (bottom) line
75                                 * g: gravity (move all blocks down)
76                                 * n: nuke field
77                                 * o: block bomb (3x3 blocks around any bombs on field are cleared)
78                                 * q: quake (shift lines left or right)
79                                 * r: remove 10 blocks at random
80                                 * s: swap fields
81                         * suggested:
82                                 * d (w): donate (next inv block given to other player)
83                                 * f (u): flip (symetric vertical inversion)
84                                 * h: hide (replaces inventory blocks by ?)
85                                                 (one block restored per line added?)
86                                 * l: lower (all specials from field going down (g))
87                                 * p: purge (half remove special blocks from inventory)
88                                 * t: take (take 2 specials from target player field)
89                                 * ?: mystery (block only revealed in inventory)
90                         * tetrinet 2:
91                                 * d: darkness (temporarily blackens your field except
92                                                around current piece)
93                                 * f: confusion (temporarily rearranges controls)
94                                 * i: attack immunity (invincible to attacks)
95                                 * m: mutated pieces (gives several difficult pieces)
96                                 * v: clear column (erases vertical line)
97                                 * blocktrix:
98                                         * l: left gravity (pulls all blocks to the left)
99                                         * p: piece change (randomly changes player's currently falling piece)
100                                         * z: zebra field (clear every second column)
101                         * ideas:
102                                 * x: seperate blocks (cut all shared pieces in quadra)
103         * quadra compatible?
104         * tetrinet compatible? (prolly not)
105         * new+better bot?
106         * ipv6
107         * replay ability? (tspec replay and/or quadra rec compatible?)
108                 * demo playable as intro
109                         * create record spelling out netris logo
110         * completely customizable window layout
111         * adjustable player order (maybe even in config by nick/hostname)
112         * multiple channels per server
113                 * /join and /part
114         * hold piece
115         * multiple level block preview
116         * customizable colors
117                 * netris:
118                     BT_I=BLUE, O=MAGENTA, T=WHITE, L=CYAN, J=YELLOW, S=GREEN, Z=RED
119                 * original:
120                     BT_I=RED, O=BLUE, T=ORANGE, L=MAGENTA, J=WHITE, S=GREEN, Z=CYAN
121                 * sega:
122                     BT_I=RED, O=YELLOW, T=CYAN, L=ORANGE, J=BLUE, S=MAGENTA, Z=GREEN
123                 * atari:
124                     BT_I=RED, O=BLUE, T=GREEN, L=MAGENTA, J=YELLOW, S=CYAN, Z=ORANGE
125                 * quadra:
126                     BT_I=GREEN, O=ORANGE, T=BLUE, L=MAGENTA, J=YELLOW, S=CYAN, Z=RED
127                 * tetrinet:
128                     BT_I=BLUE, O=YELLOW, T=YELLOW, L=MAGENTA, J=GREEN, S=RED, Z=BLUE
129                 * guideline:
130                     BT_I=CYAN, O=YELLOW, T=MAGENTA, L=ORANGE, J=BLUE, S=GREEN, Z=RED
131
132
133 consider
134
135  * colored shadows
136