Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

typed binary snapshot compression / delta compression #2

Merged
merged 32 commits into from
Nov 16, 2023
Merged

typed binary snapshot compression / delta compression #2

merged 32 commits into from
Nov 16, 2023

Commits on Nov 11, 2023

  1. Configuration menu
    Copy the full SHA
    fbb4cc3 View commit details
    Browse the repository at this point in the history
  2. Adds initial tests for binary bitstream buffer

    Adds ability to encode / decode arrays of entities
    Marak committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    851125c View commit details
    Browse the repository at this point in the history
  3. Adds tests for message encode / decode

    Adds ability to encode / decode entire messages
    Marak committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    4c7c2ae View commit details
    Browse the repository at this point in the history
  4. Adds additional schema properties

    Increase size of bitmask to UInt16
    Adds more tests
    Marak committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    1a22a2e View commit details
    Browse the repository at this point in the history
  5. Adds string support

    Increases default buffer size
    Adds support for undefined enum types
    Adds more action types
    Marak committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    5f491ac View commit details
    Browse the repository at this point in the history
  6. Unifies use of id and auto-id across all entities

    Use auto-id for snapshot id, not date time
    Adds `name` property
    `type` property is no longer sent on each request
    Increases bbb default buffer size
    Increases bbb bitmask buffer size
    Adds support for Boolean type
    Switch to UTF8String
    Adds stubs for enabling WebGPU
    Moves border creation to inside listening block
    Marak committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    263ea6f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6eb1fe9 View commit details
    Browse the repository at this point in the history
  8. Updates edge server to use bbb

    Updates edge server to use new int IDs
    Removes `Buffer.from` for browser env
    Marak committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    38510fd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d3ae6d9 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2023

  1. Enables deltaCompression by default

    Adds method to clear all state on deltaCompression
    Adds more tests for deltaCompression
    Marak committed Nov 12, 2023
    Configuration menu
    Copy the full SHA
    08d8bee View commit details
    Browse the repository at this point in the history
  2. deltaCompression is now scoped per player

    Updates tests
    Marak committed Nov 12, 2023
    Configuration menu
    Copy the full SHA
    68f7a2a View commit details
    Browse the repository at this point in the history
  3. Adds float2Int float encoding

    Ensures deltaCompression passes through non-compressed properties
    Adds guards and tests for deltaCompression init states
    Marak committed Nov 12, 2023
    Configuration menu
    Copy the full SHA
    b6165bd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0202cb8 View commit details
    Browse the repository at this point in the history
  5. Refactors bbb to accept nested schema definitions

    Adds more tests for optional fields / missing fields
    Marak committed Nov 12, 2023
    Configuration menu
    Copy the full SHA
    f93ec09 View commit details
    Browse the repository at this point in the history
  6. Switches Float64 to float encoded Int32

    Adds delta compression and float encoding to more values
    Owner is now `UInt16` instead of string
    Updates entity auto-id such that server is always id 0
    Marak committed Nov 12, 2023
    Configuration menu
    Copy the full SHA
    797e98d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0a042bc View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Adds tests and new bbb4

    Removes flattened structure
    Marak committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    b075514 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. Configuration menu
    Copy the full SHA
    bb33b66 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    37fc5a4 View commit details
    Browse the repository at this point in the history
  3. All tests passing

    Updates logger syntax
    Marak committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    ccb89f1 View commit details
    Browse the repository at this point in the history
  4. Updates Client/Server to latest bbb API

    Adds game message schema
    Truncate BitBuffer before returning it
    Marak committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    9322776 View commit details
    Browse the repository at this point in the history
  5. Adds benchmark for snapshot compression

    Improves performance of encode / decode
    Updates message schema to use one level + state array
    Refactors Client / Server for new message schema
    Marak committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    edf079a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c1695a4 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Adds Schema plugin

    Replaces supreme json compression with protobuf
    Use `arraybuffer` as default web socket data type
    Marak committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    f3327b2 View commit details
    Browse the repository at this point in the history
  2. Adds missing Schema plugin

    Adds configurable `MIN_BLOCK_SIZE`
    Disables auto-binding of event classes by default
    Marak committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    30bf071 View commit details
    Browse the repository at this point in the history
  3. Refactors game.entities from object to Map

    Simplifies entity removal process with `destroyed` flag
    Bullets are now destroyed if hit Block
    Marak committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    75a2d3a View commit details
    Browse the repository at this point in the history
  4. Enables delta compression by default

    Adds velocity to deltaCompression pipeline
    Removes un-needed graphics calls
    Refactors Float2Int for performance
    Bullet plugin is not responsible for creating graphics
    Marak committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    855afe6 View commit details
    Browse the repository at this point in the history
  5. Updates CloudFlare edge server to new APIs

    Adds deltaCompression to edge server
    Adds protobuf and msgpack to edge server
    Ensure msgpack still works in regular server
    Using msgpack by default for edge server ( see code comment )
    Adds `Game.tick` counter
    Use `MIN_BLOCK_SIZE` in Block config
    Marak committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    c45c1f9 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Renames gametick enum action -> GAMETICK

    Ensure id lookup works in offline mode
    Marak committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    baf5c4c View commit details
    Browse the repository at this point in the history
  2. Updates tests to new API

    Removes conditional branching logic for float encoding
    Marak committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    9e2b5f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    451289b View commit details
    Browse the repository at this point in the history
  4. Updates Phaser to latest API

    Marak committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    fd2f68f View commit details
    Browse the repository at this point in the history