48 lines
1.5 KiB
Markdown
Raw Normal View History

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.
2024-02-19 13:40:29 +00:00
## Addons
The `client/addons` must be downloaded separately just like the assets.
The following addons are required:
- [Terrain3D](https://github.com/TokisanGames/Terrain3D)
- [Godot Jolt](https://github.com/godot-jolt/godot-jolt)
2024-02-10 09:19:35 +00:00
## 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