Addded Romeo that generates some doc. WIP.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Juliet Engine: 3D Platformer Todo List
|
||||
|
||||
This TODO list outlines the tasks required to build a simple 3D platformer game in the Juliet Engine.
|
||||
|
||||
## [ ] 1. Gameplay Entities & Transform System (3D Integration)
|
||||
- [ ] Extend `Game::Entity` in [Entity.h](file:///c:/Dev/Classified/Juliet/Game/Entity/Entity.h) to support 3D transforms (`Vector3 Position`, `Vector3 Scale`, and Euler/Quaternion `Rotation`).
|
||||
- [ ] Add `bool IsGrounded` to the player/entity state.
|
||||
- [ ] Link entities to renderable visual mesh IDs (`MeshID` in the graphics system).
|
||||
- [ ] Define helper function to set/update visual transforms based on entity state.
|
||||
|
||||
## [ ] 2. Physics & 3D Bounding Box (Collision System)
|
||||
- [ ] Define `AABB` (Axis-Aligned Bounding Box) struct.
|
||||
- [ ] Implement constant downward gravity acceleration applied to player velocity.
|
||||
- [ ] Implement AABB vs AABB collision detection.
|
||||
- [ ] Implement collision resolution: push-back along the shortest axis of separation, resetting vertical velocity when grounded or hitting ceilings, and allowing sliding along walls.
|
||||
|
||||
## [ ] 3. Player Control & Locomotion
|
||||
- [ ] Calculate camera-relative movement vectors based on player's yaw.
|
||||
- [ ] Map movement input keys (`W`, `A`, `S`, `D`) to player horizontal velocity with smooth acceleration and friction.
|
||||
- [ ] Map jump input (`Space`) to apply upward vertical impulse, allowed only when player is grounded.
|
||||
|
||||
## [ ] 4. Third-Person Follow Camera System
|
||||
- [ ] Implement follow camera logic orbiting the player entity.
|
||||
- [ ] Handle mouse delta to update camera pitch/yaw orbit angles.
|
||||
- [ ] Implement view matrix computation targeting the player's position.
|
||||
|
||||
## [ ] 5. Level Setup & Collision Mapping
|
||||
- [ ] Implement static platform mesh spawner (e.g. ground floor, raised blocks, gaps).
|
||||
- [ ] Map platform meshes to static colliders in the physics update list.
|
||||
|
||||
## [ ] 6. Game Loop Update Hook
|
||||
- [ ] Implement an entity update tick `UpdateEntities(float deltaTime)` in [game.cpp](file:///c:/Dev/Classified/Juliet/Game/game.cpp).
|
||||
- [ ] Integrate input, physics step, collision checks/resolution, and visual sync into the tick.
|
||||
|
||||
## [ ] 7. Gameplay Rules & State Management
|
||||
- [ ] Define `GameState` struct (Score, Player Life/Health, Game Status).
|
||||
- [ ] Implement fall-out-of-bounds check (e.g. `Z < -10.0f` resets player to spawn/checkpoint).
|
||||
- [ ] Implement collectibles (coins) with overlap triggers that update score and deactivate themselves.
|
||||
- [ ] Implement level-end goal flag/portal trigger.
|
||||
|
||||
## [ ] 8. UI Overlay (HUD)
|
||||
- [ ] Render a gameplay overlay using ImGui showing score, time elapsed, status, and control instructions.
|
||||
Reference in New Issue
Block a user