Assignment Chess Variant Application Table of Contents (add numbers as we add pages) List of Figures Executive Summary Problem Statement

Assignment Chess Variant Application

Table of Contents
(add numbers as we add pages)

List of Figures

Executive Summary

Problem Statement

Need
Objective
Background and Technology Survey

Requirements

Marketing Requirements
Engineering Requirements
Constraints and Tradeoffs
Applicable Standards
Verification of Requirement Specification
House of Quality
Knowledge, Skills, & Resources Needed

Design Phase

Ethical and Societal Considerations

Initial Hypothesis & BMC Model

Project Management Plan

Conclusion

Appendix

References
Interviews
Team Member Resumes

List of Figures
(add page #s in when done)

House of Quality Matrix

Phases of Design

BMC Model

Gantt Chart

Executive Summary

Problem Statement

Need

A Chess Variant Application will allow many chess game players to experience chess in a way they have never before. It will also allow for players to learn and improve on their skills in chess or a chess variant. Currently, there exist few applications where users are able to play chess variants against another human or an Artificial Intelligent (AI) agent. For example, there is Chess.com, a website where players can play against other humans online, and ChessV, a desktop application that allows the player to oppose an AI agent for a select amount of chess variants. Multiplayer opponents and AI agent opponents exist on different platforms.

For our application, we will mainly be focusing on the amount of variants able to be played, and the AI that the player will be able to oppose. There will also be a strong focus on online multiplayer with the application.

Objective

The objective of our Chess Variant Application is to provide chess players with an accessible and safe platform to experience chess variants on. We also want to provide a customizable AI agent to allow players to play against any difficulty of the agent instead of preset values. This will allow for players to learn any level. Potentially there could be a feature that predicts what AI agent level will line up with the current players playstyle.

With this application we also hope to provide a satisfactory and safe online experience with other players from a cybersecurity, and social perspective. For example we do not want to share any personal information of one player with another player. Or if there is an online chat feature, we would like to have this automatically moderated as a safe chat for all players.

Lastly, we hope to provide a robust and computationally efficient AI agent or Machine Learning model that is comparable, if not better, than other chess game variants on the market.

Background & Literature Survey

Requirements

Marketing Requirements

We found several requirements customers have for a software application. The first is that the application should be low cost to make it more accessible. The second requirement is that the software should be easy to use. While a slight learning curve is inevitable, if an application is too much of a hassle to use, customers will opt for alternatives. The third requirement is that updates are quick. This is especially important if there are bugs that make the application unenjoyable to use. The fourth requirement is that it has a variety of uses, this attracts a large user base. The fifth requirement is that it is compatible with multiple platforms. In a world where not everybody uses the same operating system, this is essential to reach as many people as possible. The sixth requirement is that the interface is modern-looking. Unattractive UI can repel users. The seventh requirement is that the application is not resource-intensive. Not all customers will have the same level of power in the systems they are using, so we need to be mindful of that. The eighth requirement is that customer support resources are available, so that they can reach the developers in case of any issues. The ninth requirement is that the app is engaging. As a game application, it is not useful if it isn’t fun to the customers. Lastly, it should run reasonably fast.

Engineering Requirements

There are several engineering requirements for our project. Firstly, that our code is clean. Messy code will inhibit our process of designing (and any future updates). Secondly, we need to compare it to similar applications and make ours a top performer. The third engineering requirement is speed, not only is excessively slow software bad for customers but it also makes it more difficult for us to test. The fourth requirement is innovation. The fifth requirement is good documentation, this is necessary if our software becomes open-source, and it also serves to help us as developers. The sixth requirement is not a lot of bugs, we need to minimize bugs as much as possible in our process. The seventh requirement is secure, security is very important so that our content and data is not compromised. Additionally, our software should be scalable. Given that there are many possible variants and features for the application, it is important that the app could grow instead of staying stagnant. Lastly, our application needs to be both cost efficient and efficient to maintain.

Constraints and Tradeoffs

Our application has a number of constraints and tradeoffs that factor into the design and decisions that must be made. Four main constraints and tradeoffs that must be considered for our application are: which platform it will be released on, whether it will have 2D or 3D graphics, the chess variants that will be implemented in it, and time.
The platform we choose for release will affect the processing power we have available at our disposal and what types of input systems we must design for. We will also have to consider the cost to publish on each of these platforms. Publishing on multiple platforms will expand the reach we have to our audience but also increase the complexity of the project as we will have to design ways for the user to interface through each one. Due to the different processing power available to each platform and user devices, platform selection may also impact graphical decisions if we aim to ship to lower-end devices.
A choice will also have to be made between 2D or 3D graphics. 3D graphics can look more appealing and realistic and set our app apart aesthetically but it also introduces complexity into the system. The 3D perspective could lead to a more complicated user interface if camera controls are taken into consideration and the less symbolic representation of 3D could obscure gameplay concepts compared to a simpler 2D application. A 2D representation could remove the need for any sort of camera control and provide a clear symbolic representation of gameplay concepts.
The types and number of variants we will implement in our application also comes with a handful of tradeoffs. We can only implement a finite number of chess variations and each one will add to the scope of the project. Some variations may be more complicated than others, calling for different board shapes or more complex piece interactions. It is important to not scope too big but we must also consider that the variants we present our one of the biggest features that will set our application apart from others. Because it will be necessary to implement a variety of chess variants, the design of our underlying chess system must be very flexible to host a variety of altered rulesets, boards, and pieces. The variants we implement will also play a large role in the complexity of training an AI system to play the different variants we implement.
The last and tightest constraint on this project is time. The project will have a finite time to be completed in the spring semester. It is important to scope the project so that it can be completed within this time frame. Our team will have to define and split up the feature set of our application into a variety of tasks to deliver a quality product in a timely manner.

Applicable Standards

House of Quality

Design Phase

We are currently in the “Concept Generation” phase of design. We have identified the problem (the scarcity of cross-platform applications featuring chess variants). We have also researched existing chess AI frameworks and applications. We developed both engineering and marketing requirements (discussed more in depth in the Requirements section).

Ethical and Societal Considerations

As with any software application, we must be diligent to respect customers’ preferences as to how their data would be used. We would obtain explicit consent to use data, and not sell it to any company. In addition, if there is the option for users to contact each other, we would need safeguards against online harassment and bullying. We would need to practice good security so user information is not leaked to third parties.

Initial Hypothesis & BMC Model

Initial

Hypothesis: Customers will buy our product because there is a large demand for innovative multiplayer games that utilize artificial intelligence.

After 1st Interview

Hypothesis: Customers will buy our product because we will offer popular chess variants to players on multiple accessible platforms.

After 2nd Interview

Hypothesis:
BMC Model:

Project Management Plan

Conclusion
Our goals for Senior Design one were to form a team, select a topic, and find an advisor. We achieved all three of these things, although we are still formulating all of the details for our project. In the future, we will design and implement our software.

Appendix A (References)

Need at least 5 references, in IEEE/ACM format

Appendix B (Interview Transcripts)
Interview 1

Q: How difficult is it to alter a “generic” chess AI to play chess variants? (e.g. Alice Chess, 3+ player chess)

A: 3+ player chess will be very difficult, variants differ, as in chess 960 will be very easy, but variants such as fog of war will be difficult to have an AI to play well.

Q: How could someone making a chess AI market their application to stand out from the rest?

A: If you make the AI play a specific variant really well, you need to market it to that audience’s base. Marketing it to general chess players may not yield a strong player base.

Q: Which chess variants are the most popular?

A: 4 player chess is very popular as there is 2v2 and Free For All. 960 is the most popular though as it swaps around normal openings and brings excitement to the board.

Q: What would make you want to use one chess application over a competitor?

A: All chess AI’s are good to face, there are benefits to facing them all as they will all operate slightly differently, it’s like saying which grandmaster you would rather face, you’d obviously want to play the best but playing them all will expose you to different tactics.

Q: Are you satisfied with the current implementation of AI in chess games, or are there some improvements that can be made? If so, what?

A: As I stated previously, each AI will play slightly differently. So yes for standard chess the amount of AI’s is more than satisfactory, but as far as variants go there is plenty of room where AI can be created.

Q: What platform would you prefer to see a multiplayer online chess game or variant on? Why? (Website, mobile, console?, custom hardware device?

A: Website with android/ios integration is the best way to reach all. As far as variants go, a website is the best way to reach people.

Q: How would you feel about monetization on a multiplayer chess game? Would ad placements be a good fit if the app is free? Potentially the user could pay for no ads. Would online multiplayer or the ai agent warrant charging for?

A: I’d say patreon is a good method or other crowdsourcing as the chess community is large and they are more than willing to support projects. Ad’s could deter users from using the platform.

Interview 2

Christopher Flora – Toledo Alumni, PhD in Microbiology, currently a Medical Writer, Avid Chess Player

Q: How difficult is it to alter a “generic” chess AI to play chess variants? (e.g. Alice Chess, 3+ player chess)

A: I do not have any experience with chess variants, so I can only speak to AI in traditional chess. I find that AI is typically easy to alter. However, these AI only offer a sliding scale adjustment of difficulty level.

Q: How could someone making a chess AI market their application to stand out from the rest?

A: An AI based chess game in which the AIU can adjust itself automatically to the skill level of the player — perhaps the AI could adapt its strategy based upon the strengths and weaknesses of the player.

Q: Which chess variants are the most popular?

A: I am unsure about chess variants.

Q: What would make you want to use one chess application over a competitor?

A: I would base my decision on the following factors; Price, Skill rating, User interface, feedback and size of multiplayer community

Q: Are you satisfied with the current implementation of AI in chess games, or are there some improvements that can be made? If so, what?

A: I believe that my answers from questions 1 and 2 answer this question.

Q: What platform would you prefer to see a multiplayer online chess game or variant on? Why? (Website, mobile, console?, custom hardware device?

A: I prefer to play chess in person. Therefore, I would be interested in a custom hardware device. Secondarily, I prefer to use a website-based application.

Q: How would you feel about monetization on a multiplayer chess game? Would ad placements be a good fit if the app is free? Potentially the user could pay for no ads. Would online multiplayer or the ai agent warrant charging for?

A: I would pay for a multiplayer chess game based upon the criteria I listed for question 4. I think that a skill matching AI chess opponent would warrant a purchase. Given the availability of free multiplayer chess applications, novel features would be necessary to attract paying customers.

Looking for this or a Similar Assignment? Click below to Place your Order