experiment/Design.md

3.9 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
    • Find some way to implement a shader for the optics (AFTER IMPLEMENTING NEW BULLET SYSTEM)
    • Optic glass material
    • Reticle render
    • Reticle adjustment while on the field
    • Parallax effect on reticle
  • 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
    • Check if Bobbing could be too exagerated
    • Leaning neutralizes Bobbing for some reason
  • 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
  • Gun dropping drops on only one side of player
  • Gun dropping does not apply impulse for some reason...
  • Gun colliding with ground and going into low ready
  • With introduction of floor collision groups now bullets go through floors
  • 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