Jump to content
  • Advertisement
Sign in to follow this  
Dreddnafious Maelstrom

Please help identify the benchmark MMO-FPS

This topic is 4890 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hey guys, im researching the concept of an MMO that is twitch based instead of stats based, and im curious for your input. To the best of my knowledge, SOE's PLanetside is the closest commercial title to use such an arrangement. my problems with planetside are many, the actual stability of the game isnt aweful but the delivery creates several networked based problems(stutters, mis-hits based on CSD), the actual game mechanic is also geared to nullify user skill. Instead they use a watered down version where just about anyone can kill anyone else so long as they are paying attention. for example in most twitch based shooters i can kill 5 or 6 or even 7 people in the space of a few seconds without being killed. In planetside, if 1 skilled player meets another unskilled player and they both shoot in the appropriate direction, the skilled player might win after having lost roughly 50% of their health, barring healing or repair this creates a state where skill truly means less, as the next such encounter results in that players death. Perhaps this design choice was meant to make balancing easier, as the player skill is generally the unknown in the equation, but when teamed with the other network blackeyes i cant help but think the design was choosen to mitigate the "looseness" of the update time. whereby the server as authority honestly doesnt know who shot who first or where.(or at least doesnt know in a timely enough manner to maintain the illusion of liquidity) The finest of the FPS's appear to limit the number of players to 30 or 40 people . In these you'll typically find so accurate an approximation that people who say otherwise are quickly labelled "whiners". Long story short, is an FPS containing (lets say) 500 people in a single zone(map, instance, whichever terminology makes the most sense to you) possible, and is it possible in a way other than planetsides "watering down" of the player skill? if so, what are some examples that fit in this description?

Share this post


Link to post
Share on other sites
Advertisement
The 'skill' behind most of fps games is 80 % reactions, speed and accuracy.
The other 20% is often knowledge of the environment/physics and planning.
Your question sounds to me like 'what can I do to increase the skill gap?'.

You could make weapons more deadly, like UT's instagib. It requires so much speed and accuracy that 'Newbs' are bound to die, but these skills are learnt pretty quickly. So you can't really do this to increase the skill gap for a mmo - because its supposed to be played for a long amount of time.

So you have to increase the other 20% - make it so there are lots of nuances to be learnt and have complex interactions between things so people will figure out what is the best and what isn't.
Maybe a good example is chess - a new player knows how each piece acts initially, but he doesn't know long range tactics or how to use the pieces together effectivly.

I can't think of any good relevant computer game examples of this though ;/
Or how to apply it in a fpsmmo. I'll think about it.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Dreddnafious Maelstrom
Long story short, is an FPS containing (lets say) 500 people in a single zone(map, instance, whichever terminology makes the most sense to you) possible, and is it possible in a way other than planetsides "watering down" of the player skill?



Yes, but it requires a skilled server developer, and very few games companies have decent server developers (most have barely competent ones).

If you devote time and effort to learning the skills of a network developer and those of a server dev, you could implement this yourself. Might take you years, though.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by Dreddnafious Maelstrom
Long story short, is an FPS containing (lets say) 500 people in a single zone(map, instance, whichever terminology makes the most sense to you) possible, and is it possible in a way other than planetsides "watering down" of the player skill?



Yes, but it requires a skilled server developer, and very few games companies have decent server developers (most have barely competent ones).

If you devote time and effort to learning the skills of a network developer and those of a server dev, you could implement this yourself. Might take you years, though.



it's odd, but having read a lot of papers by self-proclaimed experts in the field, this is the same impression i get. how is it that AAA title games are so stagnant in the network code area? (if this impression is true)

and if this impression IS true, is the lag between what is possible and what is generally implemented similar to the lag between what some of the better engine programmers here are doing and what a AAA title is releasing or is it even greater?


As to taking years to become a skilled server developer, sounds about right. I began using DirectPlay and found it simple, and then of course it became deprecated and i found out how interesting sockets programming can be. Long story short, i still have more 3d engines written than servers, but there is something addictive about socket programming as well. :)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Dreddnafious Maelstrom
Quote:
Original post by Anonymous Poster
Yes, but it requires a skilled server developer, and very few games companies have decent server developers (most have barely competent ones).


it's odd, but having read a lot of papers by self-proclaimed experts in the field, this is the same impression i get. how is it that AAA title games are so stagnant in the network code area? (if this impression is true)

and if this impression IS true, is the lag between what is possible and what is generally implemented similar to the lag between what some of the better engine programmers here are doing and what a AAA title is releasing or is it even greater?


Partly because there's no books. Which is partly why I started one specifically on "Design and implementing game servers" (and not a single word about lobbies and crap like that that only VB-programming execs should need a book for).

