Changes

Jump to: navigation, search

MyChess

7,981 bytes added, 16:40, 24 April 2018
Created page with "'''Home * Engines * MyChess''' FILE:c64_mychessii_large.jpg|border|right|thumb|link=http://www.spacious-mind.com/html/commodore_c64_mychess_ii.html| MyCh..."
'''[[Main Page|Home]] * [[Engines]] * MyChess'''


[[FILE:c64_mychessii_large.jpg|border|right|thumb|link=http://www.spacious-mind.com/html/commodore_c64_mychess_ii.html| MyChess II <ref>[http://www.spacious-mind.com/html/commodore_c64_mychess_ii.html Commodore 64/128 Old Computer Chess Game Collection - Mychess II] from [[The Spacious Mind]]</ref> ]]

'''MyChess''',<br/>
[[David Kittinger|David Kittinger's]] first chess program, developed in 1979 initially for the 8-Bit [[Z80]] CPU written in [[Assembly|assembly]] language to run under [https://en.wikipedia.org/wiki/CP/M CP/M]. It had its quite successful debut at the [[ACM 1979]] and the [[PCW-MCC 1979]] some days later, and further played the [[MCC 1980]] and the [[WCCC 1980]] supported by book-author [[John Urwin]], and the [[ACM 1980]] and [[ACM 1981]].

In 1981 Kittinger was hired by [[Peter Auge]], and MyChess was ported to [[Novag|Novag's]] [[Dedicated Chess Computers|dedicated chess computers]] <ref>[http://www.chesscomputeruk.com/html/scisys_and_novag___the_early_y.html Scisys and Novag : The Early Years] from [http://www.chesscomputeruk.com/index.html Chess Computer UK] by [[Mike Watters]]</ref>, a tiny [[Fairchild F8]] based program for [[Novag Micro Chess]], a smaller [[6502]] based program for the [[Super Sensor IV]], and the [[Z80]] program for [[Savant]] and the [[Robot Adversary]].

=Description=
==Anatomy==
from ''History and Anatomy of MYCHESS'' by [[David Kittinger]] <ref>[[David Kittinger|Dave Kittinger]] ('''1984'''). ''MyChess - Chess Playing Program''. [[Software Toolworks|The Software Toolworks]], [http://heathkit.garlanger.com/library/TheSoftwareToolworks/software/manuals/210_Mychess.pdf pdf] hosted by [http://garlanger.com/Welcome.html garlanger.com]</ref>:
MYCHESS uses an [[Iterative Deepening|iterative]] [[Type A Strategy|Type A search]], with [[Alpha-Beta|alpha-beta pruning]] as well as the [[Killer Heuristic|killer]] and [[MVV-LVA|capture heuristics]]. It will predict its opponents best move, and start, [[Pondering|analyzing replies]] while the opponent is still thinking. One [[Extensions|extra ply]] is examined before backing up from a [[Principal variation|best variation]] if the [[Side to move|side to move]] can have anything captured.

The desirability of a possible position is "[[Evaluation|scored]] " on the basis of [[Material|material]] strength, using a [[Static Exchange Evaluation |"swap off" evaluator]] to resolve situations where something is under attack. If a decision can not be made using this score, then a secondary positional score is generated, which takes into account such features as [[Pawn Structure|pawn structure]], [[Piece-Square Tables|piece placement]], and [[Mobility|mobility]]. When a possible position is found which is better than the current best variation, it is saved in the [[Triangular PV-Table|ply table]] ; otherwise it is discarded.

==Move Generation==
MyChess focused on speed and had completely independent [[Move Generation|move generation]] for white and black. As mentioned by its author, one of the funny things about MyChess is that it originally had two 16 byte [[Array|arrays]] as [[Piece-Lists|piece-list]], but fixed by the index, so that it could only [[Promotions|promote]] a pawn to a captured piece <ref>[http://kittinger.yolasite.com/ David Kittinger - Interview] by [[Bryan Whitby]]</ref>. Continuation from ''History and Anatomy of MYCHESS'':

Moves are generated serially and only as necessary, to save time. The possible moves from a position are examined in the following [[Move Ordering|order]]:
# [[PV-Move|Best variation]] from previous iteration
# Winning or even [[Captures|captures]]
# [[Castling|Castle moves]]
# [[En passant]] captures
# [[Killer Move|Killer moves]]
# Two best regular moves from ply one
# Losing capture moves ([[Sacrifice|sacrifices]])
# Other moves

Pawn [[Promotions|promotions]] are handled by the capture routines or regular pawn move routine, depending on whether the capture is made while promoting. Regular moves are generated piece by piece, starting with the king's rook pawn and ending with the king.

=Further Developments=
MyChess was further ported to the [[6502]] and compatible CPUs to run on a [[Commodore 64]] and [[Commodore 128]] and market as ''MyChess II'' by [https://en.wikipedia.org/wiki/Beyond_Software Beyond Software]<ref>[http://www.spacious-mind.com/html/commodore_c64_mychess_ii.html Commodore 64/128 Old Computer Chess Game Collection - Mychess II] from [[The Spacious Mind]]</ref> , and also to the 16-Bit [[8086]], released by [[Software Toolworks]] in 1984 for the [[IBM PC]] and [[MS-DOS]] operating system <ref>[http://www.mobygames.com/game/mychess MYCHESS for DOS (1984)] from [https://en.wikipedia.org/wiki/MobyGames MobyGames]</ref>, forerunner of [[Chessmaster#MyChess|Chessmaster 2000]]. The 6502 version was apparently also the base for [[Novag|Novag's]] [[Constellation]] and [[Super Constellation]].

=See also=
* [[Chessmaster#MyChess|Chessmaster 2000]]
* [[Constellation]]
* [[Super Constellation]]
* [[WChess]]

=Publications=
* [[John Urwin]] ('''1979'''). ''Two New Programs Are Tested''. [[Personal Computing#3_12|Personal Computing, Vol. 3, No. 12]], pp. 71 » [[Video Chess]]
* Editor ('''1980'''). ''MyChess goes to college''. [[Personal Computing#4_6|Personal Computing, Vol. 4, No. 6]], pp. 91
* Editor ('''1980'''). ''MyChess Shines''. [[Personal Computing#4_11|Personal Computing, Vol. 4, No. 11]], pp. 85
* [[Harry Shershow]] ('''1981'''). ''The MyChess-CSC Confrontation at San Jose''. [[Personal Computing#5_1|Personal Computing, Vol. 5, No. 1]], pp. 79 » [[MCC 1980]]
* [[John F. White]] ('''1982'''). ''[http://yourcomputeronline.wordpress.com/2011/01/31/review-chess-computers/ Review-Chess Computers]''. [[Your Computer]], [http://yourcomputeronline.wordpress.com/2011/01/30/march-1982-contents-and-editorial/ March 1982]
* [[David Kittinger|Dave Kittinger]] ('''1984'''). ''MyChess - Chess Playing Program''. [[Software Toolworks|The Software Toolworks]], [http://heathkit.garlanger.com/library/TheSoftwareToolworks/software/manuals/210_Mychess.pdf pdf] hosted by [http://garlanger.com/Welcome.html garlanger.com]

=Forum Posts=
* [http://www.talkchess.com/forum/viewtopic.php?t=14022 Best way to run Mychess at the original speed (emulation)] by Jonathan P., [[CCC]], May 25, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=43447 Hello all] by [[David Kittinger|Dave Kittinger]], [[CCC]], April 25, 2012

=External Links=
* [https://www.game-ai-forum.org/icga-tournaments/program.php?id=424 MyChess' ICGA Tournaments]
* [http://www.top-5000.nl/cp.htm Download Chess Programs] hosted by [[Ed Schroder|Ed Schröder]]
* [http://web.archive.org/web/20071221115817/http://classicchess.googlepages.com/Chess.htm Classic Computer Chess - ... The programs of yesteryear] by [[Carey Bloodworth|Carey]], hosted by the [https://en.wikipedia.org/wiki/Internet_Archive Internet Archive] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=56938&start=2 Re: Old programs CHAOS and USC] by [[Dann Corbit]], [[CCC]], July 11, 2015</ref>
* [http://www.mobygames.com/game/mychess MYCHESS for DOS (1984)] from [https://en.wikipedia.org/wiki/MobyGames MobyGames]
* [http://www.hotud.org/component/content/article/37-strategy/21965 Mychess] from [http://www.hotud.org/index.php?option=com_content&view=frontpage&Itemid=1 Home of the Underdogs]
* [http://www.spacious-mind.com/html/commodore_c64_mychess_ii.html Commodore 64/128 Old Computer Chess Game Collection - Mychess II] from [[The Spacious Mind]]
* [http://www.spacious-mind.com/html/c64_emu_-_mychess_ii.html Commodore 64 Emulator - Computer Chess Game Collection - Mychess II] from [[The Spacious Mind]]
* [http://heathkit.garlanger.com/library/TheSoftwareToolworks/software/mychess.shtml The Software Toolworks - MyChess] by [http://garlanger.com/Welcome.html garlanger.com]

=References=
<references />

'''[[Engines|Up one level]]'''

Navigation menu