Add Antiking v1
[vchess.git] / TODO
diff --git a/TODO b/TODO
index f018196..094de49 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,50 +1,39 @@
-Email form instead of clear email:
-https://nodemailer.com/smtp/
-https://www.w3schools.com/nodejs/nodejs_email.asp
-
-Finish rules translation in Spanish + improve existing ones
-Design: final touch (gain extra space on top, using space on the right)
-Crazyhouse: center reserves, grey if zero available, numbers superimposed
-Promotions: increase pieces sizes, better background.
-Code: use two spaces instead of tabs, everywhere.
-Increase code line length to 100 or more?
-(http://katafrakt.me/2017/09/16/80-characters-line-length-limit/)
-Chat button should be more apparent after game ends (color ?)
-Reinforce security for problems upload (how ?)
-The mode switch between human/computer/friend (+ problem) is a mess
-(example: finished computer game, ongoing friend game, reload, friend game is unreachable)
-
-Later:
-Let choice of time control, allow correspondance play, several games at the same time
-==> need to use indexedDB instead of localStorage. Maybe with Dexie https://dexie.org/
-Each user would have a unique identifier stored in the client DB.
-Allow to cancel games (if opponent doesn't connect again)
-Identity would be browser-based: different games on smartphone, home computer, work computer... (why not ?)
-Index might still look the same, and variant page would have another tab "Games"
-==> running, and finished (which can be deleted from local memory)
-(A true analysis mode could be implemented also, to navigate in completed games --> use a button)
-Allow challenging a specific player (by his chosen name)
-But keep the random pairings as main playing way + always playing in ZEN mode,
-except when accepting an individual challenge.
-
-style menu : surligner onglet courant
-
-Interface :
- - un menu "jouer" avec sous menus humain, computer, (ou mieux : une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game")
-                                                     --> cette "modal" doit être affichée par défaut en arrivant sur la page (si pas de chemin renseigné)
-                                                                                                                                                                                               --> ou alors non, affichage plutôt des parties en cours (liste avec diags : en 2nd sous-menu "games")
-          [ friend-->renommé en 'analyse' et devenant un vrai mode analyse (on garde ces trois modes ?) ]
- - un menu "joueurs" avec liste "P2P" des connectés (sous-menu de "Jouer" ?)
-         --> plutôt dans une sorte de "hall" avec liste des connectés ?
- - un menu "étudier" avec sous-menus règles, [analyse (également accessible depuis import partie)], problèmes
-
-problèmes : récupérer 20 ou 50 depuis le serveur, puis les afficher un par un en les analysant directement,
-comme sur le site de ProgramFOX ==> présentation unifiée échiquier avec instructions dessus et soluce cachée dessous
-
-==> il faut pouvoir faire "new Interface(variables)" pour lancer une analyse de problème sans repasser par le mode jeu...
-
-Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible)
-mais permettrait mode analyse (avec bouton "analyse", comme sur ancien site).
-
-espagnol : jugada ou movimiento ?
-fin de la partida au lieu de final de partida ?
+# Improvements
+
+Find a way to generalize getCastleMoves and getPotentialPawnMoves,
+to limit code duplication.
+
+# New variants
+Landing pieces from empty board:
+https://www.chessvariants.com/diffsetup.dir/unachess.html
+
+Rugby http://www.echecspourtous.com/?page_id=7945
+
+Cannibal Chess with forced captures.
+
+S-chess https://en.wikipedia.org/wiki/Seirawan_chess
+
+Generator variant, called "Matrix" ?
+Peces on first rank never move but generate new pieces. Pawn don't generate.
+A generator captured and replaced by a similar piece does not generate.
+King does not generate. No castling. En passant possible?
+Goal is still checkmate.
+
+Take(a)n(d)make : if capture a piece, take its power for the last of the turn and make a move like it.
+If a pawn taken: direction of the capturer.
+
+"Ball" Chess: 9x9 board, ball on center square. 2 queens ?
+To take the ball when it's free you need to capture it.
+To take the ball when it's used, u need to take the piece.
+Goal: bring ball to final rank.
+Possibles passes : soit à une pièce, soit sur une case.
+  --> remplace un déplacement de pièce. Par exemple pion a2 passe à cavalier a4 = 1 coup.
+  --> selon le mode de déplacement standard (donc tout droit pour les pions)
+Pas de notion d'échec ou de mat (?)
+Si une pièce est mat elle donne le ballon (?)
+
+Maxima, Interweave, Roccoco
+
+Synchrone Chess: allow to anticipate en-passant capture as well :)
+
+Dynamo chess