Presently, the project is split into two other projects called
server
client
We should combine these two projects under a single name, and allow clients to choose if they will behave as servers or not.
Too many of the features of server and client are identical, and deserve to be made into their own Scenes, but not two entirely separate Projects
Why
Continuing down this path will make the project much harder to work on and think about.
Splitting the project up into two separate Projects doesn't fit with Godot's design philosophy. (The more appropriate abstraction should be Scenes, with a Server scene and Client scene).
Difficulty
The only difference is a single script called network.gd.
Refactoring this script into client.gd and server.gd should be relatively straightforward.
Side Effects
Refactoring the script will also necessitate renaming some variables and assets.
Brief
Presently, the project is split into two other projects called
server
client
We should combine these two projects under a single name, and allow clients to choose if they will behave as servers or not.
Too many of the features of server and client are identical, and deserve to be made into their own Scenes, but not two entirely separate Projects
Why
Continuing down this path will make the project much harder to work on and think about.
Splitting the project up into two separate Projects doesn't fit with Godot's design philosophy. (The more appropriate abstraction should be Scenes, with a Server scene and Client scene).
Difficulty
The only difference is a single script called
network.gd
.Refactoring this script into
client.gd
andserver.gd
should be relatively straightforward.Side Effects
Refactoring the script will also necessitate renaming some variables and assets.
See Asset Cleanup on this front.