diff --git a/PROPOSAL_20220552.md b/PROPOSAL_20220552.md index 4fb8a02..23a7692 100644 --- a/PROPOSAL_20220552.md +++ b/PROPOSAL_20220552.md @@ -46,3 +46,49 @@ The gameplay loop is simple and repetitive: `Play` → `Collect` → `Grow` → `Avoid` → `Fail` → `Restart` The simplicity of the mechanics allows for immediate understanding, while increasing difficulty creates tension and replayability. + +## How will the game look like? + +``` +What are the game elements (e.g. characters, world, interface) and how will they be implemented in code (e.g., modules, classes, objects, functions)? Feel free to use diagrams, flow-charts or any other visual representation to show your plan. +``` + +The game will feature a dark 3D environment with glowing spheres as the main visual elements, creating a clean and immersive experience. + + + +### Game Elements + +- **Player**: glowing sphere with trailing body segments +- **Orbs**: collectible glowing spheres +- **Obstacles**: larger objects that cause collision +- **World**: bounded arena on a flat plane +- **UI**: score, best score, start and game over screens + +### Code Structure + +The game will be organized into simple modules: + +`main.js` + ├── `GameManager` + ├── `Player` + ├── `Orb` + ├── `Obstacle` + └── `UI` + +- **Player**: movement, growth, collision +- **Orb**: spawning and collection +- **Obstacle**: collision handling +- **GameManager**: game state, score, restart +- **UI**: display elements + +### Gameplay Flow + +![](flow.png) + +### Technical Approach + +- Built using **Three.js** for 3D rendering +- Movement constrained to a plane for simplicity +- Objects managed using classes and arrays +- Collision detection using distance checks diff --git a/environment.png b/environment.png new file mode 100644 index 0000000..c4521d0 Binary files /dev/null and b/environment.png differ diff --git a/flow.png b/flow.png new file mode 100644 index 0000000..481df2a Binary files /dev/null and b/flow.png differ