experiment/Design.md

84 lines
3.9 KiB
Markdown

## Game design
### OUTDADED:
4-6 guns, with 1 magazine per gun.
Optics can be left out
Can only be found in the world
Always have a starting pistol available
Inventory system + Looting system
Boxes all around the map with guns, equipment, ammo.
A mix between a battle royale and an extraction looter shooter:
All players spawn like an extraction looter shooter, to get out they have to extract,
but the map contains loot like a battle royale.
Make sure guns are usable with iron sights.
Multiplayer
# TODOs:
- [x] Detach player rotation from character model
- [x] Weapon Sway
- [ ] Check sensitivity settings, as in other pc with high dpi mouse weapon sways too quickly.
- [x] Fixing leaning
- [x] Snap back leaning too quick
- [x] Issue with moving around quickly
- [x] Bring Crouching back
- [x] Inspect animation & state (procedural)
- [x] Attachment editor system when in inspect mode
- [x] remove Start and End optic from Slots, instead make one slot, and have code that checks for the starter slot and the end slot
- [x] SightSlot not retaining position when dropped or switched.
- [x] High Ready & Low Ready system with state
- [x] High ready animation (procedural)
- [x] Low ready animation (procedural)
- [x] EventCollision system that takes into account more than one type of collider.
- [x] Auto Low ready when gun collider hits object OR when player starts sprinting
- [ ] (Not a priority) Collision with wall and attempting to Aim can look very twitchy, maybe add a cooldown of 0.1-0.4s on each change from low ready to high ready
- [x] Gun colliding with bullet, making it lower on every shot fired.
- [x] Optics
- [x] All optics implementing a fn/trait that gives a specific gun offset to use the optic correctly
- [x] Find some way to implement a shader for the optics (AFTER IMPLEMENTING NEW BULLET SYSTEM)
- [x] Optic glass material
- [x] Reticle render
- [x] Reticle adjustment while on the field
- [ ] Parallax effect on reticle
- [ ] Weapon Clipping
- [x] Make the player's collider bigger towards the front
- [ ] Make the weapon's collider cover the firing point
- [ ] If possible, create a new gun pose, like pushed back
- [x] Bobbing
- [x] Gun Bob on run
- [x] Gun Bob on walk
- [ ] Check if Bobbing could be too exagerated
- [ ] Leaning neutralizes Bobbing for some reason
- [ ] Reload animation (procedural)
- [ ] Real world magazines
- [x] Rewriting bullet physics to use raycasts & kinematic rigidbodies (logic controlled)
- [x] Create a Controls struct that holds mappings to all the game keys and replace them in all the game's code
- [x] Gun dropping drops on only one side of player
- [x] Gun dropping does not apply impulse for some reason...
- [x] Gun colliding with ground and going into low ready
- [x] With introduction of floor collision groups now bullets go through floors
- [x] Huge bug all attachments get despawned and spawned when gun shoots
- [ ] Bloom on bullets is making them way too bright, bring down the emissive mat color & size of the bullets.
- [ ] Red dot sight needs to be zeroed. (Height over bore)
- [ ] Red dot on sight is too quick on a trackpad.
- [ ] Red dot is automatically going up to max when shift is pressed for the first time.
- [ ] Multiplayer
- [ ] Start work on a multiplayer server
- [ ] Map
- [ ] Start building a map for your hideout
- [ ] Player model hitbox
- [ ] Organs
- [ ] Heart
- [ ] Brain
# Design
- Detach player rotation from character model
Don't parent the hands to the camera
Make the hands move to the camera with a delay + lerp
On player movement:
WASD -> Translate player parent objetc, everything else follows
Mouse movements -> Rotate camera (on all axises) + Player Character (Not parent object) on only the horizontal axis (Z I think)
What moves first is the camera, then the entire body moves with a lerp