Client hosted game that seems lik an MMO

Started by
18 comments, last by hplus0603 11 years, 1 month ago

I don't have the resources to pay for dedicated servers(and I'd rather not deal with paying and managing them) but I was thinking about how a game could be client hosted while seeming like an MMO.

I was thinking of having a very large city with loading zones or checking areas in between to give an illusion of a seamless world. Players would remain in a holding area when a new playing area is loading. It's a futuristic game, so it could make sense. Each area would be hosted by the best suited player in that area(the guy with the best connection).

If no one is hosting an area, the first player to enter becomes the host. Although I think I'd just make players on a 56k modem go somewhere else, lol.

If an area is full I could spawn another instance of that area with anymore players entering that the first instance could not handle.

I'm not sure how I'll handle cheating attempts though, any ideas?. Any other criticisms of the design?

Advertisement

I just thought of something... instead of having a loading area where you'd mostly just sit there, I'd have a corridor the player walks through and is extended based on how long it takes connect/load. Could be filled with client generated NPCs that don't drop anything when killed, and are mostly just there as background noise.

If you want to prevent cheating youd need to gave multiple people simulate a single area (or just parts of it) to do sanity checks on the hosts simulation.

Another problem is that some people cant host at alk due to restrictions imposed by their NAT. Even to get some players able to host you need an offixial server to do NAT punchthrough (unless you require the players to do port forwarding...)

So youd most likely end up with only a part of the players able to host.

Maybe it would work better if you allowed people to set up actual servers themselves instead of treating clients aa servers. Perhaos give them in game advantages for doing so. But you still have the cheating problem and the whole thing feels very fragile and error prone.

o3o

I do some sanity checks on ther server atm, but player movement is mostly in control of the players.

Unity has a NAT punchthrough option when initializing a server so I hope no port forwarding has to happen.

I'm mostly concerned with players modifying thier character stats, and items.

If I can't use this idea I suppose I could try to get some money for dedicated servers from crowd funding.

I think another option would be to get it on steam, so players would be reluctant to cheat since they could get VAT banned.

You could buy one less package of smokes, or skip a Big Mac, and you should have enough for a cloud server :-)

But I like server-side way more any ways.

Sounds to me like you need the players to download a server and run it for them selves.

A bit like DotA via Garena?

From what I've read cloud servers are pretty laggy. Although I don't know a lot about how they work. I'm starting to lean away from this idea. There's just no way to prevent cheating with authority in the players hands.

I suppose I'll keep developing in hopes that I can get some crowd funding to acquire the hosting I need.

I think I can still use this idea, but with all authorized servers.

It boggles my mind how games can handle so many players. What kinda voodoo do they use to support more than a couple hundread players in an area.... Now that I think of it I don't think any game does support more than a couple hundred in an immediate area.

From what I've read cloud servers are pretty laggy

Which cloud servers, how laggy, under what circumstances? There are many cases where that statement could be true, and many more cases where that statement could be false. Specificity is great!

If your MMO is RPG-style and can get away with movement updates every half a second or less, that's a different situation than if you're playing Counter-Strike or Unreal Tournament.

Anyway, virtual worlds of various kinds with player-hosted or aggregate-majority servers have been researched for quite some time. You could look into Casey Muratori's article series on Gamasutra from 12 years ago, or you could look for the VAST peer-to-peer virtual world research project from the mid-2000s for examples.

The two main problems you have to solve are peer-to-peer connectivity (you need some kind of central server to "bootstrap" that mesh) and cheating (you may or may not care.)
enum Bool { True, False, FileNotFound };

I was actually thinking of letting players also play unofficial servers too. Where it would pretty much just be a death match since they couldn't modify any of their stats on authorized servers.

Players would be able to play these game with their lastest stats since they played on an official server.

This topic is closed to new replies.

Advertisement