# bom An attempt at highly efficient networking between Go servers and Godot clients. ## Assets Git LFS is not suited for hosting large files because it keeps the entire history on the server. There is `git lfs prune` for the client side, but we need it on the server side and this functionality simply does not exist. Therefore the `client/assets` directory needs to be downloaded separately. Download link will be here in the future. ## Features - UDP based messaging - Third person camera - Cloth attachments - Grass shader - Water shader - Loading UI - Settings UI ## Components This project makes heavy use of composition via components. They are implemented with the following rules: - Components can have **read-only** references to other components. - Components must not **write** data to another component. - Components that produce some output must use signals to communicate messages to other components. In other words, it's allowed for components to have dependencies, but a component can not know where its output is going to be used in the future. Therefore, outputs must use a signal to communicate the output to an unknown number of receivers. ## License Please see the [license documentation](https://akyoto.dev/license). ## Copyright © 2024 Eduard Urbach