2024-01-28 15:51:28 +00:00
|
|
|
# bom
|
|
|
|
|
2024-02-02 19:12:14 +00:00
|
|
|
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.
|
|
|
|
|
2024-02-10 09:19:35 +00:00
|
|
|
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
|
2024-02-15 15:28:27 +00:00
|
|
|
- Loading UI
|
2024-02-10 09:19:35 +00:00
|
|
|
- Settings UI
|
|
|
|
|
2024-02-15 15:28:27 +00:00
|
|
|
## 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.
|
|
|
|
|
2024-02-10 09:19:35 +00:00
|
|
|
## License
|
|
|
|
|
|
|
|
Please see the [license documentation](https://akyoto.dev/license).
|
|
|
|
|
|
|
|
## Copyright
|
|
|
|
|
|
|
|
© 2024 Eduard Urbach
|