Lila: "Puzzle Rush" with enhancements

Created on 1 Jan 2019  路  8Comments  路  Source: ornicar/lila

Many people have been raving over another site's new "Puzzle Rush" feature, introduced in early December 2018. It is a rather simple game involving a timer and random puzzles of ascending difficulty. The goal of the game is to solve as many puzzles as possible before the timer hits zero, but three strikes before then and you're out.

If this is a feature the core developers approve of, I would like to assist in the development of it.

A similar issue (#4731) was made regarding this type of feature, but this is a more simplified version.

feature prospect puzzles

Most helpful comment

The "enhancements" could be discussed, of course, but here are a few ideas:

  • After a game is over, share the exact same series of puzzles with a friend
  • Add a berserk mode that halves the timer and increases the difficulty of the puzzles faster

All 8 comments

The "enhancements" could be discussed, of course, but here are a few ideas:

  • After a game is over, share the exact same series of puzzles with a friend
  • Add a berserk mode that halves the timer and increases the difficulty of the puzzles faster

Where I'm stumped is given that https://blitztactics.com/ has 5 different puzzle rush modes, and given that it's taken months of effort to get Lichess tactics (both on the web and all iOS/Android versions) where they are right now, how can a useful and performant change be developed, tested, and maintained over time?

Hmm, @ddugovic, I understand the aversion to building new features to maintain, but I don't see how the existence of another service makes that more difficult. I also think that the months of effort to improve Lichess tactics would actually aid in the creation of this feature, as there would be less to build from scratch.

I haven't really thought much about the implementation or maintainability yet. However, I can imagine agreeing with @samcal's opinion that the existing implementation of tactics on lichess would make it less difficult to create this.

The core functionality of the game already seems to exist in the standard lichess tactics. When a person solves a tactic, a more difficult one is shown (at least that's how I presume it works). We would of course need to solve other problems - the timer and strikeouts being just a few.

Another service offering something similar isn't what's challenging, but seems an easier means to achieving the goal. The tactics module (not to mention the tactics generator) has gone through quite a journey, to the best of my recollection:

  • Initial implementation with Easy, Medium, Hard difficulty settings
  • Removal of multiple-solution puzzles
  • iOS and Android puzzles rated
  • Disabled rating of daily puzzle
  • iOS and Android syncing "next puzzle" pointer with web
  • iOS, Android, and browser not double-rating puzzles (or failing to update ratings)
  • iOS and Android obtaining "next puzzle" batches
  • iOS, Android, and browser not double-rating puzzles (or failing to update ratings)
  • Spaced repetition and removal of difficulty settings
  • Removal of spaced repetition; iOS and Android provide non-overlapping "next puzzle" batches
  • iOS, Android, and browser not double-rating puzzles (or failing to update ratings)
  • Disabled rating user-selected puzzles or puzzles already played in iOS, Android, or browser

My points are that:

  • Some mobile platforms are more difficult to update than others (or are no longer possible to update). I don't know the details of what went on with API versioning, but troubleshooting multiple platforms takes nonzero effort.
  • For a change with widespread impact it's valuable to get it right on the first try. If users expect "Puzzle Rush" puzzle difficulty to increase throughout a session, and want to preserve qualities we currently have (players are not served the same puzzles twice; and if somehow a player manually selected a puzzle and later was served it, I think[?] neither attempt is rated) that will probably require some database-side work to maximize performance.

Another service offering something similar isn't what's challenging, but seems an easier means to achieving the goal.

Depends on what "the goal" is. The goal of this requested issue is to have this feature on lichess. If the goal were to just allow a person to play puzzle rush, we could just send them to the original site (and they can just play chess there too while they're at it).

For a change with widespread impact it's valuable to get it right on the first try.

Absolutely agreed, so maybe we can reduce the surface of impact? I'm not sure that any of those restrictions on normal puzzle usage need to hold in this context. That is, I don't think it's terrible to show users puzzles that they have seen before, and the puzzles could themselves be unrated. I think the puzzle rush incentive/reward is the number of puzzles solved, not the puzzles' individual difficulty.

Good luck!

Indeed, feel free to have a go at it! I've stated why I'd prefer spending my time enhancing BlitzTactics' puzzle modes but anyone sufficiently motivated can try to run with this I guess.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

goggle picture goggle  路  4Comments

thomas-daniels picture thomas-daniels  路  4Comments

nojoking picture nojoking  路  4Comments

niklasf picture niklasf  路  3Comments

Cristian-A picture Cristian-A  路  3Comments