1 2 3 4 Previous Next 276 Replies Latest reply: Sep 28, 2012 8:02 AM by nflfenatic Go to original post RSS
  • 10. Re: Optimizing your connection on the Xbox - The Elagaphant strikes back
    maccabi

     

     


    Stuff that comes up in discussions


    I'm going to use this section to link interesting stuff to reference to help people understand how games work. One thing I've noticed since my time on these and the blops forums is the amount of misconceptions and general lack of knowledge when it comes to games and what goes into making a game.

     

    Depending on the subject i'll either explain it myself or just be a complete slacker and link to what i consider is a good factual article (ie better written than my stuff )

     

     

     

    Lag compensation

    The first one is the much maligned and blamed Lag compensation, having trawled through the net the best and least technical article I could find comes from wikipedia. To be honest this article covers about basically everything worth knowing.

     

    wikipedia's article on lag compensation.

     

     

    Gentlemen/women ...start your "game" engines.

    You know recently I've noticed alot of comments and posts about the magical gubbins that makes the games run, the humble and often misunderstood game engine. So pull up a chair and be prepared to ohhh and ahh as I explain why your CoD game has stuff in it made almost 15 yrs ago, and more importantly why that doesn't matter one iota.

     

    A little bit of history first...

    So back in the early days of "gaming" 1996 to be exact, probably the single most important leap forward/development happened, ID software released Quake on an unsuspecting world and it changed the world of gaming forever. Before Quake us early adopters to the constant nerdgasm that was multiplayer gaming, were restricted to stuff like playing Doom over a lan, or highly (at the time) exspensive options involving permium dial up services probably the most well known of these being dwango in the states (dail up wide area network game operation). Playing actually over the internet was something that just didnt really happen, past strange text based multi user dungeons (MUDS) on bulletin boards filled with the geekiest of geeks from the D&D world.

     

    Then Quake appeared bringing with it this entirely new strange concept called the client/server architecture, suddenly we had the ability to turn our pcs into servers and run games, alot of people hated it. Ironically if you look back at some of the comments comming out of the industry at the time directed at ID software you see comments like "it will never catch on", "people wont want to connect to strangers". But these 20 odd people at ID who most people thought were actually crazy had just laid the groundwork for every single online game that came afterwards. Theres a lot of confusion about the actual origins of the id tech engine, depending what history you read it was either planned, an accident so im not going to concentrate on that aspect if you're interested in actually finding out more just search on the interwebz for quake, or id software history.i will add a little list at the end of stuff that can be attributed back to quake.

     

    So how does a game and an engine (id tech) first conceived 15 years ago matter today?, well for starters somewhere deep in the heart of the engine thats running and powering mw3 and previous cod games is bits of code first written all those many years back. Where i think alot of people misunderstand game engines is here, its hard to understand how something written 15 yrs ago on antique computers can be as good as something written nowadays.

     

    First off the basics of the internet havent really changed that much, we still think and use the same parameters online as we did when having a 56k dail up was considered fast, The client/server system developed for quake still works as well now as it did then. Its actually a testamount to the original ID team that they really nailed it on the first go and more importantly the licensed the technology out to the world and said here you go guys" theres the tools make something awesome"

     

    What a game engine basically is, is a load of components that when given the right data turn into what we see on our screens, the engine itself has components that include stuff like - graphics (rendering), in game physics, lighting, networking, memory allocation. These components are all reusable and can be built apon and changed as new technologies emerge or in the case of say graphics new cards with new features appear. It is alot more economical for a dev team to develop games this way than to basically build an engine from scratch, and one of the reasons why there is actually so few game engines out their, and an even smaller number that dont at some point in their history trace back to the humble quake engine. Nowadays with so many platforms for games it is also alot easier for devs to use middleware solutions as it saves months of unnessacary work when you have an engine that can be altered to various platforms.

     

    It really bugs me when I see comments especially on these forums that say something along the lines of "this game is run on stuff 15 yrs old it sucks" or this game uses a modified 15yr year old engine... So what?... the car you drive to work (or in some cases the car your mom drives you to school in) has an engine that contains parts concieved nearly a hundred years ago, the difference is how those bits have been altered and tweaked to produce the car engines we see nowadays. the same is true for game engines. Both the major CoD devs have taken what was the id tech 3 engine now renamed the iw4 engine and modified it for their particular games mechanics, both have added stuff that pertained to the franchises trademark aspects. The fact at its very core is some 15 yr old components and code is by the by.Although i will add technically now the engine in cod is not the licensed propriotity engine that previous games were run off as its been modified so much it no longer counts as a id tech

     

    its what they do with it that counts. So next time you want to slate the game for its "antiquated engine" just stop and think about it, you wouldnt say "im not driving this years model of x car as its made with stuff invented in the early 1900's would you?"

     

     

     

     

    The list of stuff that we take for granted nowadays with online gaming can all can be traced back to Quakes and its engines front door.

    • Online play and the know-how to connect people with different latencies and connections together
    • Client/server model
    • Actual 3d graphics
    • The term camper yes folks they invented online play and the first thing that happened was some little dweeb got a sniper rifle and camped.
    • The modding scene (the good modding scene not the bad send me 12000 ms and ill make you 10th prestige scene)
    • Clans as quake introduced the the concept of team play.
    • Slightly more indirectly born out of a need for, rather than a design feature, services that allowed you to find servers and connect to people, Originally to connect to a quake server you needed to manually enter an ip address usually found posted on some bulletin board. This changed when a few guys came up with a system that you may know better nowadays as gamespy.
    • The main control method for pc gaming of using the keyboard/mouse combo..yep that was Quake.
    • Every major fps that came afterwards owes its origins to the humble little engine that powered Quake.
    • Due to the modding scene that sprung up as a result of Quake, suddenly Devs were finding that groups of bedroom coders were producing innovative and exciting new "mods" and the true what I consider golden age of the fps started. Games like Counter strike, Team fortress appeared during this period. Nowadays alot of the dev teams who work on games especially CoD have staff who came not from a few years of some college course in game design  but through getting known in the modding community, be it in map design, total recodes or the tons of additional stuff that made gaming fun.
    • and most importantly the building blocks to create what nowadays are multi million selling fps games.

     

     

    UDP- why sometimes what is the worst on paper is the best in practice

     

    You have probably all seen comments on posts mentioning UDP packets (mostly from me probably) and i'm sure theres a few of you wondering what the freaking hell that idiot is talking about now, so with that in mind heres a everything you need to know  about UDP and why it sucks and why we also need it for fps games over the internet.

     

    UDP stands for user datagram protocol it is one of the types of sockets programmers use to send and recieve data over the interwebz. Im sure most of you have seen the term TCP/IP this is also a type of socket used to get computers talking to each other.., to understand UDP and why it both sucks and is the best protocol for fps games online  it might be an idea to briefly explain what these two protocol do and what they do differently.

     

    TCP stands for transmission control protocol and IP stands for Internet protocol, together this 5 letter acronym makes up the backbone of you would call the interwebz, nearly everything you do online is done via TCP/IP, from web browsing, to emails roughly 80% of internet traffic is tcp/ip whereas real time data transfer in gaming and say video streaming for audio or video calls is mostly udp  , you may notice i said nearly everything,as one major exception to this is online gaming more specifically fps games....now i know theres going to be some geek jumping up and down at the moment screaming not true not true x game uses TCP/IP and yes that is true and i will explain what type of games later on so hold your horses there buddy and sit back and let the rest of the class catch up

     

    So the best way to imagine TCP/IP is that its your friend who never lets you down, no matter what time of night you phone them asking for a lift home, when you send something via TCP it is sent nice and ordererly, in a well structured stream and would be crap at playing chinese whispers as what you send arrives the other end in the same order as you sent it. The IP part covers the actual protocols used in getting your packet from you to the host/server , what many of you might not know is the internet is actually quite magical in the way it sends infomation and can basically self repair itself and reroute packets and reorganise itself if one route is down or clogged up.

     

    now pay attention as there might be a test at the end here..

     

    lets say for example you send a message (we'll say message but really I mean game infomation ok)  via TCP/IP

    and the message contain the letters A B C D E F H I J,

    the TCP part will break that message down into handy sized packets of one letter each and add instructions to make sure they all arrive in the right order and arent lost on the way, the IP part will make sure they all arrive at the correct destination.The other benefit of TCP/IP is both the sender and reciever know when something is delivered or lost due to the infomation contained in the TCP part of the packet and you are basically making a direct connection between computers/consoles ect. got it? .

    you sent A B C D E F H I J  the host recieved A B C D E F H I J

     

     

    right onto UDP.......

     

    UDP in comparison is a clusterfug of luck and more of a wing and a prayer delivery system, this too sits above the IP protocol but unlike its smarter TCP cousin removes all the needless complexity added onto TCP packets that ensure correct delivery and delivery in the right order. its basically the window licker of packets ... when you send a UDP packet to a computer you send it off with nothing more than the ip address it is supposed to goto and the port number it is supposed to use to enter on the recieving computer.This is why it is vital you make sure you have the correct ports open for a game as they are the doorway these little UDP need to communicate.

     

    The problem with this method is the receiving computer (host) and you havent made a direct connection in fact the host is just sitting there twiddling their little microchip thumbs waiting for anything to arrive on the port it knows has been set up for UDP packets. This is why UDP is unreiliable as you never actually know if your packets arrive , and if they did wether they were in the correct  order or actually the same as when you sent them. From a purely personal observation and one that alot of the industry accepts and uses as a de facto number you can sort of say that with UDP you'll probably looking at around a 2-5% packet loss over the course of a transmission using UDP.

     

    so using our letter example for TCP earlier

    you send the message A B C D E F H I J  the majority of the time the host will get A B C D E F H I J

    but they might also get A B I C D E  J F G H  or even A B C  F H I J or even A B C D E F H I J A B C D E F H I J

     

    The only real pro with UDP is you know if you send a packet of a certian size that it will end up on the host the same size unfortunatly you also know that theres no guaruntee it will arrive at all.. which as im sure you worked out beggers the question why on earth would anyone with an ounce of sense use UDP for gaming?????,....well

     

    At this point I am going to try not to get too technical if anyone wants the more technical explanation ask and ill add one...

    TCP has OCD in the way it does things , to ensure relaibility it needs to perform certian checks , write itself little reminder notes, make a connection to the host, organise the stream of packets in such a way as it doesnt send too much or too little,constantly panics its lost something and perfroms reliability tests on the connection. basically if you were a TCP/IP packet you'd be sitting there constantly saying are we there yet? are we there yet?

     

    while this might not such a problem for certian types of games .. some well known mmpogs for example like world of warcraft happily run on TCP/IP or a mixture of TCP/IP and UDP  ( there geeks you can stop saying but...but...now )  this delay and constant checking and stashing away packets till its got a nice stream to send screws the hell out of twitch shooters where you need the fastest possible flow of infomation due to the real time requirements they need ie a players input a button press ect..

     

    to give you an idea what a tcp/ip run fps game would be like imagine your happily fragging your little heart out and then suddenly everything stops for a few ms, this would be as the host lost a packet and is now waiting for that packet to resent after it informed the player it lost the infomation.. this is different from lag but to the player would look the same a wierd blip wtf moment in your playing expereince.

     

    So although with UDP you have an unreliable delivery system and one that can mix everything up the gains you get in speed make up for its numerous failings.

     

    Then theres another problem if the UDP protocol wasnt crap to start with isps have recently decided to give it a paper cut and squirt lemon juice on the cut as they treat UDP packets like second class mail, there is two main reasons for this one as i said earlier is nearly everything you do online involves TCP/IP so isps make sure that traffic gets a nice easy route through their servers , the other problem is all the kids downloading using torrents (which also use UDP)  alot of ISP's especially in the uk deicded the best method to unclogg their services bandwidth from the dreaded torrent user was to use a sledgehammer to crack a nut and throttle back udp connections.. great for their bandwidth useless if your a gamer who relies on UDP packets to flow quickly.

     

    so why does any of this matter i mean flipping hell maccabi you just made me read that and i still dont have a freaking clue why i needed too..basically guys and gals and people of gender as yet undefined as your waiting for the op.... you may have the best internet money can buy, you might have optomised your network so well it is almost able to predict your movements its that fast.. you might be connected to a lobby where everyone has the lowest pings EVA!!!  but end of the day you are still reliant on our little short bus riding protocol of UDP,and as such regardless of how amazing awesome everything else is ....fraid your still gonna get the odd WTF! moment. This is done to the fact even with everything all rainbows and unicorns connection wise, a missed packet or a packet out of order is going to mess up the "buttery smooth " gameplay feel

     

    tis what us professionals call "thats da interwebz for you"  if you want to think of it this way.. TCP/IP is like using next day by 9am signed for delivery with defex, UDP is like giving standing on your front lawn giving someone the same packet and asking them to pass it onto someone going in the right direction and crossing your fingers it gets there

     

     

     

    Television- its like a magic box with pictures..

     

     

    ....And the one thing i know absolutely nothing about part putting the tv in game mode.. but just read this really good article about tvs and xbox on online on the offical xbox magazine site so thought i'd add it as a reference linky

     


    http://www.oxmonline.com/how-improve-your-tv-experience-xbox-360-cheap


     


     

     

     

     

     

     

     

     

     

     

     

     

     


     

     

     

     

     

    .

    click here to go back to index

  • 11. Re: Optimizing your connection on the Xbox - The Elagaphant strikes back
    otisman666

    Nice write up MAC,can't wait for the end result.

  • 12. Re: Optimizing your connection on the Xbox - The Elagaphant strikes back

    Mac im getting 404 when i try to click the link for namebench

  • 13. Optimizing your connection on the Xbox - The Elagaphant strikes back
    maccabi

    javiizsplitya wrote:

     

    Mac im getting 404 when i try to click the link for namebench

    sorry about that, the links fixed

  • 14. Optimizing your connection on the Xbox - The Elagaphant strikes back

    keeping this on the first page its important and some reason the forum is messed up

  • 15. The Elagaphant strikes back , Optimizing your connection on the Xbox
    vims1990

    Hey Mac,

     

    Got a question regarding MW3 taking up less host bandwidth. (stated in an interview with one the executive producer from IW)

     

    From what I've been told, MW3 will take up less bandwidth but if you remember "myevo8you" from the COD HQ forums, he had a different opinion on it:

     

    Less bandwidth required is HORRIBLE. This will lead to even WORSE host selection than now. This will lead to "packet dropping" hosts that will plague the game. For those that don't know what that is, heres a quick rundown. A person who has so-so internet will get picked for host because during pre-game lobby ping to all players will be good. Said player KNOWS he/she has host and INSTANTLY as the game starts will start downloading huge files over his internet connection to lag the players in the room. There are players that have multiple things running for an advantage such as this.

     

    http://www.callofduty.com/board/viewtopic.php?f=73&t=561374&sid=ib3s9biqni6kgf3u 4be4vfaou7

     

    What is your opinion on this?

  • 16. The Elagaphant strikes back , Optimizing your connection on the Xbox
    maccabi

    vims1990 wrote:

     

    Hey Mac,

     

    Got a question regarding MW3 taking up less host bandwidth. (stated in an interview with one the executive producer from IW)

     

    From what I've been told, MW3 will take up less bandwidth but if you remember "myevo8you" from the COD HQ forums, he had a different opinion on it:

     

    Less bandwidth required is HORRIBLE. This will lead to even WORSE host selection than now. This will lead to "packet dropping" hosts that will plague the game. For those that don't know what that is, heres a quick rundown. A person who has so-so internet will get picked for host because during pre-game lobby ping to all players will be good. Said player KNOWS he/she has host and INSTANTLY as the game starts will start downloading huge files over his internet connection to lag the players in the room. There are players that have multiple things running for an advantage such as this.

     

    http://www.callofduty.com/board/viewtopic.php?f=73&t=561374&sid=ib3s9biqni6kgf3u 4be4vfaou7

     

    What is your opinion on this?

    I actually answered that thread before seeing this freaky,,

     

    Erm short answer if you dont see my other one hes totally wrong, if the game requires less bandwidth that means smoother gameplay and a larger pool for potentially better hosts. But Imo judging by the amount of fluff they added and killstreaks ect I doubt very much it has reduced amount of game traffic to any noticable amount.

    Do you have a link for that interview I havent seen that one.

  • 17. The Elagaphant strikes back , Optimizing your connection on the Xbox
    vims1990

    Here you go:

     

    http://www.gamertagradio.com/new/2011/09/episode-307-interview-with-executive-pr oducer-mark-rubin-producer-jason-ades-about-modern-warfare-3-elite/

     

    - MW3 will have locale only (seach preferences) - watch from 9:30

     

    - MW3 will take up less bandwidth than previous COD's - watch from 23:16

  • 18. Optimizing your connection on the Xbox - The Elagaphant strikes back

    he doesnt say there is a locale only search preference. He says the matchmaking will be more location focused

  • 19. The Elagaphant strikes back , Optimizing your connection on the Xbox
    vims1990

    My mistake, it sounded like they had added in search preferences similar to Black Ops.

     

     

1 2 3 4 Previous Next