Skip to content

Tiny MMO demo using Godot 4. Both client and server are on the same project. You can contact me on discord: slayhorizon

License

Notifications You must be signed in to change notification settings

LordAko/godot-tiny-mmo-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godot Tiny MMO Demo

A minimalistic MMO demo built using the Godot Engine 4.3.
Feel free to take a look at my Wiki to better understand the project.

Old screenshot showing 16 clients at the same time on multiple different instances:
M.M.O.A.R.P.G. (V.000.007) Godot-Tiny-MMO-Template-0.0.3 Godot 4.3 NET+ Dungeon Gathering Online (0)(Frontpage Github Contributor)(Image showing the early state of the project) Login menu:
login-menu-screenshot

Project Goals

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).

Getting Started

To get started with the project:

  1. Clone this repository.
  2. Launch it with Godot 4.3.
  3. In Debug tab, choose "Customizable Run Instance...".
  4. Enable Multiple Instances and set at least 2 or more..
  5. Under feature tags, be sure to have only 1 "server" tag and at least 1 or more "client" tag.
  6. Play the project.

Example:
multiple-instances-screenshot

Contributing

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".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contributors & Credits.

Screen shots from @WithinAmnesia.
Also thanks to @Anokolisa for allowing us to use its assets for an open source project!

About

Tiny MMO demo using Godot 4. Both client and server are on the same project. You can contact me on discord: slayhorizon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • GDScript 100.0%