A minimalistic MMO demo built using the Godot Engine 4.3.
Feel free to take a look at my to better understand the project.
Old screenshot showing 16 clients at the same time on multiple different instances:
Login menu:
The list below indicates the current progress and goals:
- Client-Server connection through WebSocketMultiplayerPeer.
- Client side working on web browser.
- Authentication steps before connecting.
- Login UI to authenticate.
- Synchronizing entities among the players in the same instance.
- Hosting different map instances on a single server and allowing traveling between them.
- Basic RPG class system with 3 classes to get started with: Knight, Rogue, Wizard.
- Private instance for individual players or groups.
- Mobs hosted and managed by the server.
- Basic combat system with PvE and PvP.
- Experience and leveling systems.
- Entity interpolation (rubber banding).
- Server clock.
- Instance based chat.
- Saving persistent data on the server.
And maybe more later.
See the open issues for a full list of proposed features (and known issues).
To get started with the project:
- Clone this repository.
- Launch it with Godot 4.3.
- In Debug tab, choose "Customizable Run Instance...".
- Enable Multiple Instances and set at least 2 or more..
- Under feature tags, be sure to have only 1 "server" tag and at least 1 or more "client" tag.
- Play the project.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Screen shots from @WithinAmnesia.
Also thanks to @Anokolisa for allowing us to use its assets for an open source project!