Multiplayer Online Game


#1

Hi I would like to create a video game Multiplayer on Gdevelop I was wondering if you want to do. Thanks


#2

It’s a really interesting question and I’ve been thinking about it a bit too.
There’s some old guides about using the network extensions: http://www.wiki.compilgames.net/doku.php/gdevelop/tutorials/multiplayer_racing_game
http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual/built_network

There’s newer documentation on networking but that doesn’t seem to be geared for multiplayer games: http://wiki.compilgames.net/doku.php/gdevelop5/all-features/network

I was also considering whether you could use websockets to achieve multiplayer networking, but I’ve never tried that.


#3

Gdevelop 4 have a network feature for sending /receive data (socket).
For Gdevelop 5 network is just for send and get data on a website (request POST/GET). This is good for send score for example. This system is too slow for make a game in multiplayer.

I’ve already tryed to use socket.io for make a proof of concept with GD5 but it’s hard and we need code and hosting a server.
More info here :
NodeJS + GDevelop

Recently i’ve used player.io for create a new poof of concept, it’s more simple but we need to code and use free plan from player.io or paid for more data/users :confused:


#4

Last time I checked Player.io did have a free plan which is enough to run some tests with few people online and for development, you can setup a local server and database on local network so you are limited only by the machine you are running the server on, even if you have a free plan only. On a local server the limitation of the free plan does not apply but of course people need to connect to the same network. But to find out if your project worth hosting online or not I think it is more than enough and if it worth it, Player.io is pretty much an all in one solution including also web hosting for product pages, databases to store game and player data, in-game currency to implement in-game purchase with real currency. Pretty awesome I think.


#5

I use HawkHost for my sites. They’re fairly affordable, at least for Shared hosting. A dedicated server or VPS is pricier, but might be recommended for something like an MMORPG, or maybe a different plan - I’m not really sure. I believe all the plans can run Node.js apps though.

https://www.hawkhost.com/hosting-features


#6

I’ve uploaded the example for Player.io.
I’ve only added Javascript lib from Player.io, and i broadcast data. receive and showing it.


#7

That’s a nice example of how to set this up in GD. Thanks for sharing :+1:


#8

I’m looking to build a multiplayer Facebook game


#9

Hey buddy, if you want to create something that will people be play and that will hook people I advice you that to begin to understand what people are looking for in games, try it yourself, play games and especially in old school MMO games like mu online https://muonline.us or line age 2 that gathered in front of the screens millions of people. In my opinion these games collected in themselves everything together, everything people look for in games. Having understood this you will understand how to make a perfect game.


#10

I am currently doing a multiplayer extension based on socket.io. The server can be made on heroku, so it is not that complicated to use.
The winner of my game jam will get the pre releases from it.
Basically, you will have three way to interreact with the server from the game and back:

  1. Chat:

You can use an action to “send” a message to “the chat”. On the other players game, you will be able to receive them with a condition: Message received and then the expression lastMessage().

  1. Events:

This is working a way similar to the chat. You send an event with the event name you want, and then can use a condition on the other players instances to check if the event (name of the event) was fired.

  1. Player and Controller behavior:

This is a more “managed” system. You make a copy of your player object and make the controlled behavior on it. On the original, you make the player one. Then, when other players join, it will spawn new Controlled objects, that are each controlled by a player with the player behavior.