Skip to content

lidaobing/gochess

 
 

Repository files navigation

Alt text Build status Go Report Card License: GPL v3 -

Alt text
Alt text
Alt text

Go Play Chess - Free Online Real time chess web server using websockets - Creator: Jonathan Chin

12/10/2015 - Start date of project.

5/31/2016 This project is officially open source. - All commit history has been cleared as some of the git history contained sensitive data.

4/30/2017 I've decided to add a MUD. Chess and MUD's don't usually go together but by having them on the same web server and domain allows me to save server costs. More details will be revealed soon.

If you are interesting in contributing please open a new issue here: https://github.com/jonpchin/gochess/issues In the issue state what you want to work on and I'll add you as a contributor. If you are open to doing anything I can assign you one of the open tasks in the back log. Once your changes are ready, make a pull request and I"ll review it.

Features:

1. User accounts

2. Time controls

3. Player ratings and matchmaking system

4. Save and review games

5. Server side validation of chess moves

6. Security(HTTPS, WSS, CAPTCHA, input validation, password encryption)(partially shown on GitHub)

7. Cron jobs

8. Logging(partially shown on GitHub)

9. Graceful shutdown and recovery of active games

10. Automated deployment of web server to production environment(not shown on GitHub)

11. Highscore board containing top bullet, blitz standard, and correspondence ratings.

12. Configurable user settings, chess piece theme, sound toggle, chat toggle, etc.

13. Database of over 1.8 million chess games, most of which are master/grandmaster games.

14. Player profiles to view rating and past games.

15. Player's name has the country flag where their IP originates from when they register

16. Players can view on going chess games in real time as spectators

17. Lobby and game room chat.

18. Rating history timeline on player's profile using Google Charts.

19. Players can play against cinnamon chess engine and stockfish chess engine (web workers).

20. Web server runs in Windows and Linux.

21. Forum

22. Daily news feed, contains mostly tech articles but it can be configured to get other types of news.


To Do List:

1. Chess TV where live games are randomly broadcasted.

2. Admin control

3. Friends list

4. Inbox system

5. Update help, documentation and screenshots

6. Post game analysis with Stockfish engine

7. Statistics page

8. Store zipped source files and databas backup in Google Drive or Dropbox.

9. Add release notes.


Special thanks to those who provided amazing third party libaries:

1. chess.js

2. chessboard.js

3. goglicko by Josh Hoak aka Kashomon

4. Tock.js

5. Cinnamon JS Engine

6. download.js v4.1, by dandavis

7. dchest/captcha

8. robfig/cron

9. gopkg.in/gomail.v2

10. golang.org/x/crypto/scrypt

And many more...


Other Dependencies:

1. jsonlint


MUD

Classes:

  1. Warrior
  2. Barbarian
  3. Monk
  4. Mage
  5. Thief
  6. Ranger
  7. Swordmaster
  8. Illusionist
  9. Priest
  10. Necromancer
  11. Witch
  12. Paladin
  13. Alchemist
  14. Jester

Breakdown of classes and description:

  1. Warriors: Warriors are well rounded fighter that can use a variety of powerful armor and weaponry. Warriors can learn some basic magic.

  2. Barbarian: Barbarians are ancient warrior who uses brute strength and raw fury to excel in combat. After many generations of fierce training they have become resistant to magic.

  3. Monk: Monks are masters at martial arts and they can use their spirtual powers to heal and purge disease.

  4. Mage: Mages are spell casters who wield powerful spells. They can do great damage but are physically weak as a trade off.

  5. Thief: Makes a living by robbing others.

  6. Ranger: Cunning forestmen who lay traps.

  7. Swordmaster: Swordmasters train with the blade day and night until they become experts.

  8. Illusionist: Manipulates space and time

  9. Priest: Holy magic casters

  10. Necromancer: Can raise people from the dead

  11. Witch: Uses dark voodo magic and can create healing potions

  12. Paladin: Holy warriors who can use holy magic

  13. Alchemist: Able to manipulate bodily fluid's and create rare elements

  14. Jester: The utlimate prankster

Races

  1. Human
  2. Dwarf
  3. Elf
  4. Troll
  5. Ogre
  6. Hobbit
  7. Vampire

About

Online real time chess web server using websockets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 66.4%
  • JavaScript 22.7%
  • HTML 9.3%
  • CSS 1.5%
  • Shell 0.1%