nus-cs2113-AY2122S1 / forum

3 stars 1 forks source link

Requesting Permission to use Java Stockfish API #59

Open SeanRobertDH opened 3 years ago

SeanRobertDH commented 3 years ago

Library

JavaStockfish(https://github.com/rahular/chess-misc)

Purpose

AI that checks whether chess move is legal/ decides which move is best (To use as the CPU player for our Chess game)

License

GNU GENERAL PUBLIC LICENSE https://github.com/rahular/chess-misc/blob/master/LICENSE

okkhoy commented 3 years ago

This looks like a personal project than an established library. Additionally, it doesn't seem to have a maven repository entry. So you cannot add it as a dependency in the Gradle build file. I suggest you find a different implementation, which can be added as a Gradle dependency.

This library is not approved for your own good.

SeanRobertDH commented 3 years ago

Hi there prof Akshay,

For our tP, our group had decided on developing a Chess command-line game. While we're all excited about the project, we're also nervous because looking at other teams (past and present), no one has attempted such a project. One of the issues we're facing is with regards to the AI and we were wondering if it would be possible for us to use stockfish (https://stockfishchess.org/) as an external dependency. Given that SF is written in C++ though, we would compile the program and pipe the commands and responses from our java application to and from the program. This could lead to dependency issues as we might not be able to test our program on Mac. There are other open-source AIs that are written in java, but they are mostly obscure git projects (https://github.com/albertoruibal/carballo) and it could raise some questions on whether we 'plagerised' their code because if we're trying to understand how their AI works, we'd have to understand their OOP. Hence Stockfish would be better in this sense as it would be a 'black box' we use as our AI. We were thinking of making the first iteration something along the lines of PvP on a single console but we realised that the project requirement is 'Constraint-Single-User' Also, given that the tP requirement of fulfilling an iP worth of code for every individual is somewhat obscure, we would like to seek your opinion on whether it would be advisable to pursue this project? Also. we aren't opposed to possibly coding our own AI function (something we aren't opposed to learning more about). But we're unsure if we'd get any marks for the whole AI component.

If we can't get an approval for an AI library and we wouldn't get any marks for an AI implementation, is it too late to change our project?

Best Regards, Team 3 Tutorial 13

okkhoy commented 3 years ago

Please talk to me separately on this? Drop an email/ping me on teams for the purpose.