Online/Networking?

This forum is currently in read-only mode.
From the Asset Store
[C3] Banner ads, Interstitial ads, Rewared video ads, Rewarded Interstitial Ads
  • Deal breaker for me as well.

  • Theoretically, there could be a multiplayer plugin, but if you used it you could not sell your game.

    No go.

  • Ugh, I guess I'll start checking out Raknet then. NO PROMISES though. I'm going to start looking at it and making testbed programs. If it clicks and I can figure it out, I'll see what I can do.

    Gonna make a simple console based chat program tonight with it. Raknet's licensing basically states this - you do have to pay them $5000, but only after you earn $250,000. Up until that point it's totally free. I think that's a pretty fair licensing scheme.

    Meanwhile, you guys can start brainstorming how it will work in Construct. I'm envisioning it as three plugins. A client, a server, and a network replicator. The client and server are single objects that you drop into your program. The network replicator attaches to any network aware objects or sprites and synchronizes them over the network.

    EDIT: Just made my first Raknet connection over the interwebs. It's not terribly difficult. Multiplayer Tic Tac Toe is functional.

    Well...after checking it out a little more...yeah Tic Tac Toe is easy, but once I start thinking about implementing interpolation, my brain starts leaking out of my ears. I think I'll leave this to someone that knows what they're doing. Interpolation is not built into Raknet. It's what smooths out an object's movement between packets so that it's not jumping around. I will continue to supply plugins to the community, just not things this complex.

  • Arsonide, you shouldn't really have to do ay interpolation (I believe its called "Dead Reckoning" in online games). We just need an object that can send/receive packets along subchannels, sign into channels, assigns unique IDs to every client, etc. etc.

    Also, OINC/Lacewing for MMF2 is cool because the servers can be written in python using something called "POINC".

  • Interpolation is imperative if your not using prediction. Not all clients can keep the same rate of transfer, never mind ridiculous latency to someone on the other side of a country, or the world. I urge you to read the paper Valve Software published on their wiki on the matter.

    http://developer.valvesoftware.com/wiki ... Networking

    Hell go play Quake 3, then go play IOQuake 3 with the "fixed networking", huge difference with the improved prediction. Yes I know Quake 3 has prediction, but the fixes make it near bullet proof.

  • I'll sex up whoever makes an online plugin.

    Fo sure.

  • That's kinda creepy, with an avatar of yours.

  • Interpolation is imperative if your not using prediction. Not all clients can keep the same rate of transfer, never mind ridiculous latency to someone on the other side of a country, or the world. I urge you to read the paper Valve Software published on their wiki on the matter.

    http://developer.valvesoftware.com/wiki ... Networking

    Hell go play Quake 3, then go play IOQuake 3 with the "fixed networking", huge difference with the improved prediction. Yes I know Quake 3 has prediction, but the fixes make it near bullet proof.

    My apologies, I meant that you shouldn't have to be the one that makes the interpolation - You should only have to make the object while the user deals with that - As its usually completely different coding for different cases i would have thought...

    Anyway, thanks for the article! I really look forward to reading it <img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy">

  • I thought interpolation was the job of a game that sends and receives packets?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • right, if we're talking about the same thing, which is predicting movement, so you can move a character and estimate their position based on what data you have already received, while waiting for the next packet.

    This would be done completely differently, and to varying degrees, if you were making a fighting game, an rts, a chess game, or a fps. I don't know how difficult this is to make, or whether you have the time. But I think it would be useful, even without doing interpolation for you.

  • I've checked out SFML and some very basic prediction algorithms utilizing cubic splines, which I think will function for my purposes. I think I can work something simple out over the next few weeks.

    A few caveats: the connections will likely be UDP or TCP using a dedicated server built into a console program. UDP is pretty easy to do for me, as it's connectionless, which means for simple two player connections you don't even have to know if the second player is there - you just throw the data out and hope it arrives. TCP utilizes socket connections, so dealing with tons of players is an option. I'll have to program a server program though, as it's not something I think Construct facilitates well.

  • I was programming a 3d rts engine with a friend. We had a client server system and packets were simple. We used raknet which is really simple to set up ill see if i could get a plugin working? Im not that good at networking in mass numbers. Im sure i could make a co-op like plugin but anything for mmos would be beyond me.

  • Nobody cares about MMO scales at this point - just getting basic TCP/IP functionality so that 4-8 players can play at once over the net would already be good enough.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)