Simple, just send me an email. Tell me your name and how you think you can help with testing. If approved, I will send an invite.
At the moment, you need an Android smartphone and a (free) gmail account to be a tester.
Great! Send me an email. Then sign up for the Frame of Mind newsletter to stay up to date on ChessCraft updates and releases. If you've explored most features of ChessCraft, please fill out this feedback form. It's a huge help!
If you've explored most features of ChessCraft, please fill out this feedback form. You can also send me an email, of course.
You could check which version of ChessCraft you have installed by tapping “about” in the main menu. If that number is lower than the latest release, you can go into Google Play, tap settings, and search for app updates. You may be able to force a ChessCraft update sooner than the automatic method.
Sure. It’s definitely going on Google Play (Android). If I feel it’s worth it, I may also put it on the App Store (iPhone). However I think I need an actual Mac computer to do that, so I’d need to borrow one.
Let me know if you have ideas about pricing or pricing models. I’m thinking I might release a free version and a paid version. The free version could have all features except it asks you sometimes to support me by buying the full version.
Thanks! Please let me know by filling out this form. Make sure you tell me step by step what you did to make the bug happen, what you expected to happen, and what actually happened. If I can’t reproduce or understand your bug, I won’t be able to fix it!
Anyone who gives me good feedback (positive or negative) can be in the credits of the release version.
It’s hard to say. I spent a lot of time just thinking about AI, reading AI code, and thinking about design before I started actually creating the game in January 2018.
If we don’t count that: the design, art, and programming up to version 0.9 has taken maybe 1000 hours.
No. I made this game because I wanted to play it!
Cool! If you share them with me and they make it into the release version, I’ll put your name in the credits. To share, go into the test menu and “send feedback”, then submit. This process sends me all the boards and pieces you made. You should also write a note telling me which of your boards and pieces you think I should look at (otherwise I might miss it).
Currently I have 124 feature ideas and bugs in my tracking system. If you’d like, you can send an email and I’ll invite you to see all my GitLab issues. I may also write a proper roadmap after release.
Most notably, I’ll be adding a “share this board/piece with friends” button. “Share this on Facebook”, etc.
Since I already have a YouTube channel for programming tutorials with a few thousand subscribers, I will probably make videos explaining how I made aspects of ChessCraft. I will also release the piece sprites and map sprites under a free to use creative commons license.
Please let me know if you have ideas on how to share this game.
It varies a lot depending on the board size, pieces rules, and phone speed. I'm still considering how to measure and standardize the computer difficulties.
However, I have a rating of 1900 on lichess puzzles and if I had an ELO it might be somewhere around 1300. If I play fast, my AI sometimes beats me. If I play a smaller board like a 6x6 I often lose.
I have significant future improvements in mind, however my priority at this time is to polish and release.
Oh boy! I hope to write more about this in the future, possibly to help market the game. Some traditional chess AI stuff: alpha beta search with safe culling, transposition table with zobrist hashing, board reverse functions for tree searching, quiescence search, transposition table move ordering.
However, the special things I had to create just for ChessCraft were the most exciting things about this hobby project. About half of the usual enhancements for traditional chess AI cannot apply to ChessCraft because the game can’t know the pieces or board until the game starts.
Firstly, ChessCraft doesn’t have the option of massively precomputing piece square tables. Instead, I used graph theory and other heuristics to generate them quickly. I count things like "if this piece had three moves starting on this square, how many squares can it move to?". I use values like that to build a piece square table. I often do sanity checks to verify that these values roughly match piece square tables found in powerful chess AIs like stockfish.
Secondly, how does ChessCraft know the value of pieces? Traditionally a bishop is worth about 3 and a rook is worth about 5. But a rook would be worthless on a board with no black tiles. In ChessCraft, a piece’s value depends on the board and other pieces. I used graph theory and heuristics to come up with values. I often run this system against classic chess to see that my values are decent.
I’m also really proud of the software architecture of this project. The C# AI code can run outside or within Unity. I have lots of fun automated tests: unit tests, chess IQ tests I found, performance tests. The board logic in particular would never have been possible without a thorough test suite (board logic lists all legal moves for any piece). Finally, I created my own chess notation called CCN which is like an expanded FEN. All FENs are valid CCNs. CCN allows me to quickly type out board configurations, tiles, and promotions rules. This is how I created the hundreds of boards for my tests and the adventure map.
Although sometimes, a board is complicated enough that I will use the ChessCraft editor and copy the generated CCN instead.