Online plugin-Updates

New releases and general discussions.

Post » Thu Mar 12, 2009 6:27 pm

i seriously doubt an online plugin would go underused. in PC games, local multiplayer isn't popular or ideal -- barely anybody has multiple gamepads for their PC and it's no fun having 4 people huddle around a keyboard. for multiplayer PC games, online connectivity is a necessity. almost any multiplayer game will use it. the project i'm working on now is intended to have online multiplayer down the line (and if it is to become a popular game on PC, it basically requires it, as it's a multiplayer-focused game). someone else was making an online space game. there are already people lined up to use it -- the ability to make online games will draw even more users interested in making multiplayer PC games.

all that'd be expected of the online plugin creator would be simple TCP/IP connection where you can type in the IP of a game you want to join. after that, it could be expanded to support a master server and he could code an example master server in something as simple as ASP (and update the plugin to let the games talk to that master server -- just let us spefiy IP/port of that master server). master servers don't handle game logic -- they simply keep track of a list of game servers (name, ip, number of players, etc). let the gamedevs find a way to host that master server for their game(s) (i'd probably just host it on my home fios connection).
B
2
S
2
G
4
Posts: 254
Reputation: 1,958

Post » Thu Mar 12, 2009 11:09 pm

Whilst the subject of servers and online use is obviously important, and it doesn't hurt to discuss it at great length during it's production, my thoughts are on the usage of the object in Construct.

With MMF2's plugin, and obviously with any online code written in any language, the game designer has to decide how often packets are sent, and then write the code to implement this.
What I was wondering was whether the online plugin for construct would allow the user to assign specific conditions to specific objects, and then the plugin would deal with the sending of information.

To clarify, you have 2 cars ("carA" and "carB"), one controlled by you, and the other controlled by a person elsewhere.
Now, as anyone who's coded online apps before will know, you can't just constantly send a stream of data for the postions of the cars, as this will just bring your app to a standstill, so data has to be sent whenever it's needed and no more.

So, in an ideal world, the "SEND" part of the plugin would allow you to:
[list:1q3dza76]Add an object to it (say "car2" for this example)
Send packet when condition met (position changed/time elapsed/predictive position/etc)[/list:u:1q3dza76]

In the "RECEIVE" part of the plugin, you would be able to:
[list:1q3dza76]"Listen" for packets with a recognisable name
Run functions or groups depending on the name of that packet[/list:u:1q3dza76]

If the plugin is a simple send and receive packet plugin, like MooClick, then it would be easy enough to code the sending and receiving using it, but if it was built-in it would be a lot faster (processing, not sending and receiving :D ) and it would also be a lot easier for those without experience of online coding.

Sponge.
B
2
S
1
G
3
Posts: 105
Reputation: 1,310

Post » Fri Mar 13, 2009 5:52 pm

Assigning movements to the online plugin would be an excellent idea, with each movement assigned being able to have individual settings, IE send when/every, on receive for this etc
Image Image
Scirra Founder
B
125
S
37
G
25
Posts: 3,945
Reputation: 44,922

Post » Fri Mar 13, 2009 5:56 pm

10ms-1000ms ping. What gives?
B
62
S
21
G
12
Posts: 1,910
Reputation: 13,155

Post » Fri Mar 13, 2009 9:03 pm

I didn't read the whole topic but maybe you could use a php file for the webserver. Before I found out that construct sdk was incompatible with express 2008 I was in the process of conceiving a Socket object that sent and received lines from a web server. Anyone fully willing could make one out of sockets - although if they want a socket object they need to wait for me to get another C++ program.
B
3
S
1
G
3
Posts: 49
Reputation: 1,148

Post » Mon Mar 30, 2009 5:45 pm

I feel that assuming nobody will want to setup their own servers for an online program is just stunting the creation of the Online Plugin further. There are quite a few users here dedicated to their projects and are really banking on the creation of an Online Plugin.

The plugin should be focused as it is so that the user can point to their own private server. Upon release you can see how the userbase is using the plugin and see if people are actually purchasing their own server space and utilizing the plugin. If not then you can worry about setting up a public server.

Otherwise all this worrying about something that really should be the user's problem rather than the plugin developer's problem is just going to prevent the plugin from ever being created.
B
1
G
3
Posts: 7
Reputation: 839

Post » Tue Mar 31, 2009 12:09 pm

I agree with Taitu on this one.

People seem to be worrying about the plug-in being all-inclusive, like they deserve free online lobbies for their games.

You want to set up an MMO or an online lobby? That is YOUR responsibility to get it set up. Scirra should not be in no way required to supply a public server in this regard.

I feel like we have missed half the picture in this thread somehow. For years people have been getting along fine with simple P2P and LAN functionality. A lobby makes P2P easier, sure, but a lobby for YOUR game is YOUR responsibility to set up.

And just in regards to the question of "how many people will use" the plugin without a supplied server. I, and quite a few other people here I am sure, primarily play games for the multiplayer experience. A few years ago this may not have been true, but gaming and multiplayer really do go hand-in-hand in this day and age.

Hell, If I understood C++ to any reasonable degree, I would be making a Raknet plugin right now. All of my W.I.P games depend on it.
B
2
S
2
G
5
Posts: 108
Reputation: 1,866

Post » Tue Oct 20, 2009 7:13 am

Have there been any updates in the development of this plugin?

I have experimented with Python scripting and the Twisted library, a python networking library, to see whether I could achieve some networking between instances of Construct.

A lack of familiarity with Twisted's API and its 'way of thinking' kept me from any good results. I implemented a basic client in Construct that could send a message (UDP or TCP were doable) to a server and received a response that I had Construct spit out. This worked fine and in fact multiple clients could connect to the server but tracking the clients on the server or even implementing a Construct program as the server had issues.

When attempting to use Twisted's listening socket for the server it caused the Construct program to hang, I imagine a solution to this may be to thread the code to Twisted. Importing the Python Threads library to Construct worked and I found threads instantiable but I have had some difficulties communicating with the running threads and the threads communicating back to Construct's events.

Without much more of a rant, can I ask if anyone has experimented with this approach, i.e. leveraging Python's networking capabilities into Construct? Based on the discussion here it sounds like the intention is to write a plugin using standard C++ socketing.

And regarding the discussion of lobbies, I agree that creating a public server to provide support to the community in general and the games developed in the community is bad. As noble as it sounds it will introduce monetary and technical issues to the maintainers of the server.

On the other hand, if a cool protocol and plugin were developed that worked great with Construct's engine and its OO design, that "just worked" then I think the Construct developers could potentially look into:
a) developing a simple server to support that protocol, releasing its code and build instructions.
b) deploying such a server and introducing a system for developers to pay X dollars per month for its use or base the payment on the number of users of the game.

Attempting to simply provide a free public server will just cause problems imo.
B
6
G
3
Posts: 3
Reputation: 1,086

Previous

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 2 guests