
TheWeirdEngine - engine for exotic pieces
I am working on a program "TheWeirdEngine" for chess with exotic pieces.
The latest version is available on this page, where you can download a zip file containing
- an executable
- a resources folder with images and a settings file
- all C# source code files
What is already working now?
The engine is able to calculate and find combinations that end into mate, stalemate and material advantage.
The engine correctly handles the rules for the Witch and Guard, combined with various board sizes.
The first version was extremely slow, but this has been improved somewhat after implementing some alpha-beta pruning, and identifying 'promising moves' before going into deeper calculations. It is still quite slow, but it is now doable to run a 6 plies deep calculation on any 10x8 Bulldog chess position.
The engine can import an opening book and follow opening lines. Other people have worked on opening theory for standard Bulldog chess with Guard and Witch. However, this must actually still be put into the required XML format.
Where is room for improvement?
Top prio is still making it faster than it is now.
The GUI is not very fancy. It is just good enough for me as developer, and for everybody else who has the patience to edit XML files and use the XML import and export functionality. Developing a proper GUI has lower priority as long as the engine itself can be improved.
The evaluation function must still be improved. Currently it tries to optimize for activity in a rather trivial way. Awareness of development of pieces and long term plans is not yet in place.
I am considering to implement user-defined pieces. This would enable the user to define a new piece as a compound of various movement abilities, and the engine could play with it. Such a feature would at once cover B+N compound, R+N compound, and divergent pieces like the Hunter.
Other specific pieces under consideration are Time Thief, Dwarf, and Superchess pieces like Angel, Femme Fatale and Magician.