Is Multiplayer/online possible with Construct 2?

Discuss game development design and post your game ideas

Post » Sun Dec 02, 2012 6:33 pm

[QUOTE=Jayjay]... the player who is acting host will send back actual data the other clients adapt to ...[/QUOTE]
Doesn't that give the player host an unfair/unacceptable advantage? What happens in the situation I posed: what if two clients use their internal logic to come up with opposing outcomes (e.g. who has got to a waypoint first)? (Keeping in mind of course that the data from the player/client will necessarily have taken longer to get to the player/host.)
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

Post » Mon Dec 03, 2012 12:05 am

@Jayjay

Yet-another Multiplayer Demo , this system put all game logic on client, server only do broadcasting message.
But it has limitation.
- designer need to sync the game status by itself, it might be complex,
- few security since server only do broadcasting.
- can not put "big world" (like BrowserQuest) in the client side since server might have more computing power then client.rexrainbow2012-12-03 03:10:54
B
97
S
22
G
178
Posts: 4,118
Reputation: 104,043

Post » Mon Dec 03, 2012 1:45 am

[QUOTE=Jayjay]If it's possible I'd rather see a plugin where the client side handles all of the game logic[/QUOTE]
I'm afraid in practice this is not a workable idea. It's very tempting because it could do a lot to simplify the design of multiplayer games in Construct 2. The reason it wouldn't work though is because cheating would be totally rampant.

If you trust what the client tells you it's done, it could take a mildly technical person a few minutes to figure out what packets are sent outbound when you shoot someone (or complete some objective), then create a keyboard shortcut that does it over and over again (e.g. one key to kill everyone in the level instantly). In short, if your game reaches any level of popularity whatsoever, it will promptly be ruined by widespread unrestricted cheating.

While you could risk this yourself with your own plugin/networking architecture, we could never officially support a system designed that way. Anyone who tried to make a serious game would get totally burned by it, and we don't want to be responsible for that happening.

Since server-authoritive models run the game on the server, basically only user input is sent from the client. So cheating is instantly reduced to automating what are legitimate inputs to the game, which in theory a real human could be inputting to their computer anyway. This usually can only provide a slight edge, rather than totally owning a game.Ashley2012-12-03 01:48:06
Scirra Founder
B
359
S
214
G
72
Posts: 22,951
Reputation: 178,578

Post » Mon Dec 03, 2012 2:36 am

@Velojet, as explained it's just as bad as most cheating in games anyway where players can self-host servers or even MMO's with "anti-cheat". A slightly easier way to fix it is to simply not tell the player they are the host, and to try and pick host by best ping.

@Rexrainbow, ah awesome, and yes I know it's not MMO quality, but I'm thinking of smaller games that people play with their friends rather than massive multiplayer.

@Ashley, ah okay I know exactly what you mean, but I think it'd be really important for built-in support for even the most basic of things like online chat, for those who aren't worried about extreme cheating or aren't basing their game around the multiplayer aspect.

It could be like exporting Windows 8 apps instead though, where you go into the exported files and change a value or two to make the server work specific to your game.

Edit: Ah, online chat would be perfect actually, that way people *could* use it to send gameplay messages without much difficulty, but they'll accept that it's not a serious server.Jayjay2012-12-03 02:38:25
"Construct 4 lets YOU make advanced games! (maybe)" Construct Classic - Examples Kit
B
86
S
28
G
13
Posts: 2,092
Reputation: 15,009

Post » Mon Dec 03, 2012 7:57 am

[QUOTE=Jayjay] @Velojet, as explained it's just as bad as most cheating in games anyway where players can self-host servers or even MMO's with "anti-cheat" ...[/QUOTE]
I wasn't talking about cheating (I left that to others :). My question was about the management/mediation of gameplay. As @rexrainbow points out, having a client/host sync the game status by itself would be complex.Velojet2012-12-03 08:00:30
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

Post » Mon Dec 03, 2012 1:40 pm

