A downloadable project

Download NowName your own price

This extension is intended for beginners in online game creation. If you want to create more advanced online games, please consider using existing extensions or features (WebSocket client, MQTT client, Firebase, P2P, THNK, etc.).

⚠️ This extension is experimental and not yet practical. Also, development may be discontinued.
⚠️ This extension is not suitable for action games that require precise synchronization.
⚠️ This extension will not work when the server is down.
⚠️ The server may be restarted without notice for development purposes.
⚠️ You cannot build your own server.
☕ I need your support to maintain this server.

Buy Me a Coffee at ko-fi.com

📖 How to use

Import the downloaded "OnlineMultiplayer0.0.0.json" file into your project.

There is no manual at this time. Please refer to the following video.

ℹ️ A sprite with the online player behavior added can only have one placement on the stage. For example, if you want to share bullets shot by a player, you must use a shared string.
(It is more efficient to share the timing and angle of the shot only once, instead of sharing the bullet's position all the time)
(This extension is not suited for exact synchronization)

Deleting a sprite with added online player behavior will automatically disconnect it from the server.

⚠️ If the game window is completely hidden behind other windows or minimized, the game will stop and that player will be disconnected after 5 seconds.

🪄 About how it works

A room is automatically created in the server for each scene in each game.


Information such as the position of player characters connected to the same scene is shared.

It uses WebSocket for communication.

📬About shared string

Each online player can share an individual string. This is useful for chat and JSON sharing.
See "Chat example" or "Shot example" for details.

🚫 Limitations

This extension has the following limitations to protect shared servers:

  • Communication at 0.1 second intervals.
  • The shared string must be within 100 characters.
  • javascript obfuscation.
  • The server restarts at a scheduled time every day. At that time, all connections will be disconnected.

📂 Example project file

"OnlineMultiplayerExtensionExample0.0.0.zip" is the example project file. Open "game.json" in GDevelop.

List of examples included in the project file.

  • Basic example
  • Chat example
  • Random example
  • Shot example
  • Host example
  • User name example

👾 Games created with this extension

Bomb Poi Poi

Colosseum of Thieves

Updated 1 day ago
StatusIn development
CategoryOther
Rating
Rated 4.8 out of 5 stars
(4 total ratings)
AuthorPANDAKO
Made withGDevelop
TagsMultiplayer
Code licenseMIT License
Average sessionA few seconds
MultiplayerServer-based networked multiplayer
LinksKo-fi

Download

Download NowName your own price

Click download now to get access to the following files:

OnlineMultiplayer0.1.0.zip 8 kB
OnlineMultiplayerExtensionExample0.1.0.zip 46 kB
if you pay $5 USD or more

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

can you make it work with 3d and add voice chat

How would i make it so that there is shared objects that do not have to be players for example : animals

i can change the server of the extension to my own server for hosting???

(+1)

will there be a “Join room” system? 

(-1)

Pandako can you make a multiplayer extension for android I really think a lot of people need it including me


hey uhh is it possible to make a platformer with the smooth cam extension?

cuz for me the camera is kinda buggy and is conjoined with all players

just do the "check if me", invert it, and then action: "don't follow" with the camera extension. 

I copied the code as shown in the your video but the player is always disconnected. Each additional game window I launch always only shows 1 player. In other words your extension doesn't work.

(1 edit) (+1)

This issue has been reported as resolved.
https://pandako.itch.io/ome4gd/devlog/544229/v-007

astasio
I updated the ISRG certificate and the error resolved. It was just a mac os update problem
(2 edits) (+1)

Problem :

it seems like this doesn't directly support With three JS ( pandako's 3d extension).. any solutions on how to fix this?

( I'm using the experimental 3d box instead of sprites so it looks good)

Deleted 188 days ago

See the second half of this video.

Does anybody know how to make a Amogus chat like system? (I'm trying to make a Miiverse thing.) Thanks lol.

(+1)

Best way I could think of is shared strings, I mean, it's the only way, really. If he adds sync object, you could put on a synced text object. But it's also hard because of a character limit, AND only one shared string. Here's an idea: (kind of hard, though). If you can sync the object's animation, maybe make it so there is an animation for each letter? (e.g. a, b, c), and then changes through them really fast, adding each animated character to a string. Hard tho.

(+1)

Thanks! This might help a lot!

(+1)

Just a silly request! But I think there should be a multiplayer object. One that won't duplicate when a player connects but still shares the exact position (and etc.) to each individual, similar to a player but not exactly entirely. Like say if a Minecraft clone were being made. A block destroyed on a player's screen should show on the other player's screen that it is missing or destroyed, right? That would make the creation of an online multiplayer a little easier to create. Anyway, great job on the extension! I believe it works quite wonderfully! Keep up the good work! :D

(+1)

Exactly. Please, Pandako!

(+1)

Hey, I made a game with your plugin. Thank you very much. If you want, you can use it as a demonstration of your plugin

https://kazuki-takahiro.itch.io/the-legend-of-fera

(+3)

Could you make it possible to set your own server?

(+1)

Would be epic, too

yeah it actually is and it is pretty eazy, it can be done under 2 mins.

Hi PANDAKO! I'm trying to use this to make my own teamwork-based platformer, but open doors and such cant really sync easily. Do you think you could add a "Sync object" behavior for tiled sprites, sprites, and panel sprites? It would be like online player, but not for a player. That would make it a lot easier to make this large project. Thanks!

(2 edits)

i cannot get more than one bullet in my scene, i need help, someone tell me how to make more than one player able to fire bullets that show up on both ends?

Deleted post
(+1)

It would be pretty cool to make a platformer example.

like the update tho👍

(1 edit)

i made a platformer, but the position updates make it less fun

edit: with the new update, it looks less janky, let me know if you want the project files

(+1)

https://gd.games/imnotdream/fun-game

try it out, though ive only played it with my brother and a random person

Hey, yeah, I'm also interested in this, could you share the files on Itch please?

here are the project files, id appreciate it if you gave me credit, but its not necessary.

Thank you! 

Nice Update!

(+1)

and maybe add the ability to have faster updates

you should add the ability to share whether or not the object has been flipped horazontally or vertically

never mind, you did in 0.0.5

Deleted 213 days ago
(2 edits) (+1)

It worked for me every time, after I followed the tutorial. It still needs a lot of work to function outside of Turn Based, but it does wonders fixing the "Match Making Problem" that us non experienced progamers have using the normal p2p.

(+1)

it does that sometimes

Hi PANDAKO!

Will I be notified about the server status via email?

Thank you!

(+2)

so how does the "no multiple of same objects, use shared string" work