John Nesky
|
|
« on: January 17, 2011, 09:42:46 AM » |
|
I suspect many of us want to make an online multiplayer game, but don't want to write our own servers from scratch or don't want to worry about collapsing under a Reddit bomb. I sure as hell don't want to have to think too hard about it. After a little bit of googling, Player.IO looks like a reasonable option: http://playerio.com/features/multiplayer/But this isn't my area of expertise and I'd appreciate any other ideas. Basically I want to know how to: - (optional) keep track of players who want to join a game and match them up somehow. - send bytes from one player to other participating players, preferably with low latency. - (optional) a persistent database. I guess there would need to be some logic on the server to validate incoming data? - host the above things, for an unknown number of concurrent players, preferably as cheaply as possible. I don't need a database, but I might use one if it is available and I'm sure other compo participants would like to use one, so recommendations are welcome. In fact, I don't even need to manage the matchmaking part as long as people are willing to swap IP addresses, but that would probably dampen the game's popularity. Sleep Is Death seemed to do alright without any dedicated server, but I was hoping to be able to make something more casually accessible, and with more than two players. Like Transformice. Does anyone know how Transformice works? What kind of technology does everyone else want? Discuss!
|
|
« Last Edit: January 17, 2011, 10:08:49 AM by Melly »
|
Logged
|
|
|
|
Oddball
|
|
« Reply #1 on: January 17, 2011, 09:48:52 AM » |
|
I was just thinking a thread like this would be useful.
I'd like to know if it's possible to work out the physical distance between to IPs so that I can pair up players who are are closer together and hopefully minimise lag?
|
|
|
Logged
|
|
|
|
DeadPixel
|
|
« Reply #2 on: January 17, 2011, 09:49:56 AM » |
|
If you're a C#/XNA developer then the lidgren library is an easy to use option.
|
|
|
Logged
|
|
|
|
Hayden Scott-Baron
|
|
« Reply #3 on: January 17, 2011, 09:50:43 AM » |
|
I'm very fond of making an online game, but I also realise there is an infinite amount of destructive assholes that will hack/destroy any server you manage to get working. Online gaming is easy if you don't have to compensate for these wankers.
|
|
|
Logged
|
|
|
|
ChevyRay
Guest
|
|
« Reply #4 on: January 17, 2011, 09:51:17 AM » |
|
I use Player.IO for my Flash games, and it works great! If you're working on a game in Flash CS or Flex, Flixel/FlashPunk, and are having trouble getting it up and running, just gimme a ping and I'll help ya out.
It's got great online documentation and tutorials, though, so make sure to tap that!
|
|
|
Logged
|
|
|
|
John Nesky
|
|
« Reply #5 on: January 17, 2011, 09:54:19 AM » |
|
Oh excellent, I'm planning on using Flash too, glad too hear that it works well with Player.IO. I'll try it out!
|
|
|
Logged
|
|
|
|
Chris Z
|
|
« Reply #6 on: January 17, 2011, 09:54:46 AM » |
|
If you're a C#/XNA developer then the lidgren library is an easy to use option. Neat! I'll have to look into this.
|
|
|
Logged
|
|
|
|
namre
Guest
|
|
« Reply #7 on: January 17, 2011, 10:01:53 AM » |
|
I'm planning on using Construct and I've found an Online Multiplayer tutorial which uses Python and the PodSixNet. To those who are interested, you can check the tutorial out here. I haven't tried this one yet. Will check if it is easy to implement. If not, I might settle for a hotseat game.
|
|
|
Logged
|
|
|
|
ChevyRay
Guest
|
|
« Reply #8 on: January 17, 2011, 10:06:11 AM » |
|
Oh excellent, I'm planning on using Flash too, glad too hear that it works well with Player.IO. I'll try it out!
Rad dude, hit me up if you need any help at all (whether you bees using Flixel/FlashPunk, or just Flash or whatever). I don't know if it's super good for really fast stuff, I tend to make my games as quick and low-data traffic as possible, but the great thing is you can have up to 20 500 consecutive player server hosted for free, so it's fantastic for testing! And suitable for indies who can't affort/setup server shit. The tricky part is that the server code has to be written in C#, but Visual C# Express edition (which the getting-started tutorial links you to) is free to install, and it comes with a working example server that can be easily edited. So hopefully there are some C# whizzes handy for folks who may need some complicated bits done here or there in their games!
|
|
« Last Edit: January 17, 2011, 10:18:55 AM by ChevyRay »
|
Logged
|
|
|
|
Melly
|
|
« Reply #9 on: January 17, 2011, 10:08:36 AM » |
|
For those that want to use Flash but don't want/can't pay for Player.IO (unless I'm stupid and it has a free option), you can also experiment with the Adobe Stratus service, to estabilish P2P connections between Flash apps for free. I haven't tried it in a little while, but hopefully it still works.
I'm working on a AS3 class that works with Stratus. I'll clean it up tonight and post it if the service proves useful.
|
|
|
Logged
|
|
|
|
John Nesky
|
|
« Reply #10 on: January 17, 2011, 10:17:02 AM » |
|
the great thing is you can have up to 20 consecutive player server hosted for free, so it's fantastic for testing!
My interpretation of this chart is that you can have 500 concurrent players for free! I'll check out this Stratus thing though.
|
|
|
Logged
|
|
|
|
ChevyRay
Guest
|
|
« Reply #11 on: January 17, 2011, 10:18:27 AM » |
|
Oh!! That's way better! hahaha, I got it mixed up with the 20 gigabytes of traffic.
Fix'd.
|
|
|
Logged
|
|
|
|
Melly
|
|
« Reply #12 on: January 17, 2011, 10:21:11 AM » |
|
Yeah, Player.IO looks like a really good option as well.
|
|
|
Logged
|
|
|
|
Izzimach
|
|
« Reply #13 on: January 17, 2011, 10:44:03 AM » |
|
Also, Player.IO appears to have an example Unity client. Looks like they just added (nearly empty ATM) Unity sub-forums. Guess I'll have to blow the rest of the day trying it out!
|
|
|
Logged
|
|
|
|
ink.inc
Guest
|
|
« Reply #14 on: January 17, 2011, 10:44:52 AM » |
|
Anybody have any decent networking suggestions for a guy using GM?
|
|
|
Logged
|
|
|
|
CatStack
|
|
« Reply #15 on: January 17, 2011, 10:46:33 AM » |
|
Although I think thinking about the actual network solution would probably be a better idea after actually deciding what it is I'm going to make, if I go for a two player game I think I'll go the route of having a HTTP based lobby and then just implement the simplest possible P2P solution (probably just using TCP) I can think of. It saves having to use a real server at least.
|
|
|
Logged
|
|
|
|
SophieH
|
|
« Reply #16 on: January 17, 2011, 11:19:35 AM » |
|
to unity users: I haven't yet looked into Player.IO, but don't forget unity technologies let your games use the unity master server free, so your online game idea might work already without you having to fork anything out. relevent unity tutorials and docs: I'd love to say "if you have any issues just ask me" but sadly I've never got any communication between non-local game clients before. each time I get that far I get confused by having to set up port forwarding and that kind of stuff, my fault and not unity's, but maybe this compo will encourage me to figure it out, I know Terry already did something like that with the router anyway so maybe I'll bug him if I come up with an online idea. anyway, I hope that's helpful to someone, the first link I highly recommend btw
|
|
|
Logged
|
|
|
|
knight
|
|
« Reply #17 on: January 17, 2011, 11:40:51 AM » |
|
For gm users I would recommend looking at the 39dll for networking.
|
|
|
Logged
|
|
|
|
ink.inc
Guest
|
|
« Reply #18 on: January 17, 2011, 11:43:40 AM » |
|
For gm users I would recommend looking at the 39dll for networking.
Checking it out now.
|
|
|
Logged
|
|
|
|
Lon
|
|
« Reply #19 on: January 17, 2011, 12:30:42 PM » |
|
This thread looks to be very helpful.
I don't know much about developing networked games, but I do have a suggestion/concern. Perhaps games requiring use of some ports to be standardized (all using the same port number) or configurable (can change the port number to what ever the player/host desires), that way players don't have to forward a different port for each game on their router.
|
|
|
Logged
|
“We all sorely complain of the shortness of time, and yet have much more than we know what to do with. Our lives are either spent in doing nothing at all, or in doing nothing to the purpose, or in doing nothing that we ought to do..." -Seneca
|
|
|
|