[QUOTE=Velojet]Doesn't that give the player host an unfair/unacceptable advantage? What happens in the situation I posed: what if two clients use their internal logic to come up with opposing outcomes (e.g. who has got to a waypoint first)? (Keeping in mind of course that the data from the player/client will necessarily have taken longer to get to the player/host.)[/QUOTE] I think most of these problems in theory could be solved with cleaver ideas. For instance, you could have a built in rule on a generic server to use an equal random chance to give priority to one of the user's outcome when there's conflicting data. Although this would not be absolutely fair, it would be acceptably fair and that's what matters for a game.

Even if it's not possible to solve absolutely everything, I think a client side multiplayer would still have it's uses.
Scirra Employee
B
129
S
45
G
15
Posts: 705
Reputation: 15,413

Post » Mon Dec 03, 2012 3:40 pm

@Velojet

There still had a simple way to create multi-players game, like the world editor of warcraft3.
B
97
S
22
G
178
Posts: 4,118
Reputation: 104,043

Post » Tue Dec 04, 2012 4:32 am

[QUOTE=Jayjay] @Velojet, as explained it's just as bad as most cheating in games anyway where players can self-host servers or even MMO's with "anti-cheat". A slightly easier way to fix it is to simply not tell the player they are the host, and to try and pick host by best ping.[/QUOTE]
Anti-cheat doesn't work - see gunbound/maple story.

[QUOTE=Jayjay]@Rexrainbow, ah awesome, and yes I know it's not MMO quality, but I'm thinking of smaller games that people play with their friends rather than massive multiplayer.[/QUOTE]
As Ashley said, if he cannot make it work seamlessly with the same quality as the rest of the product, he'll leave it to third party developers (that's us).

[QUOTE=Jayjay]Ashley, ah okay I know exactly what you mean, but I think it'd be really important for built-in support for even the most basic of things like online chat, for those who aren't worried about extreme cheating or aren't basing their game around the multiplayer aspect.[/QUOTE]
It'd still involve a server, and custom server-side scripting, since p2p html5 tech isn't there yet, and even if it was, we'd have no way of identifying multiple instances of our game without a server.

[QUOTE=Jayjay]It could be like exporting Windows 8 apps instead though, where you go into the exported files and change a value or two to make the server work specific to your game.[/QUOTE]
a value or two or thirty or a hundred thousand...


The only way I see this working is an exporter for node.js that skips drawing - as awesome as I think that would be, the work/benefit ratio isn't as good compared to, for instance, new objects/plugins (deep json parsing, rich text boxes, skinnable form controls, etc), more powerful eventing (custom ACEs, callbacks, widgets, modules, etc), IDE options (collaborative editing, search'n'replace, tiled level editor, AI editor, etc), developer possibilities (Hooking into the interface, plugins able spawn dialogs) or even working on the site (improving the store and the arcade, for instance). Thoughts @Ashley?
B
35
S
8
G
8
Posts: 532
Reputation: 6,868

Post » Tue Dec 04, 2012 4:42 am

@Fimbul

"The only way I see this working is an exporter for node.js that skips drawing"

I agree. A game world running at node.js server without render is good enough. Other things could be done by 3'rd plugin.

Although node.js might not be fast enough, or have enough library supporting, it is the best choice that it could combine with C2 editor (layout editor + event sheet + plugin system) to create serve without programming (uh, it's still need 3'rd plugins).
B
97
S
22
G
178
Posts: 4,118
Reputation: 104,043

Post » Tue Dec 04, 2012 8:50 am

[QUOTE=Fimbul]... The only way I see this working is an exporter for node.js that skips drawing - as awesome as I think that would be, the work/benefit ratio isn't as good compared to, for instance, new objects/plugins ...[/QUOTE]
Agreed. There's also the user/benefit ratio. Development of Fimbul's list would IMO benefit far more users than a node.js exporter - and I suspect that those who would make most/best use of such an exporter would be well able to handle the JavaScript coding that it would replace.
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

PreviousNext

Return to Game Development, Design & Ideas

Who is online

Users browsing this forum: No registered users and 0 guests