Online Multiplayer test. Please

Discussion and feedback on Construct 2

Post » Wed May 08, 2013 8:26 am

Looks great, nice work. All we need now is a set time for a forum showdown :)GenkiGenga2013-05-08 08:26:30
ImageImage
B
74
S
17
G
6
Posts: 1,039
Reputation: 10,605

Post » Wed May 08, 2013 11:42 am

This is great, @jayderyu!! I'm really impressed - particularly by the smoothness of motion.

I think I'll back out of this multiplayer plugin business and leave the field to you
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

Post » Wed May 08, 2013 4:43 pm

[QUOTE=Velojet] This is great, @jayderyu!! I'm really impressed - particularly by the smoothness of motion.

I think I'll back out of this multiplayer plugin business and leave the field to you [/QUOTE]

@Velotjet
While I appreciate the comment; very flattering. The "smooth" movement comes from motion state up dates over positional. I do brute force the position, but it's more about what direction the player is moving in when keys are pressed.

I suggest yours is better than mine for some important reasons.

* Support. I'm not sure photon is the best server software to go. Photon doesn't seem to allow cluster network coding that C2 developers need. The server side API is in C#. Photon can't route data by way of config, it only routes data to other C# photon servers.

* After implementing the health spawning and trying to do a better Actor managment; I discovered something important. Advanced item and room management needs to be done with loadbalancing api.
Lobby room lists, setting max players, room passwords, items already in a game match.... all need to go through the more advanced versions by the way of loadbalancing. as a sample

var loadbalance = new LoadBalancing(masterServerAddress,.....)
var roomInfoList = loadbalance.getRoomlist();

this is the object
roomInfo[]{ name, maxPlayers, password, isVisible, isOpen,... }


* I got Draoust to work on. I really just wanted to get a few days away from Draoust. So I thought to throw together a simple network demo. I worked on the network code for a couple of weekends, and put the game together on Monday. I'm mostly done with it now :D except for a few niggle bits and browser issues. It seems to run pretty well for most. So now I should get back to Draoust before I lose momentum :)

* Photoncloud... nope. mine doesn't work with Photon Cloud. I'm not even sure how to use PhotonCloud :D. I think most C2 developers would prefer to use the Photon Cloud over running there own Photon Server. I did this in hopes to cluster network POC. But when I found that rooms were isolated and can't send message to other rooms. My plan was smushed. Also I would require to use C# and Visual studio express :D... I'll pass.

I suggest you keep up at your own work or maybe the 3 of us can team up? I can't afford my full time on networking, but I can do part time :)

maybe you(@velotjet), @awarmenhoven and I should put our heads together and come up with some kind of robust MP system for C2? jayderyu2013-05-08 19:15:49
B
87
S
18
G
9
Posts: 2,455
Reputation: 14,834

Post » Wed May 08, 2013 8:15 pm

[QUOTE=jayderyu]maybe you(@velotjet), @awarmenhoven and I should put our heads together and come up with some kind of robust MP system for C2? [/QUOTE]

I think this is a brilliant idea! After all three great minds working together are better than one. That and you all have a deep passion for game development, and helping others from what I have seen.

I for one would donate or pay for a user friendly Online Multiplayer product and/or service that worked with Construct 2. Maybe you guys could put together a nice prototype, and try a crowd funding campaign to get the money needed to get your new company off the ground.

It's something to think about. There is still a huge market for new innovative game creation tools.Wink2013-05-08 20:19:02
B
50
S
11
G
8
Posts: 479
Reputation: 9,911

Post » Wed May 08, 2013 10:05 pm

@jayderyu

Thanks very much for your comments - all very helpful and forward-looking!

* Photon server: after some initial work with Photon Server, I abandoned it in favour of Photon Cloud, mainly because of one of the factors that you identify: "The server side API is in C#". I thought it would just impose another limitation on C2 developers if they had to do server-side coding in another language. That's why my MultiPlayer behavior uses a NodeJS backend.

* Photon Cloud: the big downside here is that it doesn't allow authoritative server management, so although it takes away the burden of server-side coding, it means that C2 developers have to build game logic into the client - with all the gotchas that entails.

@Wink
Thanks for your positive comments! While I agree that three minds working together can be better than one, I think that in this case, our approaches are along such different lines that. at this stage, it's probably better to pursue our individual lines of development (while definitely keeping a close eye on what each other is doing ).

For the record (as I've just said in another thread), my aim has been to produce plugins/behaviors (MultiPlayer and PhotonClient) that operate at a much higher level of abstraction than awarmenhoven is proposing, in order to make it as easy as possible for those who want to get into multiplayer gaming but have limited experience of low-level networking - or simply prefer to work with higher level operations. So, here's the very different basic set of ACEs in my C2 plugins/behaviors:

- Condition: New web player has joined
- Condition: Web player has been updated
- Condition: On collision with another player
- Condition: Web player/s to be created
- Condition: On my player moved
- Condition: Web player has left (use this to destroy the associated sprite)
- Condition: Game server is ready

- Action: Set the web player's ID (from the C2-allocated UID)
- Action: Initialise data of web player to create (from the server-allocated client ID and its current x/y coordinates)

- Expression: Get current X co-ordinate of web player
- Expression: Get current Y co-ordinate of web player
- Expression: Get web player's C2 UID
- Expression: Get number of web players to make (on joining game)
- Expression: Get the player's server-allocated UID
- Expression: Get the player's name
- Expression: Get the player's current score
- Expression: Get the player's current healthVelojet2013-05-08 22:09:31
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

Post » Wed May 08, 2013 10:47 pm

Could you release your server? I am having problems with my own.
B
7
S
3
G
1
Posts: 154
Reputation: 1,812

Post » Thu May 09, 2013 12:49 am

But a Heart error was found. Anyone pickup a heart would receive the HP restore. A new c2runtime has been uploaded.

Also a new problem has just been spotted with some players dying in one shot. sigh. bugs :D, changed the condition to check for HP 0 to try and fix this.

will reply to everyone wonderful comments shortly :)jayderyu2013-05-09 00:51:26
B
87
S
18
G
9
Posts: 2,455
Reputation: 14,834

Post » Thu May 09, 2013 2:11 am

@Wink
Thanks. I started talking to awarmenhoven by way of email. He has already started. I'm catching up on some of the tech he wants to use :D

I would go for kickstarter or something like that. but there should be a lot to talk about. We both agree we would like to make the discussion open to the community for input.


@Velotjet
I totally understand where you coming from. Keep up the excellent work. I think more minds are better than one though :). Plus no matter what the route we need to use Plugin in one for or another :)

@breackzin
sent a PM
B
87
S
18
G
9
Posts: 2,455
Reputation: 14,834

Post » Sun May 12, 2013 11:32 am

I need stop working on this game :D

* Added shooting sounds with distance based volume :)
* duplicate player seems fixed based on latest tests.

If anyone wants I'll post the photon plugin used for the game.
B
87
S
18
G
9
Posts: 2,455
Reputation: 14,834

Post » Sun May 12, 2013 9:22 pm

You bet we want ;)
B
20
S
5
G
8
Posts: 325
Reputation: 6,473

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 8 guests