All Projects → linrock → blitz-tactics

linrock / blitz-tactics

Licence: GPL-3.0 license
Fast-paced chess tactics trainer

Programming Languages

ruby
36898 projects - #4 most used programming language
typescript
32286 projects
Sass
350 projects
HTML
75241 projects
Vue
7211 projects
Slim
82 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to blitz-tactics

renpy-chess
A chess GUI built with Ren'Py, python-chess, and Stockfish. Version 2.0 of https://github.com/RuolinZheng08/renpy-chess-engine
Stars: ✭ 36 (-73.72%)
Mutual labels:  chess, chess-game
ssh-chess
Chess over a ssh connection
Stars: ✭ 13 (-90.51%)
Mutual labels:  chess, chess-game
chessIO
Fast haskell chess move generator library and console UCI frontend
Stars: ✭ 25 (-81.75%)
Mutual labels:  chess, chess-game
leanchess
The world's smallest chess program
Stars: ✭ 71 (-48.18%)
Mutual labels:  chess, chess-game
ChineseChessOnline
一款canvas版中国象棋游戏,支持高清图像/canvas响应式设计/ 实时对战/棋谱功能/在线聊天。A Canvas version of the Chinese chess game, supporting high-definition images / Canvas responsive design / real-time combat / chess spectrum function / online chat
Stars: ✭ 25 (-81.75%)
Mutual labels:  chess, javascript-game
pgn-tactics-generator
Generate chess puzzles / tactics from a pgn file
Stars: ✭ 83 (-39.42%)
Mutual labels:  chess, chess-puzzle
stockfish-chess-web-gui
Responsive chess web GUI to play against the Stockfish 10 chess engine. Multiple web GUI implementations have also been included.
Stars: ✭ 21 (-84.67%)
Mutual labels:  chess, chess-game
OpenChess
A cross-platform chess game.
Stars: ✭ 18 (-86.86%)
Mutual labels:  chess, chess-game
chess-puzzle-maker
Creates chess puzzles from chess games and positions
Stars: ✭ 34 (-75.18%)
Mutual labels:  chess, chess-puzzle
Realtime-OpenCV-Chess
♔ Chess-playing with Open-CV [Human vs AI (Stockfish engine)]
Stars: ✭ 18 (-86.86%)
Mutual labels:  chess
littlewing
Chess engine written in Rust ♛
Stars: ✭ 27 (-80.29%)
Mutual labels:  chess
TrulyQuantumChess
A game of truly quantum chess, with interference, entanglement, etc.
Stars: ✭ 77 (-43.8%)
Mutual labels:  chess
chess.com
Python wrapper for Chess.com Published-Data API
Stars: ✭ 34 (-75.18%)
Mutual labels:  chess
ChessLib
C# chess library containing a complete data structure and move generation.
Stars: ✭ 37 (-72.99%)
Mutual labels:  chess
eschecs
UCI chess GUI
Stars: ✭ 32 (-76.64%)
Mutual labels:  chess
chess.ts
A Typescript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
Stars: ✭ 19 (-86.13%)
Mutual labels:  chess
lila-gif
Webservice to render Gifs of chess positions and games, and stream them frame by frame
Stars: ✭ 63 (-54.01%)
Mutual labels:  chess
AutoTrimps
Automation for the idle incremental game 'Trimps'
Stars: ✭ 32 (-76.64%)
Mutual labels:  javascript-game
NextCommunity.github.io
Join FREE: Community of open-source programmers and software engineers.
Stars: ✭ 29 (-78.83%)
Mutual labels:  chess
realtimechess
In Real-time Chess (or Kung-Fu Chess, Ninja Chess), all pieces can be moved simultaneously!
Stars: ✭ 16 (-88.32%)
Mutual labels:  chess

Blitz Tactics

A free and open-source website for playing fast-paced chess puzzles!

If you want to play random puzzles each time:

  • Three - three minutes, three lives, three hints.
  • Haste - correct moves gain time, mistakes lose time.

These puzzles change daily:

  • Countdown - solve puzzles before time runs out
  • Speedrun - solve puzzles as quickly as you can

For more ways to play:

  • Repetition - solve every puzzle quickly and precisely to unlock the next level
  • Infinity - play through endless puzzles and set your own difficulty

Development

The backend uses Rails 6, Ruby 2.7.3, and Node 12.x LTS. Postgres 9 is used for the database. Chess puzzle data is imported into the database from JSON data files.

The frontend uses a modified version of Chessground for the interactive chessboard and chess.js for chess logic. User interfaces are implemented with Vue 3 and some legacy Backbone.js code. Webpack 4 and Sprockets 4 are both used for asset compilation.

Development instructions

First make sure your dev environment is set up for Ruby and Typescript development. You'll need Yarn and maybe a Ruby version manager like chruby or RVM. Then from within your git clone of the codebase, these steps will get you a dev environment with the chess puzzles used on the site:

bundle install    # install ruby gems
yarn install      # install node_modules

rails db:create   # set up an empty postgres db: blitz-tactics_development
rails db:migrate  # sets up the db schema

yarn lichess:puzzles:fetch   # downloads ~125k lichess v1 puzzles as JSON files
yarn lichess:puzzles:import  # import puzzles from JSON into the db (15+ min)
yarn lichess:puzzles:check   # should confirm the puzzles were loaded

yarn blitz:game_modes:fetch  # downloads puzzles used on blitztactics.com as JSON files
yarn blitz:game_modes:import # imports game modes puzzles into the db (6+ min)
yarn blitz:game_modes:check  # prints the number of puzzles in the db for each game mode
  • Run a rails dev server: rails s
  • Run a webpack dev server: yarn dev or ./bin/webpack-dev-server

Go to http://localhost:3000/ and you'll see the Blitz Tactics homepage if all went well.

Special thanks

  • Stepmania - inspiration for the original game mechanics
  • lichess - tactics puzzles and awesome community's feedback
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].