Networking in Construct

Forum for plugin, effect and behavior programmers. Please use the Help & Support forum for help using Construct.

Post » Mon May 02, 2011 1:08 am

As you know, about a year ago I put out a Python networking tutorial using Podsixnet. Seems to have gotten a fair bit of use as its had about 1000 downloads, but I've never seen a networking game besides the demo ones I've posted. Not sure if people found the topic too hard, don't want to use Python, or not really doing networking.

I thought somebody was working on a plugin, but that seems to have fallen through from what I can tell. Thus this poll!

Want to gauge the interest of the community on if they want/would even use a Networking plugin. If I did write one it would probably be a simple one..and at least initially only be an equivalent of what Podsixnet can do (except I'd use UDP). Also, for you plugin/Construct developers out there....how hard would it be to add Sprite indexing (i.e. Player[1].speed) to a plugin (I think it is mandatory for multiplayer, unless you can think of another way). I want to be able to Control players like in the Dungeon escape tutorial which required Sprite indexing.
B
8
S
3
G
7
Posts: 835
Reputation: 5,313

Post » Mon May 02, 2011 1:16 am

Voted option 2, but I've never been too into multiplayer stuff so I'm not the best person to ask. I know there is a desire for it though, and it would definitely be a welcome addition that should have been made long ago.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Mon May 02, 2011 1:20 am

Arsonide has been talking in chat about how he's been finishing up David's online plugin (when he's not busy working on his multitudes of other plugins). It sounds mostly complete. You join log on and chat it up with him.
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422

Post » Mon May 02, 2011 1:23 am

I'm in chat..but nobody else seems to be there. ;-)
B
8
S
3
G
7
Posts: 835
Reputation: 5,313

Post » Mon May 02, 2011 1:39 am

would be fun but i don't know shit about multiplayer programing :oops:
B
3
S
2
G
2
Posts: 136
Reputation: 1,347

Post » Mon May 02, 2011 2:36 am

[quote="scidave":3l55665o]
Also, for you plugin/Construct developers out there....how hard would it be to add Sprite indexing (i.e. Player[1].speed) to a plugin (I think it is mandatory for multiplayer, unless you can think of another way). [/quote:3l55665o]
it would be easier and more flexible to make a 'For Each Player' looping condition that would allow you to autopick everything related to that player at each loop iteration, and an expression as well if you needed it like
networking.currentplayer (the loop index)

if for some reason you wanted to access players randomly outside of that loop for other purposes, you could just do something in your cap like
For Each Player
----PlayerSprite pv PlayerNumber= networking.currentplayer

then use that playernumber pv to help you pick it in unique circumstances that involve more than one player at a time.
I voted for the basic online thing I would use. I think it should be made as flexible as possible, that way you can find your own way of making dead reckoning, and you can try (in your cap)optimizing differently for a chess game or an action game, etc. Maybe even a few expressions in there to help you figure out when you're trying to push through too much information. As far as the online plugin davo was halfway done with, it did indeed sound almost finished last time I talked to arsonide, but it also sounded like he is insanely busy, and that it's kinda like a pet project on the side of his other 18 plugins he's working on, so plug away if you would. and also, don't hesitate to ask ashley for svn permissions, and see if you could just build off of davo's if you'd like to try that. Even without getting the svn permissions, though, you can still browse the code, and download it, and see if it's something you'd like to work off. you just couldn't commit your changes to be in the next official version.
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Mon May 02, 2011 11:51 am

I'd love to see a networking plugin made , it doesn't need to have all the advanced features to be useful, but I guess some basic dead reckoning would be handy someday :P
"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 » Tue May 03, 2011 12:47 am

I had a good chat with Arsonide last night. Davo's plugin that he is finishing sounds very impressive. It should support fast shooter type games and have lag compensation ,etc. Everybody that wants to make an online shooter should definitely check his out when it arrives.

I'm planning on just making something really simple (no lag handling) more to keep my skills from getting rusty and I would like to see a simple plugin. I'll start with something super basic and then work from there.
B
8
S
3
G
7
Posts: 835
Reputation: 5,313

Post » Tue May 03, 2011 3:21 am

Sounds cool to me-- I voted for the basic one-- but I don't know... would basic updating of positions be enough to make-- for instance-- a multiplayer mario game?

A plugin that can do that, and that is no harder to learn than perhaps the entirety of Construct itself would, I think, be taken advantage of by a lot of people, and yield some pretty amazing stuff!

Also, does anyone know the status of what networking will be like in Construct 2? I don't pay much attention to its development since its still so early on.
B
5
S
1
G
2
Posts: 99
Reputation: 1,575

Post » Tue May 03, 2011 8:41 am

I wasn't ready to announce that I was working on it, but I guess now is as good of a time as any...seeing as davo's code is plastered all over my wall in various notebook pages randomly tacked and covered in sticky notes.

davo was pretty far along with his Online plugin. I ran through the source and it already has basic functionality. Honestly I think the community would like it as is, but davo obviously didn't feel that it was ready yet, so out of respect for him and his work I'm going to patch up a few features he was working on before I release it. Right now it works great over a LAN but I plan on including lag compensation features as well.

It is based on Raknet - and I have spoken to Rakkar about what licensing issues that might entail. Basically, you can use the plugin as much as you want, but if you plan on releasing a major project to the public, you have to go to Raknet's site and accept the independent developer's license - which you do by downloading Raknet. You don't need Raknet to use the plugin, so after that you can delete it. You just have to make sure to accept their license. Raknet was davo's choice, not mine - but it was a good choice. Raknet is very feature rich.

Their license is free, up until you make $50,000, after which you pay royalties. If you're making $50,000 on a Construct game, I don't think you'll mind. The license also stipulates that you mention Raknet in any readme files, splash screens, or credit screens.

I have no idea how long it will take to reach a releasable state with this - I'm pretty sure I understand what needs to be added and how to add it, but it will take time. I have about four other plugins I'm working on as well as a day job. Luckily I don't have a life though, so development in my off time will be intense. I wouldn't expect it to take more than a month or two.
B
5
S
2
G
5
Posts: 221
Reputation: 2,272

Next

Return to Construct engineering

Who is online

Users browsing this forum: No registered users and 0 guests