Skip to content

Instantly share code, notes, and snippets.

@schoblaska
Created April 2, 2015 20:10
Show Gist options
  • Save schoblaska/98feb746dc49c01dcc04 to your computer and use it in GitHub Desktop.
Save schoblaska/98feb746dc49c01dcc04 to your computer and use it in GitHub Desktop.

start with an opening explorer. have a way to comment on each position, maybe even to up/downvote comments so that a user can give a good explanation of what is going on in the position and have it surface to the top. solicit comments for each move and position, prioritizing the most common-occuring ones. good, approachable explanations like this: http://www.eudesign.com/chessops/epin-01b.htm

let players upload their games. analyze them, show blunders, rating changes. nice commenting system to make analysis easier. take tactics from games and put them into a tactics trainer pool. use this to figure out how difficult each tactic is and to get users to classify them. use this info to help players understand what tactics they're missing in their games. automatically build their opening book based on what they play, and help them find holes

when using opening explorer, allow user to choose different game sets. ex: I want to know what people rated 1200-1400 play against this defense

take the chess position trainer software and put it online, basically. improve the interface, show holes in repertoire based on frequency database. smart practicing based on spaced repetition and "importance" (frequency) of each position. sell subscriptions, freemium version up to x number of stored positions

store openings based on fen, not pgn, to account for transpositions

automatically add "!" mark to moves when player finds a tactic that's way above their level

if timestamps are present, come up with metrics that show how well time is used?

start with sort of "free play" mode. You randomly get black or white. You can make whatever opening moves you want, but if you make an uncommon move it stops you and either confirms or just shows you the more common choices. Opponent moves randomly, based on move frequency. After playing a line, you have the option of saving it to your repertoire. You can then do repertoire training mode, same as normal mode, but you must make moves in your book. Also repertoire gap-finding mode, similar to repertoire practice, but opponent always makes most common move for which you have no response. Also offer some way to print out table of opening book, or at least list most important openings played. Allow user to upload their own PGN of games to use as database - for training against a specefic opponent, etc

come up with common concepts that players need to be able to do well at to play at various levels. e.g.: basic time management, protecting pieces, playing a decent book opening. make them be things that can be assessed by software, then take that concept and see how prevalent it as at different rating levels. e.g.: "protecting against back-rank mate stops becoming a problem at 1200". make a big chart of all the skills and what you need at each level. then automatically analyze players' games, show them their strengths and weaknesses, and give them resources to fix what's holding them back.

http://www.reddit.com/r/chess/comments/2f0dgx/can_a_chess_engine_identify_chess_tactics_by_name/

Users have a primary opening book where they're advised to put all their openings, but can also create additional ones for experimenting. Can then merge experimental books into main one, replacing any conflicts.

Users can get a dump of games that match any of their openings, or do same from a specific spot in their tree (eg, people who play the caro-kann the same way as me).

Give users tactical motifs in proportion to how often those motifs appear in games played at their level. Also make this weighting clear in their training statistics (this pattern occurs all the time at your level, but you miss it a lot - you really need to work on it).

Copy some of this design: http://www.chesscademy.com/learn

safety drills. Play game from one side. Sequence of three moves. Each time, ask "is move x safe?" User simply selects yes / no. If move was safe and user said yes, play opponent's reply, then ask same question of the next move made by the player whose perspective we are viewing. One of the three moves, if made, may result in a tactic for the opponent. These moves are unsafe. Sometimes, all three of the moves will be safe and user must answer "yes" all three times to get the problem correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment