Pho: YOu did hear what they said about dm, right? after this doom dm level I think I'm gonna do another :) what what? Lee: I've heard very little Okay. I know it's not too net friendly oh yeah MP is restricted to four player max, synchronous. no co-op ;< Everyone must connect at once. Like old Doom that is pretty weak if you ask me The net code gets RAPED by the fact that everything's so complex. that's lame ZDoom you can do 8-player+ and people can join anytime damn i guess that means they really, really aren't focusing on deathmatch at all Hollow: Zdoom also uses a lot less net data Even with the id magic, it's still barely cable-capable with four players. time for the next cable modem to be invented then Sigh... is anyone applying LOGIC to this decision? We have massive levels with tons of objects that could be anywhere due to physics. indeed so? a lan could still take it We have servers that have to calculate per-poly collision and apply decals appropriately. well I hope Raven tweaks shit so Quake4 will have 16 player dm damn it XW: you have no idea how much load this actually is. I do There is just TOO MUCH that changes in the world to sync up spontaneously. I see 4 people fit on cable, though? I've seen just what Trespasser's engine did to the fastest CPU's at the time, and that was the first "physics" engine there was By the time you send all the changes... well, it's all changed. when they said barely 4 on cable.. is that a game hosted from a cablemodem? GOD, no. so thats 4 guys on cablemodem playing on a T1 or something Most likely. * Demonwench stumbles over to the couch and crashes on it they should have just suped up the q3 engine higher poly models, bump-mapping... With any luck, optimization might improve this, but this is how Doom's own MP will have to go. well, if 4 fit on a lan, I don't see why it couldn't scale out with a lower latency and higher bandwidht connection like ethernet ah fuck it I dunno what I'm talking about ;< Hollow: It doesn't work that way. It's a shame most of this can't be handled client-side with only certain things transmitted just predict the hell out of coop The only way to get anything near this performance is to design teh entire engine for it. Phoenix: that's effectively what synchronous connections will do. Wewp! Every client is handling the game. xwred: You're not seeing the sheer AMOUNT of info we're sending * Renalicious has work todo on monday :D ren has a job??? Ya Lee: I have to cackle at this... this IS peer-to-peer all over again woo! we lagged out a LAN with the flamethrower in gen ConfusedUs: I am seeing it. yet it magically fits onto a cablemodem. Why would it not follow that something with alot more bandwidth couldn't really handle alot more data? It's kinda of a "job" thing heh hehehe that was ONE gun XW: Because it's PROCESSOR intensive as well. we're talking a LOT more stuff than that. xwred: It has to do with 2 things: Amount of data, and how fast it's sent remember, computers have to do everything in SEQUENCE Working for Threewave so their is a deeply ingrained design limit that caps everything at 4 players, and past that things just can't scale period? NO. So if you send a lot of data about 1 thing, then send data about lots of things, then send it to multiple destinations.... Absolutely not. However, real-world performance shows that things fall TO SHIT with more than 4 players. So it multiplies exponentially ok remember, 4 players = 1/4 bandwidth sigh I gotta crash and you have to cram EVERYTHING into that little 1/4 of your bandwidth so bandwidth isn't the problem with the 4 player limit? up in 5 hours Bandwith for four players = 3+2+1. [Away] Duration:(4 Hours and 1 Second) Reason: (sl33p) -!-(Krazy-IRC 2001)-!- Bandwidth for eight players = 8+7+6+5+4+3+2+1. xwred: its PARTIALY the problem...but combined with hardware limits....4 players is about all it can handle That's 6 versus 46. we're talking a game that most people are planning on buy WHOLE NEW SYSTEMS to play on I'm just using handshake math here. it's not gonna be dependant on whoever has the slowest computer like doom1/2 were tho right? If the entire game was predicted locally with minimal data sent, it would be possible to host more people. Whoops, off by eight. 35 versus 6. But that kind of prediction causes MASSIVE synchronization problems Phoenix: "Predicted" doesn't help. night con! so the game server is gonna need like a top of the line p4 to just host 4 people? hehe Exactly. Sync problems go through the roof. gnite Gnight Con I walk into a room and spot you. You've been shot 32 times; every bullet is visible. have a good day tomorra --- ConfusedUs is now known as SeeConSleep|SleepConSleep If I wasn't synced with you the entire time you fought outside my view... It gets ugly to "update" that. and we would be desynced because of lack of bandwidth? it'd be cool to lan with Which is why we decided with Gen not to do "unlagged" style hitscan XW: The world of D3 is so complex that it has to be synchronous. Problem with sync is that bandwidth increases exponentially with players. It's not fun to get yanked back around a wall when you're 30 feet down the hallway because some 600 pinger lag-shot you Phoenix: Painberry put it best. with sanity checking you can reduce that but even then unlagged causes problems antilag just shifts the punishment of ping from the modem-users to the LPBs. yup I just fail to see why you can't just throw more bandwidth at the problem, since that seems to be the bottleneck actually modem users still have problems with it Instead of the modem user pulling the trigger and the target moving, now the target gets hit when he should be safe. I mean, 100mbit ethernet is 66x faster than my cable yup XW: No internet access is 100mb. it just kinda makes it less pronounced at the expense of nasty issues And PROCESSOR time is the major bottleneck. I just read through all the D3 networking stuff and that's damn interesting info LeeMon-SLEEP: I never suggested internet. I was thinking of lans from the beginning. And there is 100mb net access, just not many people have it. red: ethernet can handle a lot of data, but the CPU also has to deal with every update from the other systems Phoenix: people will get faster hardware if its a problem, I'm sure Which, as I showed, gets big fast. You can put things on a freaking GIGABIT network, but the CPU is going to bottleneck red, Doom 3 is going to tax the FASTEST stuff as it is And do you think they're running their own servers on Cyrix processors? really DM/multiplayer has different requirements They're testing this on CPUs that aren't OUT yet and they're still adamant about this. DOOM3 will be a badass single player game When they say 4 player sync, that's what BRAND NEW computers will be able to handle when it comes out. Phoenix: gigabit is alot less than the bandwidth of the cpu itself, i'm sure people could take it. I can't imagine just 1 more guy in a room you can't see is going to pound your system into the ground when it is fine without that guy. xwred: you're forgetting the cpu is already loaded from YOUR game as well plus 3x updates XW: it is when he has multiple bullet holes on him, and you have to define each one by the exact poly on those complex models that the shot is located. and you can see how it will overload but it still must be insignificant to the game world Phoenix: minimum transmission length to indicate poly on a 5000+ poly character? i mean, the load of the game world, the map and all the inanimate objects must be alot worse than just from another play model depends, are we snapping to integers or sending full floating point? I'm getting 1K per bullet hole. 8000 bits to work with. Well, 8096. Kay Thanks for noticeing ;D well a vec3_t is an array 3 of float So, say 20 bullets... that's 20KB that must be sent in 1/10th to 1/30th of a second. this is why whenever I mention making a multiplayer mod for a game and people are like "wait for DOOM3" I roll my eyes that's snapped to an array 3 int for network each is still 16 bits Guess no one noticed lol In addition to any extra transmissions, like his animation movement, weapon fire, etc. that's just origin alone !ren props Renalicious Mad props to Renalicious from Renalicious !! J00 = t3h uberwin! LeeMon-SLEEP: but surely there'd be alot more random bullets on the wall in a map than on a player model red, it's all numbers fuck maybe I will wait til quake4 or maybe some other multiplayer game comes out before I get a new computer... a location is a location is a location XW: which makes it WORSE! YOu have to transmit those as well... also with per-poly. ok, well, when doom3 comes out I will be very interested to watch my bandwidth usage when another play joins the game plus you have entitystate information where is it, what is it doing, what kind of thing is it, etc then it has to interact with the world quake4 uses the same engine...so I'm wondering how they're going to deal with this THAT is what's going to lag This is why I designed a singleplayer DOOM TC first and a multiplayer mod second. if they're going to just simplify interaction ni multiplayer Vor: Simple: multiplayer will be a less complex game. a bullet hitting a box, spinning it knocking it off the floor and down some stairs couldn't a bullet hit that doesn't hit something important like another player model just be client-side ? while a demon is crashing through a glass wall and attacking someone elss i just find it unimaginable that they can tax the best computer with the fattest lan bandwidth just by putting more than 3 other players in a game and playing around each glass shard a separate entity red, you remember what the EArth napalm launcher in 99a used to do? yea X: you belittle everything there is about DOOM 3 by saying "just playing around." playing around meaning deathmatching and not standing idle that was only transmitting 40 entities/second and that's AFTER being delta compressed imagine 400 or MORE entities per second with FULL FLOATING POINT DATA sounds unplayable how can they network the game at all and twice the amount of data within the struct I just posed a situation to you that could require a transmission of 20KB (that's 160Megabit) in 1/10 second. Can your connection do 1,600 megabit? <-- NixPOSW has quit (Ping timeout) 20kb is not 160megabit jesus christ why are the making a single player game now after 5 multiplayer games ;< And that's in my dream-world math, fully optimized without real-world concerns. I said KiloBYTE. transmission of 20KB (that's 160Megabit) 20KB * 10 (remember, 1/10 sec) = 200KB/Second = 1,600megaBIT/sec. ok, so, 4 players fits on a cablemodem and its playable right? and it can't go up because it is limited by the computers playing the game? or because of bandwidth? No. I just told you ONE event that takes 1.6Megabit. ok That's not even one PLAYER's total events. That's just him showing up. That's not his weapon, his movement, his animations... Not to mention the movement of the level, the door, or the 20 boxes in the room with him. well, how does this game play over a cablemodem with 4 people then? if it is so intense Alright, let's put it this way. I can see only 1 way Doom 3 could become multiplayer friendly. Just one, single transmission, 1.6Mb/s. First: You gut the single-player side. No complex physics, no monsters. Because these guys are freaking geniuses. Second... You reduce the world interactions to Quake 3 levels however, the BEST they could do realistically only works with about 4 players IF everyone starts at the same time. Third: you chopshop the playerstate and weapons transmissions let's say you start a 2 player game and one person walks 64 units forward what's the (bandwith) damage on that? And what are you left with? (surprise) QUAKE 3!!!! Hollow: walking forward doesn't fit my math; that's a vector. well you don't really need the complex physics in deathmatch and nobody would be playing with monsters... Lee: it also requires playerstate changes animation, footsteps, etc damn Hollow: Why not just play Resurgence then for Doom-style coop? I'm just showing you guys how, by all regards, DOOM3 shouldn't be network capable period. To have ANY multiplayer Internet support is a major achievement in coding. [/pimp] i just don't see why, if they cant cram so much stuff through a cable connection, why they can't fit more into something that is 66x bigger if they can cram, that is red, it's not 66x bugger X: what processor do you have? it's 66th POWER bigger LeeMon-SLEEP: dual athmp 1.2 okay...i'm about to fall over... i'm off to bed Get some rest DW me too X: Why can't you stick eight processors in that system? Phoenix: 100mbit/1.5mbit = 66.6 <-- Vorlonesque has quit (Quit: Leaving) night all see ye tomorra so if one person fires 1 bullet from his pistol and it hits the wall how much bandwidth would that take eeerrr...later today... Why can't you put 2GB memory sticks in the system? LeeMon-SLEEP: because I only have 2 processor sockets. I see where you are going. And people still make efficient 8 way systems, they just have complex bus systems Why can't you connect 16 hard drives? you can get cables for it. Depends, I don't know how big their struct is for a bullet function <-- Demonwench has quit (Quit: ) LeeMon-SLEEP: I can connect 16 hard drives Why can't you plug in 200 USB devices to one chain? because usb is only designed for 127 It's called: limitations Why can't I plug a USB camera in to my PS/2 mouse port with that little green adapter? The world is full of them :) Why can't you play Quake 3 on an 8086? Why can't I get a great ping to Afghanistan? Do I need to upgrade my network? So john carmack, being the visionary of future tech as he was, limited Doom3 to 4 players? Maybe a T3 can get a sub-100 ping to the other side of the world, eh? because he knew no networking tech would ever surpass a cable modem? red: Actually it's kind of a good decision Think about it Or maybe there's another factor. X: I've told you repeatedly. Quake 3's shelflife was just extended THIS ENGINE HAS NO HARD-CODED LIMITATIONS. then why did you start talking about limitations --> sr-PoK|Sy (sykoillusi@24-158-39-21.charternc.net) has joined #wirehead Because the HARDDWARE is limited --- Tabbot gives voice to sr-PoK|Sy Polycount, lights, network bandwidth... it's all left open-ended in the engine. Because it's completely limited by PHYSICAL limitations. And bandwidth is only ONE of those limits, dammit! Basically Carmack codes the software faster than the hardware people can catch up look. if the bottleneck is the network, why can't you blow it open by a factor of 66x and cram 2x more data through it than you were doing before? I haven't seen that explained to me. if the bottleneck isn't the network, then I am somewhat willing to concede he's ALWAYS done that Quake snailed my 486 Quake 2 ate my Cyrix 133 for breakfast BECAUSE THE NETWORK ISN"T THE FRIGGIN BOTTLENECK!!!!!! <-- sr-PoK`Sy has quit (Write Error: Connection reset by peer) If you make the network faster, every OTHER problem with the engine being too complex does NOT GO AWAY. --- sr-PoK|Sy is now known as sr-PoK`Sy Simply put, it's like taking on a zerg horde (data) with a freaking KNIFE One question: what if the actual map would be a good old simple cube map with nothing fancy. Would that make networking easier? there's just too much damned data LISTEN. This is PING limited, NOT bandwidth. Faster connections have NO less ping. This is limited by TOTAL REAL-WORLD ping, which includes your computer's processing time and the friggin' speed of light. THAT, frankly, is the limit you can't seem to grasp. a cpu can only crunch so many numbers at a time, and has to do it in order Hell, Q3 has an added 50ms ping you don't even know about. * Phoenix notices... The engine itself adds 50ms to EVERY transmission. so if we all had hard drives/ram bandwidth that was as fast as the speed of light we could play more than 4 player Doom3 then... Lee: that's why rockets go through walls at times. ;p Hollow: probably :) Comp is relocation to 3w HQ monday, so RenAI will be a lot more of a presence ;D I guess I'll be waiting awhile for that computer Yeah, and I could have that 50ms ping to Afghanistan. But it's not happening. Even if you could ping fast enough if the data stringfor a snapshot is VERY long LeeMon-SLEEP: ok, its latency. I didn't know that, I thought it was bandwidth all this time. No, we tried telling you it was several factors, but you wouldn't shut up about network bandwidth, so I had to pull out a greater network limiting factor. I didn't see you mention ping If you have 400 entities with complex data sets, updating every 50 ms, how much data is that? maybe Carmack will think up some miracle that gets around the physical/logical laws Then add in 3 more computers It's DIRECTLY tied into the processing issues we were talking about... in fact, it's another way of wording the same damn problem. But you wouldn't give it up that throwing more bandwidth would solve things. well, because you made it look like bandwidth was the bottleneck It's #1. This is #1.1. ok That's why killing it doesn't improve a damn thing. ;^) All this is irrelevant. The point is: Carmack does know what he's doing, he INVENTED multiplayer gaming for Christ's sake. He wrote Doom 3, he knows the hardware out and what it can/cannot do. I guess. How do you guys know what he is doing? Did he go over all this at qcon? If it were feasible to get Q3-grade multiplayer in Doom 3, red, don't you think they would have? Doom 3 is doing now what Doom did originally: Pushing the envelope to the next level. Phoenix: when they first said "not focussing on multiplayer", I figured it meant they'd throw in dm and a few maps and keep going on single player Synchronous is the only way to keep track of this much information. Unfortunately, in a sync situation, your network latency plus your computer's processing latency must be less than the acceptable "framerate" for action in the game. Yet another reason why D3 is slower. No, basically Carmack decided "Enough's enough, the hardware world isn't moving fast enough for my tastes, so I'm going to blow people's minds with this and push things to where I want them again" * Phoenix cackles But if he did wouldn't he taunt everyone with a 16-player cap that would grind everyone's computers into the dust? or 8-player even Red: you don't get it. 4 players WILL Grind your computer into dust. Notice how we haven't seen TWO players? See Doom See Doom run Run Doom Run (lagggggggggggggggggggg) DOOM3.EXE has caused kernel fault in executable RUNDLL32.dll Run, Doomed, Run Okay. BED! TO BED! yes go notice how we haven't seen more than a game in a theater? Before I kick you Lee. =) id should release a doom3 texture pack for Quake3 Hollow: they'd look like ASS in Q3. Lee: Go to bed. X: I don't know about you, but I've seen more. ;^P Others: Stop buggin' him. ;) ok oh well at least the dm would be good :) Generations Doom Hollow: trust me, the texture process (right down to HOW you draw it) is completely different. I'm not looking forward to all the skills I JUST figured out being worthless. Lee: I'm going to temporarily ban you if you DON'T GO TO SLEEP! :) pfft. * LeeMon-SLEEP trudges off * Phoenix cackles