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

🐛 Probably fixed.
This extension may not work on Android apps.

I have confirmed that WebSocket communication from GDevelop works on Android 7, but not on Android 11. (If on browser, it also works on Android 11) Therefore, this extension will not work on Android 11. (⚠️ The exact version of Android that doesn't work is unknown)
This issue is likely to take some time to resolve.

ℹ️ No need to update extensions. The fix was on the server side. Please make sure this extension works with your android app. 👍

📖 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

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.

Hello PANDAKO, are there a way to keep track of all the players using ID, and using the ID to pick a random player ?

(1 edit)

Hello Pandako, I would like to know how I could put a text as multiplayer, in the case of my game I want each person when they join to have a text following them, and I can see the name of the others, I found this video, this is what I mean:

(-1)

If I need to remove the limitation for an mmo game, would it be possible to remove it? Communication at 0.1 second intervals

(-1)

Do you have to pay

bro is free

(-1)

Also pandaka how do i get the OME EXAMPLE All it gives me is the extension

(1 edit)

you have to pay money for the example but the actual extension is free

(-1)

is the Shooting example for free?

you have to pay atleast $5USD to get it, sadly

Hey, there! Could anybody help with shooting mechanics in this extension.

In offline mode it is pretty easy but in multiplayer it only shows on the screen who shoot 

 the bullet, on the other client nothing happens. I  tried    to fix it  with  

check if it is me. Still not working ):

i have the same problem she said we should use shared string

but i dont know how have you figured it out.

(+1)

No but i have an idea

(+1)

same

what is the idea please share

doesnt work sadl

(3 edits)

Hey there! TeamFusion here, I've been wanting to make a multiplayer game but this has been stopping me. How do I make things like this, if both players are connect and 1 player pressed the button to open the door the door openes for that player but the other one stays close with the button not pressed. How do i fix this? I've tried everything that i could. The blue character is the working one but look at the red screen on the right the platform ddidnt move at all

Why does "request server information" not work

Maybe it's "Request scene information"?
It's working fine.

Yeah scene sry , this Stores the Players in each scene and If I Store this in a Text it only Shows 0

Could you please post a screenshot of the event you created? This will allow me to give you appropriate advice.

Here you are (:The Text is only to Test what number the variable is, but the Text and the variable only Shows 0 

Maybe you are using a version older than version 0.0.9? I remembered that there was a problem with older versions of "Request scene information".

https://pandako.itch.io/ome4gd/devlog/634597/v-009

If so, I recommend updating to the latest version.

The "Request scene information" action is asynchronous. You are updating the text before the data retrieval is complete.

Try moving subsequent actions into the same event.


(+1)

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

3d already work

Don’t think voice chat will work in gdevelop or any online thing for a long time

(+1)

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? 

You could make one Your self perhabs

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. 

the camera problem how I understand it is really easy to fix (:

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 1 year 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!

I have an idea on how to do that. but you have to have the latest type of ome extension

Hey bro thanks! But I think I’m good now :)

Hey i am also working on a game can you help

me with a problem

Hey buddy! Are you trying to make a chat system? Because the thing is I gave up on trying to figure the chat system out like a year ago so I still don’t know. :b sorry man wish I could help

(+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 1 year 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

I have the same problem

Also pandako when trying to make an online shooter game like you did how do we set the shooting program can you send me a picture of how you did it in that video please.