Skip to content

A game that tests your skill and battle tactics like nothing else πŸ§ πŸ§πŸš€

License

Notifications You must be signed in to change notification settings

stelynx/insanichess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

81 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Insanichess

Insanichess is a free and open-source project implemented in pure Dart with Flutter for client applications. Insanichess will stay free forever and all source is available to everyone on this repository.

[app] Build Android [app] Build iOS [app] Lint & Test [insanichess] Lint & Test [insanichess_engine] Lint & Test [insanichess_sdk] Lint & Test [server] Deploy Staging [server] Lint & Test


Are you ready to experience chess on a whole new level? More squares and more pieces make only your battle plan imagination an obstacle from achieving a victory!

Do you feel bounded while playing chess? Are you playing the same opening over and over again and you became bored? Insanichess is a perfect solution for chess players (and others) that want to experience a chess game on a scope of mediaval battles! Arrange your pawns in a turtle formation, let your cavalry do the breakthrough supported by deadly bishops, all that while your rooks defend your king and queen. Let your battle imagination free in this insane chess variant inspired by classic game of chess and epic mediaval battles!

Do you have a friend that always beats you in chess? Now you have an option to beat him at a REAL chess game!

App Features

  • Play an online game with custom time control and ability to specify preferred piece color.
  • Finished games are stored in the database.
  • Play OTB (over-the-board) games. The games are stored locally and can be found in Game History.
  • Change settings for online and OTB games.

Future Features

Currently, support for the following is being added to the Dart backend (sorted by priority):

  • Web version.
  • Play with random opponent.
  • OTB games will be saved on a server instead of locally.
  • Profile editing and searching for other players.
  • Making friends.
  • Tournaments.
  • Game statistics.
  • Opening explorer.
  • Different chess pieces and board styles.
  • Sharing of games.
  • The sky is the limit ...

Game rules

The rules of the game are implemented in pure Dart. The package that holds implementation is insanichess and its implementation is in packages/insanichess.

The game rules are pretty simple. All pieces move the same as their chess siblings. The only difference in game rules apart from chess are the following:

  • Pawns can always move only by one square (even from starting position) and can move diagonally without capturing a piece.
  • There is no castling. Your king must stand his ground!
  • There is no concept of stalemate or mate. To win a game, you must capture opponent's king.
  • The game can result in draw if and only if the players agree to a draw.

Repository structure

Insanichess repository consists of three major parts:

  • app is a Flutter project containing client side code (mobile and web app);
  • server is a pure Dart project containing server side code;
  • packages contains three Dart packages: insanichess that holds implementation of game rules, insanichess_engine that holds implementation of Insanichess evaluation engine, and insanichess_sdk that extends insanichess package with functionality that both client and server applications need.

Contributing

If you have a feature request or a bug to report, please open an issue.