From af5a136f7f272a64fc33ce27b4f50d4199827dd4 Mon Sep 17 00:00:00 2001 From: OGordoo Date: Tue, 30 Jun 2020 10:27:54 +0100 Subject: [PATCH] history optional --- .../make-your-game-history/README.md | 38 ++++++++++++++++ .../make-your-game-history/audit.md | 43 +++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 subjects/make-your-game/make-your-game-history/README.md create mode 100644 subjects/make-your-game/make-your-game-history/audit.md diff --git a/subjects/make-your-game/make-your-game-history/README.md b/subjects/make-your-game/make-your-game-history/README.md new file mode 100644 index 00000000..cd2d4afc --- /dev/null +++ b/subjects/make-your-game/make-your-game-history/README.md @@ -0,0 +1,38 @@ +## history + +### Objectives + +You must follow the same [principles](https://public.01-edu.org/subjects/make-your-game/README.md) as the first subject. + +For this project you must take into account the creation of a **story mode**, a version of a computer game in which the player controls a character in a story. + +Take for instance **Super Mario** where the main character is the player and you must save the princess and during the game play there is a story being told. +Even [Brick Breaker/ Arkanoid](https://en.wikipedia.org/wiki/Arkanoid) can be done with a story mode. + +### Instructions + +A story must have some kind of logic, you must not simply write something on a board and its done, no! + +It must have: + +- an introduction, the context and beginning of the story (should be shown before starting playing) +- a development, the story reaches a middle (should be shown when you hit a specific score while playing) +- a conclusion, the end of the story (should be shown when the game ends, either you lose or win) + +This project will help you learn about: + +- [`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) +- [Event loop](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/EventLoop) +- FPS +- DOM +- [Jank/stutter animation](https://murtada.nl/blog/going-jank-free-achieving-60-fps-smooth-websites) +- [Transform](https://developer.mozilla.org/en-US/docs/Web/CSS/transform)/ [opacity](https://developer.mozilla.org/en-US/docs/Web/CSS/opacity) +- Tasks + - JavaScript + - Styles + - Layout + - Painting + - Compositing +- Developer Tools + - [Firefox](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools) + - [Chrome](https://developers.google.com/web/tools/chrome-devtools) \ No newline at end of file diff --git a/subjects/make-your-game/make-your-game-history/audit.md b/subjects/make-your-game/make-your-game-history/audit.md new file mode 100644 index 00000000..4548e348 --- /dev/null +++ b/subjects/make-your-game/make-your-game-history/audit.md @@ -0,0 +1,43 @@ +#### Functional + +###### Does the game avoid the use of frameworks? + +###### Is an introduction of the story provided in the beginning of the game? + +##### Try playing the game and reach the specific score to appear the development part of the story + +###### Does the development part of the story appear when you reach the specific score? + +##### Try finishing the game (either win or lose) + +###### Is a conclusion of the story provided when the game ends? + +##### Try using the Dev Tool/Performance + +###### Does it not present frame drop? + +##### Try using the Dev Tool/Performance + +###### Does the game run at or around 60fps + +##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible + +###### Is the paint being used as less as possible? + +##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible + +###### Is the layers being used as less as possible? + +###### Are the creation of the [layers being promoted](https://developers.google.com/web/fundamentals/performance/rendering/stick-to-compositor-only-properties-and-manage-layer-count) properly? + +#### Bonus + +###### +Does the conclusion change depending if you lose or win? + +###### +Is the story appealing and interesting? + +###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc) + +###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/README.md)? + +###### +Is the code using synchronicity to increase performance?