Skip to content

Commit

Permalink
Merge pull request #43 from algosup/documents
Browse files Browse the repository at this point in the history
Add README on main branch
  • Loading branch information
thomas-planchard authored Dec 4, 2023
2 parents a8dc7ec + 0f67100 commit 46e6c63
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 22 deletions.
2 changes: 1 addition & 1 deletion documents/QA/Test-Cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ Test priorities are indicated by the following colors:

| ID | T32 |
| --- | --- |
| Name | Ghost Spawn Location |
| Name | Ghost Spawn Location (Inky, Clyde, Pinky) |
| Test Description | Confirm that the ghosts spawn in the ghost house at the start of the game |
| Requirement(s) | The game is started |
| Step(s) | 1. Launch DOSBox, 2. Execute PacMan file in DOSBox, 3. Observe ghost spawn location |
Expand Down
19 changes: 10 additions & 9 deletions documents/QA/test-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
- [3.6.1.2.2. Workflow](#36122-workflow)
- [3.6.1.2.3. Configuration](#36123-configuration)
- [3.6.2. GitHub Issues](#362-github-issues)
- [3.6.3. Tests Report](#363-tests-report)
- [3.6.3. Tests Report and Meetings](#363-tests-report-and-meetings)
- [3.6.4. Bug Data Report Spreadsheet](#364-bug-data-report-spreadsheet)
- [3.6.4.1. Spreadsheet Structure](#3641-spreadsheet-structure)
- [3.7. Documentation](#37-documentation)
Expand Down Expand Up @@ -91,7 +91,7 @@ The software specifications encompass the DOSBox emulator, while the hardware re

## 3. Strategy

Our testing strategy employs a multifaceted approach. **[Unit Tests](#unit-tests)** form the bedrock, scrutinizing individual components for functionality. **[Game-testing sessions](#game-testing-sessions)** take center stage, offering a holistic evaluation of gameplay, user interactions, and overall user experience. Augmenting our strategy are sophisticated **[monitoring tools](#monitoring-and-tools)**, enabling real-time analysis of system performance, identifying potential bugs, and ensuring optimal execution.
Our testing strategy employs a multifaceted approach. **[Unit Tests](##32-unit-tests)** form the bedrock, scrutinizing individual components for functionality. **[Game-testing sessions](#35-game-testing-sessions)** take center stage, offering a holistic evaluation of gameplay, user interactions, and overall user experience. Augmenting our strategy are sophisticated **[monitoring tools](#36-monitoring-and-tools)**, enabling real-time analysis of system performance, identifying potential bugs, and ensuring optimal execution.

### 3.1. Scope of Testing

Expand Down Expand Up @@ -172,7 +172,7 @@ Each test comprises the following components:

Due to the difficulty of creating a test bot for an assembler game
and the time allocated to this project. We will rely on manual
testing, we will use a combination of **[Smoke Testing](#smoke-testing)** and **[Collaborative Game-Testing Sessions](#collaborative-game-testing-sessions)** to ensure the quality of the game.
testing, we will use a combination of **[Smoke Testing](#352-smoke-testing)** and **[Collaborative Game-Testing Sessions](#353-collaborative-game-testing-sessions)** to ensure the quality of the game.

To identify errors as accurately as possible, the tester must record
his or her screen throughout the test session, using the "Snipping
Expand Down Expand Up @@ -243,7 +243,7 @@ For the sake of simplicity, during test sessions, the game will be launched on t
##### 3.6.1.1. GitHub Overview


GitHub serves as our central platform for version control, collaboration, and issue tracking, fortunatly GitHub also provides a CI/CD tool(Continuous Integration/Continuous Deployment) called GitHub Actions, this tool allows us to run tests automatically after various actions on the repository and avoid errors on the dev or main branch on each push.
GitHub serves as our central platform for version control, collaboration, and issue tracking, fortunately GitHub also provides a CI/CD tool(Continuous Integration/Continuous Deployment) called GitHub Actions, this tool allows us to run tests automatically after various actions on the repository and avoid errors on the dev or main branch on each push.

We will also use GitHub Issues to report bugs and errors, it will allow us to make available to the development team a list of bugs and errors to be corrected, and to have a better overview of the progress of the project.

Expand Down Expand Up @@ -289,9 +289,6 @@ Actions such as assembling and execution of unit tests are performed on a comput

As our team does not have a server to host the runner, the decision was made to install the runners on the computers of the project's quality assurance staff. This allows us to have a runner available at all times and to have a better overview of the errors that may occur.


Next, the various actions and workflow steps are defined in the [pacman.yml](/pacman.yml) file, which is saved at the root of the repository.

---

#### 3.6.2. GitHub Issues
Expand Down Expand Up @@ -340,12 +337,16 @@ By implementing these strategies, we aim to foster a more organized and efficien

---

#### 3.6.3. Tests Report
#### 3.6.3. Tests Report and Meetings

**Overview:**
**Test Report:**

The folder [Tests Report](./Tests%20Report/) will contain all the test reports of the project. Each test report will be named with the date of the test session and the name of the tester as follows: `YYYY-MM-DD-TesterName.md`.

**QA Meetings:**

The file [QA-meetings](./QA-meetings.md) will contain all the reports of the meetings with the Dev team.

---

#### 3.6.4. Bug Data Report Spreadsheet
Expand Down
4 changes: 2 additions & 2 deletions documents/functional/functional-specifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ The following table is showing the duration of each phase in seconds depending o
| Level 19 | 120 | 100% | 60 | 105% |
| Level 20+ | 120 | 100% | 60 | 105% |

- If the player loses a life after being affected by at least one speed increase, Blinky will return back to its default speed until the orange ghost (Clyde) leaves the ghost house. In this case, the applied sppeed to the ghost will be the speed matching the level and remaining pellets in the maze.
- If the player loses a life after being affected by at least one speed increase, Blinky will return back to its default speed until the orange ghost (Clyde) leaves the ghost house. In this case, the applied speed to the ghost will be the speed matching the level and remaining pellets in the maze.

- **Pac-Man targetting:**
- When Blinky is in chase mode, he is targetting the tile where Pac-Man is currently situated, which makes it a danger in the early game.
Expand All @@ -598,7 +598,7 @@ The following table is showing the duration of each phase in seconds depending o
- **Speed variations:**
- The speed of Pinky is constant and follows the Ghost speed table across the different levels
- **Pac-Man targetting:**
- When Pinky is in chase mode, he looks for Pac-Man position and orientation, and he targets the tile situated four tiles ahead of Pac-Man current position.<br>This behaviour works for the right, left and down position. However, due to an overflow error, when Pac-Man faces up Pinky targets 4 tiles ahead and 4 tiles to the left of him. Even if this behaviour is unintentional, we should reproduce it to have a faithful Pac-Man clone.
- When Pinky is in chase mode, it looks for Pac-Man position and orientation, and it targets the tile situated four tiles ahead of Pac-Man current position.<br>This behaviour works for the right, left and down position. However, due to an overflow error, when Pac-Man faces up Pinky targets 4 tiles ahead and 4 tiles to the left of it. Even if this behaviour is unintentional, we should reproduce it to have a faithful Pac-Man clone.

<p align="center"><img src="../pictures/pinky-targeting.png" alt="pac-man gif" width="250"></p>

Expand Down
58 changes: 48 additions & 10 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,55 @@
# <div align="center">2023-2024 Project-2 x86-retrogaming Team-4</div>

## Project team
# <div align="center">Pac-Man Clone</div>

The team is composed of
<details>
<summary>Table of Contents</summary>
- [2023-2024 Project-2 x86-retrogaming Team-4](#2023-2024-project-2-x86-retrogaming-team-4)
- [Pac-Man Clone](#pac-man-clone)
- [Who are we?](#who-are-we)
- [Overview](#overview)
</details>

- Léo CHARTIER, Project manager
- Antoine PREVOST, Program manager
- Malo ARCHIMBAUD, Tech lead
- Maxime THIZEAU, Software engineer
- Benoît DE KEYN, Software engineer
- Maxime CARON, Quality Assurance
- Thomas PLANCHARD, Quality Assurance
## Who are we?

| Name | Role | Picture | 🔗 |
| ------------ | --------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Léo CHARTIER | Project Manager | ![Léo's profile picture](https://avatars.githubusercontent.com/u/91249751?size=200) | [Léo's Github profile](https://github.com/leo-chartier) |t
| Antoine PREVOST | Program Manager | ![Antoine's profile picture](https://avatars.githubusercontent.com/u/81081224?size=200) | [Antoine's Github profile](https://github.com/leo-chartier) |
| Malo ARCHIMBAUD | Tech Lead | ![Malo's profile picture](https://avatars.githubusercontent.com/u/97161471?size=200) | [Malo's Github profile](https://github.com/Malo-Archimbaud) |
| Maxime THIZEAU | Junior Software Developer | ![Maxime's profile picture](https://avatars.githubusercontent.com/u/145995586?size=200) | [Maxime's Github profile](https://github.com/MaximeTAlgosup) |
| Benoît DE KEYN | Junior Software Developer | ![Benoît's profile picture](https://avatars.githubusercontent.com/u/146000855?size=200) | [Benoît's Github profile](https://github.com/benoitdekeyn-algosup) |
| Maxime CARON | Quality Assurance | ![Maxime's profile picture](https://avatars.githubusercontent.com/u/145995231?size=200) | [Maxime's Github profile](https://github.com/MaximeAlgosup) |
| Thomas PLANCHARD | Quality Assurance | ![Thomas's profile picture](https://avatars.githubusercontent.com/u/91249646?size=200) | [Thomas's Github profile](https://github.com/thomas-planchard) |

## Overview

This project is about recreating a version of Pac-Man in Assembly.
This project is about recreating a faithful clone of Pac-Man in Assembly X86 using DOSBox and NASM.

## Requirements

To run this project, you need to meet the following requirements:

- Run one of the following operating systems:
- Windows 7/Windows 8/Windows 8.1/Windows 10/Windows 11
- Mac OS X
- Linux
- FreeBSD
- Any operating system based on DOS
- Have an installation of [DOSBox](https://www.dosbox.com/download.php?main=1)
- Have an installation of [NASM](https://nasm.us/)

## Installation

1. Clone the repository using [Github Desktop](https://desktop.github.com/) or the following command in the command line: `git clone https://github.com/algosup/2023-2024-project-2-x86-retrogaming-team-4.git`
1. Install [NASM](https://nasm.us/) and [DOSBox](https://www.dosbox.com/download.php?main=1) following the installation process default instructions.

## Configuration

1. Change the configuration of DOSBox using the provided configuration file by replacing the original one.
1. Run DOSBox with the provided run.bat or run.bash file
1. Type the following commands:
- `c:`
- `pacman`
1. Enjoy playing Pac-Man! 🙌

0 comments on commit 46e6c63

Please sign in to comment.