From 0d4503fd79292c5d91a46767f9a9c92a5b6f2da5 Mon Sep 17 00:00:00 2001 From: Nordup Date: Sun, 31 Mar 2024 11:16:03 +0400 Subject: [PATCH] readme --- README.md | 24 ++++++++++++++++++++++++ icon.png | Bin 0 -> 184872 bytes icon.png.import | 34 ++++++++++++++++++++++++++++++++++ project.godot | 1 + screenshots/.gdignore | 1 + screenshots/editor.png | Bin 0 -> 421228 bytes screenshots/hub.png | Bin 0 -> 367098 bytes screenshots/hub.png.import | 34 ++++++++++++++++++++++++++++++++++ screenshots/interpolation.png | Bin 0 -> 89273 bytes 9 files changed, 94 insertions(+) create mode 100644 README.md create mode 100644 icon.png create mode 100644 icon.png.import create mode 100644 screenshots/.gdignore create mode 100644 screenshots/editor.png create mode 100644 screenshots/hub.png create mode 100644 screenshots/hub.png.import create mode 100644 screenshots/interpolation.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..b186258 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# Godot 4 Multiplayer template + + +Template repository with client-server multiplayer and voice chat ready to go.
+It has:
+\- Third person controller with interpolation on client
+\- Voice over with 3d positioning
+\- UI for changing names and tweaking voice volume
+ +> #### The content in this repository is free to use in personal, educational and commercial projects. + +## Screenshots + +

+

+ +[player/player.gd](player/player.gd) + +

+ +## Credits + +* VoIP extension for Godot 4 - https://github.com/RevoluPowered/one-voip-godot-4 +* Platformer Kit (2.2) - https://www.kenney.nl \ No newline at end of file diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d5d90cc4acf886df54dc5c39ef963fe824c002 GIT binary patch literal 184872 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