Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.
-
Upload
barnaby-page -
Category
Documents
-
view
212 -
download
0
Transcript of Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.
![Page 1: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/1.jpg)
Final Presentation – CS 425
Aaron O'Banion Todd AstrothChris CobbMatt Stowe
Mark Williams
![Page 2: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/2.jpg)
Team QuoridorMission Statement
Our project is to produce a software version of the board game Quoridor
With network support With some AI components
![Page 3: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/3.jpg)
Quoridor Basics
2-4 Players 6x6 to 12x12
square grid Variable number
of blocking walls for each player
Objective: First player to reach opposite side wins
![Page 4: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/4.jpg)
Quoridor Rules
Tokens can only be moved to spaces not blocked by walls
Walls must never block any player from finishing the game
![Page 5: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/5.jpg)
End Users
Primarily Professor Klein and his players Students and teachers of AI course Anyone that wants to play the game that
understands all the rules.
![Page 6: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/6.jpg)
Functional Requirements
Variable board size Number of walls each player starts with Start zones and Goal zones of each player Wall placement and Movement constraints The logs for keeping track of the moves Ability to play over a network Ability to play three built-in AI’s Ability to plug in AI modules
![Page 7: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/7.jpg)
Non-Functional Requirements
Run on Windows Documentation User Manual Timely gameplay
![Page 8: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/8.jpg)
Optional Features
More competitive AI’s Token Image upload Time clock Interactive help box explaining why a
desired illegal move is illegal
![Page 9: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/9.jpg)
Design Goals
To provide an entertaining and enjoyable game-playing experience.
To provide an easy-to-use and aesthetically pleasing interface.
To allow players to compete remotely using a network.
To allow AI’s to be inserted into Quoridor
![Page 10: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/10.jpg)
The Quoridor Lifecycle Model
![Page 11: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/11.jpg)
Phase 1:
InterfaceGame
User Interface Hotseat gameplay (one computer) Gameplay constraints
Phase 1: Game Functionality
![Page 12: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/12.jpg)
Gameplay over a network Server and Clients
Phase 2: Networking
Phase 2:
Interface
Client
GameRemote
Interface
Server
Client Client
Host
ClientClient
![Page 13: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/13.jpg)
Allow users to plug in AI’s Include three sample AI’s
Phase 3: Inserting AI’s
Phase 3:
Interface
Client
AI GameRemote
Interface
Server
Client Client
Host
ClientClient
![Page 14: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/14.jpg)
Major Subsystems
Interface Game Client Server Artificial Intelligence
![Page 15: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/15.jpg)
Interface Subsystem
User interaction Collect information from user Allows input of wall placement / token
movement Sends moves to Client Updates board state using information
received from Client
![Page 16: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/16.jpg)
Game Subsystem
Stores the current board state Validates moves / wall placements and
sends results to Server Receives parameters of game setup from
Server
![Page 17: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/17.jpg)
networking Subsystems
Client Connects to the Server through sockets (BSD) Gateway for moves between Server and Interface Represents a player
Server Compiles and stores settings in Game subsystem Receives moves from Clients and AI’s, validates
moves using Game subsystem, and sends validation back to client
![Page 18: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/18.jpg)
AI Subsystem
AI’s can be created and inserted into the system
We will provide a C++ header file that allows connection of modules to Quoridor
Receives current board state from Server Passes AI’s moves to Server If illegal moves are received by Server,
Server will discontinue AI, and that player loses the game
![Page 19: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/19.jpg)
User Interface Mockups
Three Major Screens:• Title screen • Player Setup screen• Gameplay screen (game board)
![Page 20: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/20.jpg)
Player Setup Screen
Three player types:• Local user• AI player• Remote user
Host controls setup All settings and options
are configured before the game starts
Sample setup screen
![Page 21: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/21.jpg)
Game Board
The target goal is indicated for each player by their token color
Advance token by clicking a space– Legal moves are
highlighted on board Place a wall by clicking a
groove– Legal wall placements are
indicated in yellow Player starting locations:
1↓, 2↑, 3←, 4→
Sample game board
![Page 22: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/22.jpg)
Persistent Data
We will allow a game in progress to be saved and continued at a later time
Data to store in a text file:– Setup information– Player information– Current Game state
![Page 23: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/23.jpg)
Next Semester Timeline
Phase 1 (Hotseat)
Phase 2 (Networking)
Phase 3 (AI’s)
![Page 24: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/24.jpg)
Team Organization
Steve KleinMain client
Bernard WaxmanUpper Management
Aaron O’BanionProject Manager
Todd Astroth Lead Documenter
Chris CobbLead Tester
Mark WilliamsLead Designer
Matt StoweLead Programmer
![Page 25: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/25.jpg)
Risk Management
Backtracking Difficulty Acceptance Issues Late Finish Feature Creep Network Difficulties AI Functionality
![Page 26: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/26.jpg)
System Testing Plan
Interface Stand-Alone without Validation Interface Stand-Alone with Validation Network Connection
Server to 1 Client Server to Many Clients
Integration AI Integration
![Page 27: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/27.jpg)
Alterations to the System
Baselines Proposing a Change Investigating a Proposed Change Change Management Board Implementing a Change
![Page 28: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/28.jpg)
Team Training Plan
Internal Training Visual Basic Socket Programming (VB) AI Modules (C++)
External Training User Manual Help Menu
![Page 29: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/29.jpg)
Installation and Operation Plan
Installation– Responsibility
• First Copy – Us• Rest – Client
– Before April 25th
Operation– Before final Installation - Quoridor Team– After final Installation - Client
![Page 30: Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.](https://reader036.fdocuments.us/reader036/viewer/2022070400/56649e615503460f94b5d1b9/html5/thumbnails/30.jpg)
AND NOW, the Prototype…
Quoridor
Prototype