experiment/Design.md

2.8 KiB

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:

  • Detach player rotation from character model
    • Weapon Sway
      • Check sensitivity settings, as in other pc with high dpi mouse weapon sways too quickly.
    • Fixing leaning
      • Snap back leaning too quick
      • Issue with moving around quickly
    • Bring Crouching back
  • Inspect animation & state (procedural)
    • Attachment editor system when in inspect mode
    • remove Start and End optic from Slots, instead make one slot, and have code that checks for the starter slot and the end slot
    • SightSlot not retaining position when dropped or switched.
  • High Ready & Low Ready system with state
    • High ready animation (procedural)
    • Low ready animation (procedural)
  • EventCollision system that takes into account more than one type of collider.
    • 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
    • Gun colliding with bullet, making it lower on every shot fired.
  • Optics
    • All optics implementing a fn/trait that gives a specific gun offset to use the optic correctly
    • TODO: Find some way to implement a shader for the optics
  • Weapon Clipping
    • 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
  • Bobbing
    • Gun Bob on run
    • Gun Bob on walk
  • Reload animation (procedural)
    • Real world magazines
  • Rewriting bullet physics to use raycasts & kinematic rigidbodies (logic controlled)
  • Create a Controls struct that holds mappings to all the game keys and replace them in all the game's code

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