8.7

1 — Dot Game

Due Tues, October 25, 2022 9:59:59pm

Delivery Create a directory called Fish in your repository. You will deliver all project milestones in this directory.

Within Fish, create a directory named Planning. This is where you place the product of this week’s project step: system.pdf, the system description, and milestones.pdf, the milestone identification.

Background We are about to launch a "dot game" company. You have been hired to design and implement the software. Our company hired you because your résumé listed your experience in building distributed interactive graphical games with software components that communicate over TCP.

This novel company will build products for hackers, starting with your friends. Our company will provide game servers to which these hackers can connect player software and win prizes—for an enormous entry fee of course. The grand idea is this:
  • the company publishes a "plug in" protocol to which automated players must adhere;

  • the game servers allow such "AI" players to sign up for tournaments;

  • once the sign-up period is over, the servers run the tournament; and

  • the owners of the winning player(s) will receive prize money, the losers will be allowed to pay an entry fee for the next tournament.

Participating hackers must produce robust software (because any mistake will be punished by termination) and must produce good strategy algorithms.This course focuses on the "robust software" aspects, but we will clearly need some basic game-playing algorithm.

The first game our company will offer is called Fish.

Task You are the engineer, and you need to develop a technical plan.

Your first task is to identify the software components of a complete Fish game system. The description of a component includes its purpose, what it represents, and what role it plays in the overall system.

Your second task is to develop a sequence of milestones. Keep in mind that you’re working with the CEOs of a start-up who must demo intermediate milestones to angel investors (parents, uncles and aunts, grand parents and cousins of N-th degree) with no understanding of technology other than what they can see on a monitor. Identify stages that you can demo and then the components that you need for such demos. Compose a plan accordingly.

Each memo must not exceed one page. You must use an 11-point font (or larger). The white-space margins on your page must be at least 1in wide on all sides.