🎮 Godot + Go = MMO. 106 Commits
2024-02-16 20:04:50 +01:00
client Reduced number of global variables 2024-02-16 20:04:50 +01:00
server Added network skill usage 2024-02-16 15:51:23 +01:00
stresstest Improved UI 2024-01-25 12:10:29 +01:00
.gitattributes Removed Git LFS 2024-02-02 20:12:14 +01:00
.gitignore Removed Git LFS 2024-02-02 20:12:14 +01:00
project.code-workspace Added godot cache to excluded folders 2024-01-29 11:27:26 +01:00
README.md Improved component system 2024-02-15 16:28:27 +01:00

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.

© 2024 Eduard Urbach