Until I got snapped up for a top-secret online game project which is due to launch in the next few months :(. I'm hoping to get back to the book this summer, once the game has launched and bedded down.

I think the main problems are:
- lack of collated information
- lack of good teachers (lots of idiots trying to make a fast buck by preaching without knowing what they're talking about)
- lack of industry "names" who grok networking (no equivalent to Carmack for 3D engines) and promote the latest and best techniques / implicitly challenge others to keep up with them
- total fuck-wittedness by the agencies (really; lots think any network skills are "bad" and will make it "harder to get a job" because it "shows you're from a business bakground; we recommend you remove that from your CV")
- major laziness by the studios (refuse to hire in specialists who actually know how to do this stuff, and instead take on graduates, give them some books, and expect them to turn round 5 minutes later and say "Whoa. I 'know' networking".

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
This is all true but there are some examples of good networking architectures out there. Look at the Tourque Network Library for example. There are several reason why compaines/people keep their secrets.

a)Network arch. is intimately tied to the engines internals. That is there isn't a portable method in which you could release the network code without releasing detail implenetational issues of the engine itself. Some compaines may not see it as worth the effort/risk.

b)Competitive advantage. Creating a robust realtime network arch. for a game like UT for example, took years. You wouldn't want to release all that accumulated knowledge and effort without some return.

As for the original posters question. From the looks of it the network bandwidth for supporting 500 players is already achiveable.

Using standard CS bandwidth measure (~5KB/Player) : can be gotten from this paper

www.cse.ogi.edu/sysl/projects/cstrike/imw2002.pdf

500 x ~5KB/S = ~2500KB/S = ~2.44 MB/S

It's more the actually building a capable engine supporting 500 active players moving across the world interacting which is the problem. From a per player CPU standpoint, FPS games spend way too much CPU to make it realisitic given the current technology. It just isn't scalable.

If someone was to do a game like this, it would have to be a reworking of the entire engine with regards to highly efficient player logic/simluation code. If you add bots, that's going to further decrease the available CPU for the players.

It might be possible to design some sort of cluster which could distribute the logic similar to how the MMORPG do it, but special consideration has to be taken into account the latency involved.

Well Good Luck!

-ddn

Share this post


Link to post
Share on other sites
A properly designed network architecture should easily be able to handle an action game with 500 players. I don't even think it would be a stretch to fit all of them on the same physical CPU.

For reference, right before we shipped Tribes 2 at Dynamix we did some test games with 100 human players on a 1.4 GHz Pentium 4 that didn't even max out the CPU. Bandwidth per client was fixed at 3 kbytes downstream, which was plenty to present a smooth, consistent world view to the clients, continuously updating dozens of the most relevant objects for those clients.

After we wrote Tribes 1, Tim Gift wrote an article describing http://www.garagegames.com/articles/networking1/ everything we'd learned about network programming up to that point. It's a little bit out of date at this point, but it explains some of our methodology up to that point. Last year we released as open source (also available under closed source licenses) a much updated version of the networking technology totally divorced from the rest of the engine as the Torque Network Library. You can read the doco and info at http://www.opentnl.org. TNL, from a networking perspective, should definitely be able to handle the type of game you're talking about.

Share this post


Link to post
Share on other sites
Quote:
I don't even think it would be a stretch to fit all of them on the same physical CPU.


The question is how expensive your simulation (physics) is, not how expensive your networking is :-)

Share this post


Link to post
Share on other sites
Quote:
Original post by hplus0603
The question is how expensive your simulation (physics) is, not how expensive your networking is :-)


In the Tribes 2 case the 100 player game had player physics, projectiles, complex vehicles (hover-tanks), etc. -- not totally a worst-case, but close, considering even today's gaming landscape. Also, if you make poor algorithmic choices in your networking it CAN be the most expensive part as it scales up in # of players :)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Scaling the players up doesn't scale the CPU usage linearly, if anything, without increasing the size of the world to keep the density of players down it would result in a gemoertic increase in CPU usage as playes being to interact more.

I've read the papers on Torques network model, it's quite impressive. Though I haven't played it, from the papers I can see that it sacficies accuracy to reduce the bandwidth, which is why I chose a game like CS to base the bandwidth measure on. CS in my opinion has one of the best and most accurate network model of the games I've played.

Actually reviewing the bandwidth usage, I would have to revise the estimate upwards as the number of players increase, so do the status updates for the additional players. Assuming that a 5KB there were 16 players on, each player had a contribution of 320 bytes/sec, so at 500 * 320b/s = 156 KB/s/player, with no spatial filtering or culling (as CS doesn't do this, or I've never seen it do it). With filtering and culling you can proably reduce that to 50%, or 78 KB/s/player ( a somewhat conserverative estimate I feel ).. The server would need to sustain an upload speed of ~38 Meg/sec, possible but now the servers bandwidth cost would be 100x the inital estimate ;(

Lets take markf bandwidth measure and see what we get. From the last post we can see that the player used 3Kb and updates dozens of objects. 3KB/24 = ~ 128 bytes/object. I assume by object we include players. The total percent of the 100 players acutally updated is like ~20%. Just scaling linearly, we get 15KB/player. Thats ~7.3 Megs/sec upload for the server n total. So depending what your gameplay is like, and how accurate you want it to be, the game proably will fall between those 2 spectrums.

From a cost analysis even with TNL numbers the cost of the servers bandwidth alone (not including matinence etc..) would proably not break even charging current MMO prices, IMO, unless some major reduction in bandwidth is done.

There really isn't a doubt that the game Maelstrom wants can be made, it's really a question of who is going to do it? Unfortunately Planetside wasn't a stellar sucesss, so the larger compaines may shy away from another MMOFPS game.

-ddn

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!