missing features (notable on Tetris DS)
[netris.git] / TODO
diff --git a/TODO b/TODO
index 819dfceec97ee2f1c457e3dd738188eb7acaa155..b0f07d83c04388c741500a8cbf32133e3f859b91 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,62 +1,89 @@
+possible bugs
+
  * check out quadra gravity: single block over multiplayer junkhole
+   -> piece falls down
+ * fail on insufficient space
+
 
----- near-future: ------------------------------------------------------------
+near-future
 
+ * only global pause (handled by server in mp)
+   every client still has readiness flag
+ * piece seperation when middle cleared away? (check quadra -> piece split)
  * correct cursorposition at quit
+ * echo \r
  * transmit player fields of game in progress to new player
        * server has to maintain copy of player fields
+       * server also handles endgame stats
  * completely fix redraw
- * redraw on window resize
- * message position/size
- * allow custom nicks
  * server should deny duplicate nicks
- * move piece when unable to rotate at screenedge
  * display total frags for players (by server?)
- * spacebar toggles ready as well
+ * spacebar toggles readiness as well
+       * seperate set of key bindings during pause?
+ * wrong time after first match at second player
+ * toggleable message window
 
 
----- asap: -------------------------------------------------------------------
+asap
 
- * quadra-style gravity option
-       * pieces stored as bitmaps
-       * blocks in shape stick together horizontally
- * different key procedure? (allowing for multiple keys simoultaniously?)
- * player messages (caps toggles typing mode?)
-       * commands (/team)
+ * MENUTHINGY :)
+       * write options to file
+ * all messages in single include file
+ * timestamps
+       * backtrace...
+               * multiple players using a single (larger) field
+ * wrap multiline messages at word end
+ * commands
+       * basic irc / tetrinet client: /me, /msg
+       * basic tetrinet client: /move
+       * server info: /who (also in tetrinet), /version, /whois
+       * /nick, /team (requires server passing)
+       * remaining tetrinet: /join, /list, /op, /kick,
+         /winlist, /setwinlist, /start, /stats, /tstats,
+         /rules, /news, /faqs, /features, /motd
  * observers (join as g/o player)
- * fix -f
- * half width enemy fields if out of screen space
- * fix bot
- * multiplayer stats
+ * bot as seperate client
  * time-based singleplayer leveling?
- * shapes stored as bitmap, rotate by modifying for (should be smaller)
+ * fix -f (both client+server)
+ * more server options (field size..)
+ * save hiscores
 
 
----- distant future: ---------------------------------------------------------
+distant future
 
- * horizontally _and_ vertically resize enemy fields
+ * server can rate players (skill ranking)
+       * persistent data (retain info if players quit)
+       * store data when server quits (and prolly at interval)
+               * reliably identify players (login? identd?)
+       * inter-server exchange? (global rank)
+ * different key procedure? (allowing for multiple keys simoultaniously?)
+ * vertical cropping of enemy fields (merging two lines into one!)
  * server can add lines after specified time
  * sounds
- * line clear animations (flash)
+ * graphics.... (or at least x version for keys)
+ * extra alarm event for effects
+       * line clear animations (flash)
  * multiple next pieces
+ * hold
  * special blocks
        * inventory
        * player keys
        * delete key?
        * blocks+actions
+               abcd.fg_i..lmnopqrs__v_x.z
                * tetrinet:
                        * a: add (junk)line
                        * b: remove specials on field
                        * c: clear (bottom) line
                        * g: gravity (move all blocks down)
                        * n: nuke field
-                       * o: block bomb (blocks around any bombs on field are moved)
+                       * o: block bomb (3x3 blocks around any bombs on field are cleared)
                        * q: quake (shift lines left or right)
                        * r: remove 10 blocks at random
                        * s: swap fields
                * suggested:
-                       * d: donate (next inv block given to other player)
-                       * f: flip (symetric vertical inversion)
+                       * d (w): donate (next inv block given to other player)
+                       * f (u): flip (symetric vertical inversion)
                        * h: hide (replaces inventory blocks by ?)
                                        (one block restored per line added?)
                        * l: lower (all specials from field going down (g))
                        * i: attack immunity (invincible to attacks)
                        * m: mutated pieces (gives several difficult pieces)
                        * v: clear column (erases vertical line)
+               * blocktrix:
+                       * l: left gravity (pulls all blocks to the left)
+                       * p: piece change (randomly changes player's currently falling piece)
+                       * z: zebra field (clear every second column)
                * ideas:
                        * x: seperate blocks (cut all shared pieces in quadra)
  * quadra compatible?
  * tetrinet compatible? (prolly not)
- * remove bot delay (make it humanplayer-like)
  * new+better bot?
  * ipv6
- * replay ability? (tspec replay or quadra rec compatible?)
+ * replay ability? (tspec replay and/or quadra rec compatible?)
+       * demo playable as intro
+               * create record spelling out netris logo
+ * completely customizable window layout
+ * adjustable player order (maybe even in config by nick/hostname)
+ * multiple channels per server
+       * /join and /part
+ * hold piece
+ * multiple level block preview
+
+
+consider
+
+ * colored shadows