7.9.0.10

1 — Dot Game

Due Thursday, September 29, 11:59:59pm Thursday, 02 October 2020, 11:59:59pm

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

Within Fish, create a folder dubbed 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.

This novel company is for hackers, starting with your friends. The founders and co-CEOs noticed how these people are bored and always want to demonstrate their tremendous programming skills.

This company will provide the ideal outlet for them. The 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 to be offered 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. A description of the system explains how these pieces relate to each other and which aspects in a standard "three-layer" architecture they serve.

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.