{"id":17501338,"url":"https://github.com/vinc/purplehaze","last_synced_at":"2025-04-23T03:19:26.381Z","repository":{"id":137714352,"uuid":"960236","full_name":"vinc/purplehaze","owner":"vinc","description":"0x88 chess engine written in C++ ♘","archived":false,"fork":false,"pushed_at":"2013-01-21T20:50:15.000Z","size":788,"stargazers_count":13,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T21:32:15.995Z","etag":null,"topics":["chess","chess-engine"],"latest_commit_sha":null,"homepage":"http://vinc.cc/projects/purplehaze","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-10-04T10:53:39.000Z","updated_at":"2025-02-26T01:42:44.000Z","dependencies_parsed_at":"2023-03-15T23:45:45.642Z","dependency_job_id":null,"html_url":"https://github.com/vinc/purplehaze","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinc%2Fpurplehaze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinc%2Fpurplehaze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinc%2Fpurplehaze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinc%2Fpurplehaze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinc","download_url":"https://codeload.github.com/vinc/purplehaze/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250360800,"owners_count":21417781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chess","chess-engine"],"created_at":"2024-10-19T19:45:00.575Z","updated_at":"2025-04-23T03:19:26.365Z","avatar_url":"https://github.com/vinc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Purple Haze\n===========\n\n\u003e Do chess engines dream of electric guitar?\n\n\nSynopsis\n--------\n\nPurple Haze is a free chess engine compatible with the Xboard protocol. It is\nwritten by Vincent Ollivier and distributed under the terms of the GNU General\nPublic License version 3.\n\nThe development of Purple Haze started in the winter of 2006-2007 as a pet\nproject to learn the Java programming language by a student in Computer\nScience. It was terribly slow and rapidly put aside for two years before\nbenefiting from a regained interest after much research and reading of papers\non the subject.\n\nA new version was written in C++11 between the summer of 2009 and the beginning\nof 2010 but it was full of bugs and not well engineered so a second major\nrewriting started during the winter of 2010-2011. This time it was only\nslightly faster but it would prove to be a lot easier to maintain and the\noverall code quality was enhanced by using a test-driven development practice.\nThe goal is to end up with something reasonably good and free of bugs.\n\nMost of its concepts or algorithms are inspired from scientific papers and\nOpen Source engines, notably TSCP, CPW, Fruit, Crafty and Stockfish. A lot of\nthe ideas used for the implementation of theses concepts also comes from\nreading the [Computer Chess Club Forums](http://talkchess.com/forum/) and the\n[Chess Programming Wiki](http://chessprogramming.wikispaces.com/). Without\nthem Purple Haze would not be able to do more than moving the pieces around\nthe board.\n\n\nInstallation\n------------\n\nSee INSTALL for detailed installation instructions or just type the following\ncommands in a terminal:\n\n    $ git clone git://github.com/vinc/purplehaze.git\n    $ cd purplehaze\n    $ make\n\n\n\nFeatures\n--------\n\nData Structures:\n* 0x88 Board Representation\n* Piece-Lists\n\nMoves:\n* Lazy Move Generation\n* Best Move from Iterative Deepening or Transposition Table\n* Most Valuable Victim / Least Valuable Aggressor\n* Killer Moves\n\nSearch:\n* Principal Variation Search\n* Iterative Deepening\n* Transposition Table\n* Mate Pruning\n* Check Extension\n* Adaptive Null Move Pruning\n* Extended Futility Pruning\n* Late Move Reduction\n\nQuiescence Search:\n* Standing Pat\n* Delta Pruning\n* Move Ordering (via MVV/LVA)\n\nEvaluation:\n* Lazy Evaluation\n* Material Hash Table\n* Opening and Ending Piece-Square Tables\n* Tapered Evaluation\n\nDebugging:\n* Perft\n* Divide\n* EPD Test Positions\n\nMiscellaneous:\n* SAN output\n* FEN parsing\n* Zobrist hashing\n* Xboard protocol\n* Time Management\n\n\nUsage\n-----\n\nYou are free to read it, run it and modify it. If you choose to do so, drop me\nan email at \u003ccontact@vincentollivier.com\u003e, it is not yet a mature project so\nany feedback will be really appreciated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinc%2Fpurplehaze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinc%2Fpurplehaze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinc%2Fpurplehaze/lists"}