Is this a feasible multiplayer test project?

Get help using Construct 2

Post » Thu Jan 01, 2015 4:51 pm

Hi all,

I'd like to test out Construct2 to see if it's workable for the game I have in mind by building a small test project.

The plan is:

-Use a pre-fab kit for Zelda-style movement/combat for the player character (I assume these exist already for Construct2, as it's one of the most requested game types among amateur wannabe game developers like myself)

-Use the online multiplayer features added in in Construct2 R186 a few months back to allow four of these player characters simultaneously, played by four different people over the Internet

-Allow these players to attack simple enemies in an empty room.


My project involves multiplayer Zelda-esque combat, so this would be the bare minimum for a test case.


Does this sound easily doable with Construct2 as it currently stands? Or is the online multiplayer introduced in R186 not easily adaptable to Zelda-style combat?

Thanks for any advice you can offer!
B
6
S
1
G
1
Posts: 95
Reputation: 910

Post » Thu Jan 01, 2015 5:00 pm

It is possible, but multiplayer is not that easy to set up.

You have to set up yourself what has to be synchronized between the 4 players.
So you would have to synchronize for example:
Player movement
Player facing direction
Player attacks
Enemy movement
Enemy facing direction
Enemy attacks
Bullets, damage etc...

Also you have to keep in mind that:
There's currently no support for a dedicated server.

The multiplayer offers you only a signal server.
So players connect to the signal server, and the signal server does only set up a connection between the players.

Once that's done, the whole online part is running over the players computers via direct connection to each other.

This limits a few things such as a proper connection to each other as it depends on their location
As well as saving their progress, as it's only being saved localy.


For an unexperienced beginner it can be really hard to get everything to work using multiplayer.



I'm working on such a project myself right now, and i'm also a beginner.


In short:
Possible but not easy.
B
40
S
8
G
3
Posts: 159
Reputation: 3,019

Post » Thu Jan 01, 2015 10:57 pm

Good to know!

I have a couple of questions:

1. Support for dedicated servers is a planned feature, correct? So I can start building a game now that I envision running on a dedicated server one day, and then switch it over when the time comes?

2. My game world is separated into screens, much like the old Zelda games. A player on one screen would have no need to synchronize movement, attacks, etc. with a player as long as they're on another screen; this should massively cut down on data being sent back and forth at any given moment. Is this doable, to say "only synchronize player movement if you're within the same area of the game world"? I assume yes?

3. There's no planned PvP, only PvE. Nor is there twitch competition for PvE kills. So if one player's movement looks a little janky to the other, or one player sees themselves killing a mob on their screen but in fact the other player got the kill, that's totally okay.

4. In terms of saving progress -- can't Construct2 connect to a web server via any number of methods already, even prior to online multiplayer support? If all that's required is the Client to say "Hey, here's my unique ID, and here's my save data," and the Server to reply "Sure madame, I'm savin' your data right here, tip o' the hat" and fetch information from a database when asked, that sounds pretty feasible. Especially if I have a high degree of trust in the players and am not obsessed with preventing them from cheating.

5. The main way my players influence each other without being on the same screen together are through accomplishing world-changing events. If one player assassinates the king, another player on the other side of the world may find NPCs start discussing how the king was assassinated. In practical terms, this means global variables. When GlobalEvent.RoyalFamily.King.Assassinated? goes from 0 to 1, that needs to update for all players, but it's not the sort of thing that would be at all bandwidth intensive -- obviously, the players aren't assassinating kings left and right, on a 'fully populated' server (this game is meant to be played with a few dozen people on a server, any more than that and you'd want to make a new server) you'd probably have a Global Event variable being altered every hour or two. Can I write a simple rule that says "all GlobalEvent variables sync between all players whenever they're changed"?

6. Separately from all of the above... I can use Scirra to create solid-feeling Zelda-style combat, right? That's become fairly easy at this point, I hope?
B
6
S
1
G
1
Posts: 95
Reputation: 910

Post » Thu Jan 01, 2015 11:53 pm

1. I don't think so. It would be awesome, as i'm looking forward to it as well.
The only thing that scirra is currently offering us is either their own "official" signaling server as described above. So you don't have any control over the signaling server itself

Or what's pretty new is that they're now selling a license for your own signalling server so you can host it on your own one. But in the end it's still just a signalling server.

2. Yes i think that should be possible, so you could (for example) synchronize all the player data as long as they are on the same map / instance. So all you would have to do is some checks if a player enters or leaves an area.

3. That's perfect, makes it easier for you :P

4. I really don't know. But i would love to have this feature as well. I guess it's possible somehow, but haven't informed myself about it as of yet. I've just asked ones if there's a way to connect to a SQL database, but i've been told no.

5. There are global events yes, and it should be pretty easy to synchronize those yes.

6. I would say Construct 2 is perfect for a zelda style combat game. If you give your best, i would say you would be able to create a 1:1 copy of any old top down zelda game.
B
40
S
8
G
3
Posts: 159
Reputation: 3,019

Post » Fri Jan 02, 2015 7:06 am

Message: Televangelist can only post plain text URLS until they have 500 rep. 2 URLS modified. Why?
Hold up hold up hold up -- Construct2 can't connect to an SQL database?

...say wha?

Can it connect to a plain old text file on the web? Because it would be *super* janky, but you could have the database queried separately and have the result of that query output into a .TXT file that Construct2 then reads... but wow, I'm a little bit in shock at that.

Edit: Looks doable w/ AJAX...

html5-sql_t60614
https://www.scirra.com/tutorials/296/se ... l-database
B
6
S
1
G
1
Posts: 95
Reputation: 910

Post » Fri Jan 02, 2015 7:40 am

LOL turns out I can't post URLs yet? But if you google "Construct2 sql" you'll see links along the lines of what I found.
B
6
S
1
G
1
Posts: 95
Reputation: 910


Return to How do I....?

Who is online

Users browsing this forum: Kin and 44 guests