oXI_Viper_IXo wrote: »Make the bridges and milegates indestructible again and get rid of the keep upgrading/downgrading system.
relentless_turnip wrote: »I agree, with what you are saying completely.
I think in terms of cyrodiil reducing group sizes and keeping just all buffs(i.e. heals etc...) only effective within groups would be helpful.
Also just growing on the degrading of armor, why not say epic(purple) and above is indestructable... this keeps an element of rp to the game or just remove armor degradation from all pvp zones. I believe at the moment some npc's cause degradation and other don't...
The way cp is calculated in cp campaigns is absolute drain on the server too. A lot could be done there I feel.
colossalvoids wrote: »Only first point makes sense and it's already started with wrathstone racials i guess, goals just shifted direction for now but it was discussed already. Bet it's tied closely with cp rework as it's probably main offender here. Same with bringing spell and phys defence (penetration probably on a list also, probably more in the future) to a one stat which should not only benefit diversity but will cut unnecessary stats from calculations.
Hire full time coders not just some "mercenaries", spend just a bit of what they earn on servers upgrades, you know the stuff that does work, not some shady fixes to some niche stuff - like we all know that both stuck in combat and increasing lags are connected to ball groups or in other words, large amount of players grouped in a tight space. Start with this. AoE skills cause exponential growth of calculations, they need to focus on this not on some ridiculous stuff. Issues we experience most are related to server side, our clients are responsible mostly for distribution of recieved data from servers where all calculations are done (to prevent cheating).
Here's a (probably extremely unpopular) suggestion: how about restricting pets and familiars in populated areas? Obviously, familiars are essential in combat, but they're certainly not needed when visiting a bank or while crafting writs; similarly, vanity pets are completely unnecessary in combat. And perhaps a restriction on duelling near wayshrines might also reduce lag in those areas?
For anyone who would like to be considerate to their fellow players, but don't want to have to mess around within their character menu, I recommend the Pet Dismiss addon for a simple key-bound dismissal.
RinaldoGandolphi wrote: »there is only ONE thing they need to do:
RE-WRITE THE GAMES NETCODE
That is where the bottleneck is. Their reliance on TCP is unfeasible for how the game is designed. I raised these concerns during the beta numerous times but it fell on deaf ears.
The problem is TCP requires every single packet or group of packets send to be ACK'ed, before the next packet is sent. All packets must be received in order. Any packet that is no received before the TTL value expires is assume to be lost and TCP will actually dial back(throttle the connection) and re-transmit. the times you see 999+ ping, the server simply can't respond to anymore packets so they are discarded. In most applications not being an online real-time game this would be ok, this happens everyday when your watching youtube videos, netflix, surfing the internet, etc...TCP is very resilient in this regard. In the case of ESO though this sorta stuff causes the problems we have today.
There is a reason TCP is no longer used in real-time combat games. Devs learned the hard way in the late 90's early 2000's that it just doesn't work.
They need to re-write the netcode in UDP and TCP should only be used as a control channel to authenicate your account, not for actual game play data.
When you got 50 people on screen, the game is sending TCP requests with location data, skill use, block status, weapon swap, damage numbers, resisitance, etc, etc...all these packets have to be Ack, this is where the overhead and bottleneck comes in.
With UDP, you have to do more of the heavy lifting yourself, BUT it doesn't require every packet to be delivered in order, packets that expire the TTL value are no big deal, as each packet contains all the updated information so no need to re-send, no need to Ack everything. You can write your own custom error handling into the code.
Nothing they do to the client will matter much because the client isn't the problem, the netcode is. As long as that netcode relies on TCP large scale stuff is never going to work right. The problems with the game are not related to framerate or hitching, its related to ping and latency and that is directly tied to their use of TCP.
I 100% guarantee you if they would just spend the money, hire someone to come in and re-write that netcode to UDP it would fix all their issues with Cyrodiil. You would see maybe a max ping of 150 and 30 fps during faction stacks for Emp at the games worse conditions which would be completely playable.
ESO is/was an ambitious project, in many ways the game was ahead of its time. TCP is holding it back though, TCP just doesn't work well for real-time combat games, all your real-time combat and FPS games moved away from TCP due to its limitations.
Furthermore, Zenimax owns the UDP Netcode written by John Carmack for Quake. So they already own the core code to make this happen. All they gotta do is hire someone to write the abstraction layers to put it on the server and client. Do this and watch performance increase 500% overnight.
"Quake uses the UDP Internet protocol as its networking backbone. A slightly older version of the commonly used TCP/IP protocol, UDP offers several advantages for game play. With UDP, each packet is transmitted one time, but there is some packet loss associated with the protocol. Conversely, TCP/IP retransmits packets to ensure reliability -- a key consideration in mission-critical networking. What UDP lacks in reliability, it gains in performance, which is certainly a major issue for gamers. With a lot of packet loss on the network, UDP is more effective for game play because it does not try to resend stale data.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-archive/master/by_day/johnc_plan_19960802.txt
https://www.gamasutra.com/view/news/197460/How_Quake_came_to_one_of_the_worlds_first_online_game_services.php
RinaldoGandolphi wrote: »there is only ONE thing they need to do:
RE-WRITE THE GAMES NETCODE
That is where the bottleneck is. Their reliance on TCP is unfeasible for how the game is designed. I raised these concerns during the beta numerous times but it fell on deaf ears.
The problem is TCP requires every single packet or group of packets send to be ACK'ed, before the next packet is sent. All packets must be received in order. Any packet that is no received before the TTL value expires is assume to be lost and TCP will actually dial back(throttle the connection) and re-transmit. the times you see 999+ ping, the server simply can't respond to anymore packets so they are discarded. In most applications not being an online real-time game this would be ok, this happens everyday when your watching youtube videos, netflix, surfing the internet, etc...TCP is very resilient in this regard. In the case of ESO though this sorta stuff causes the problems we have today.
There is a reason TCP is no longer used in real-time combat games. Devs learned the hard way in the late 90's early 2000's that it just doesn't work.
They need to re-write the netcode in UDP and TCP should only be used as a control channel to authenicate your account, not for actual game play data.
When you got 50 people on screen, the game is sending TCP requests with location data, skill use, block status, weapon swap, damage numbers, resisitance, etc, etc...all these packets have to be Ack, this is where the overhead and bottleneck comes in.
With UDP, you have to do more of the heavy lifting yourself, BUT it doesn't require every packet to be delivered in order, packets that expire the TTL value are no big deal, as each packet contains all the updated information so no need to re-send, no need to Ack everything. You can write your own custom error handling into the code.
Nothing they do to the client will matter much because the client isn't the problem, the netcode is. As long as that netcode relies on TCP large scale stuff is never going to work right. The problems with the game are not related to framerate or hitching, its related to ping and latency and that is directly tied to their use of TCP.
I 100% guarantee you if they would just spend the money, hire someone to come in and re-write that netcode to UDP it would fix all their issues with Cyrodiil. You would see maybe a max ping of 150 and 30 fps during faction stacks for Emp at the games worse conditions which would be completely playable.
ESO is/was an ambitious project, in many ways the game was ahead of its time. TCP is holding it back though, TCP just doesn't work well for real-time combat games, all your real-time combat and FPS games moved away from TCP due to its limitations.
Furthermore, Zenimax owns the UDP Netcode written by John Carmack for Quake. So they already own the core code to make this happen. All they gotta do is hire someone to write the abstraction layers to put it on the server and client. Do this and watch performance increase 500% overnight.
"Quake uses the UDP Internet protocol as its networking backbone. A slightly older version of the commonly used TCP/IP protocol, UDP offers several advantages for game play. With UDP, each packet is transmitted one time, but there is some packet loss associated with the protocol. Conversely, TCP/IP retransmits packets to ensure reliability -- a key consideration in mission-critical networking. What UDP lacks in reliability, it gains in performance, which is certainly a major issue for gamers. With a lot of packet loss on the network, UDP is more effective for game play because it does not try to resend stale data.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-archive/master/by_day/johnc_plan_19960802.txt
https://www.gamasutra.com/view/news/197460/How_Quake_came_to_one_of_the_worlds_first_online_game_services.php
RinaldoGandolphi wrote: »there is only ONE thing they need to do:
RE-WRITE THE GAMES NETCODE
That is where the bottleneck is. Their reliance on TCP is unfeasible for how the game is designed. I raised these concerns during the beta numerous times but it fell on deaf ears.
The problem is TCP requires every single packet or group of packets send to be ACK'ed, before the next packet is sent. All packets must be received in order. Any packet that is no received before the TTL value expires is assume to be lost and TCP will actually dial back(throttle the connection) and re-transmit. the times you see 999+ ping, the server simply can't respond to anymore packets so they are discarded. In most applications not being an online real-time game this would be ok, this happens everyday when your watching youtube videos, netflix, surfing the internet, etc...TCP is very resilient in this regard. In the case of ESO though this sorta stuff causes the problems we have today.
There is a reason TCP is no longer used in real-time combat games. Devs learned the hard way in the late 90's early 2000's that it just doesn't work.
They need to re-write the netcode in UDP and TCP should only be used as a control channel to authenicate your account, not for actual game play data.
When you got 50 people on screen, the game is sending TCP requests with location data, skill use, block status, weapon swap, damage numbers, resisitance, etc, etc...all these packets have to be Ack, this is where the overhead and bottleneck comes in.
With UDP, you have to do more of the heavy lifting yourself, BUT it doesn't require every packet to be delivered in order, packets that expire the TTL value are no big deal, as each packet contains all the updated information so no need to re-send, no need to Ack everything. You can write your own custom error handling into the code.
Nothing they do to the client will matter much because the client isn't the problem, the netcode is. As long as that netcode relies on TCP large scale stuff is never going to work right. The problems with the game are not related to framerate or hitching, its related to ping and latency and that is directly tied to their use of TCP.
I 100% guarantee you if they would just spend the money, hire someone to come in and re-write that netcode to UDP it would fix all their issues with Cyrodiil. You would see maybe a max ping of 150 and 30 fps during faction stacks for Emp at the games worse conditions which would be completely playable.
ESO is/was an ambitious project, in many ways the game was ahead of its time. TCP is holding it back though, TCP just doesn't work well for real-time combat games, all your real-time combat and FPS games moved away from TCP due to its limitations.
Furthermore, Zenimax owns the UDP Netcode written by John Carmack for Quake. So they already own the core code to make this happen. All they gotta do is hire someone to write the abstraction layers to put it on the server and client. Do this and watch performance increase 500% overnight.
"Quake uses the UDP Internet protocol as its networking backbone. A slightly older version of the commonly used TCP/IP protocol, UDP offers several advantages for game play. With UDP, each packet is transmitted one time, but there is some packet loss associated with the protocol. Conversely, TCP/IP retransmits packets to ensure reliability -- a key consideration in mission-critical networking. What UDP lacks in reliability, it gains in performance, which is certainly a major issue for gamers. With a lot of packet loss on the network, UDP is more effective for game play because it does not try to resend stale data.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-archive/master/by_day/johnc_plan_19960802.txt
https://www.gamasutra.com/view/news/197460/How_Quake_came_to_one_of_the_worlds_first_online_game_services.php
RinaldoGandolphi wrote: »there is only ONE thing they need to do:
RE-WRITE THE GAMES NETCODE
That is where the bottleneck is. Their reliance on TCP is unfeasible for how the game is designed. I raised these concerns during the beta numerous times but it fell on deaf ears.
The problem is TCP requires every single packet or group of packets send to be ACK'ed, before the next packet is sent. All packets must be received in order. Any packet that is no received before the TTL value expires is assume to be lost and TCP will actually dial back(throttle the connection) and re-transmit. the times you see 999+ ping, the server simply can't respond to anymore packets so they are discarded. In most applications not being an online real-time game this would be ok, this happens everyday when your watching youtube videos, netflix, surfing the internet, etc...TCP is very resilient in this regard. In the case of ESO though this sorta stuff causes the problems we have today.
There is a reason TCP is no longer used in real-time combat games. Devs learned the hard way in the late 90's early 2000's that it just doesn't work.
They need to re-write the netcode in UDP and TCP should only be used as a control channel to authenicate your account, not for actual game play data.
When you got 50 people on screen, the game is sending TCP requests with location data, skill use, block status, weapon swap, damage numbers, resisitance, etc, etc...all these packets have to be Ack, this is where the overhead and bottleneck comes in.
With UDP, you have to do more of the heavy lifting yourself, BUT it doesn't require every packet to be delivered in order, packets that expire the TTL value are no big deal, as each packet contains all the updated information so no need to re-send, no need to Ack everything. You can write your own custom error handling into the code.
Nothing they do to the client will matter much because the client isn't the problem, the netcode is. As long as that netcode relies on TCP large scale stuff is never going to work right. The problems with the game are not related to framerate or hitching, its related to ping and latency and that is directly tied to their use of TCP.
I 100% guarantee you if they would just spend the money, hire someone to come in and re-write that netcode to UDP it would fix all their issues with Cyrodiil. You would see maybe a max ping of 150 and 30 fps during faction stacks for Emp at the games worse conditions which would be completely playable.
ESO is/was an ambitious project, in many ways the game was ahead of its time. TCP is holding it back though, TCP just doesn't work well for real-time combat games, all your real-time combat and FPS games moved away from TCP due to its limitations.
Furthermore, Zenimax owns the UDP Netcode written by John Carmack for Quake. So they already own the core code to make this happen. All they gotta do is hire someone to write the abstraction layers to put it on the server and client. Do this and watch performance increase 500% overnight.
"Quake uses the UDP Internet protocol as its networking backbone. A slightly older version of the commonly used TCP/IP protocol, UDP offers several advantages for game play. With UDP, each packet is transmitted one time, but there is some packet loss associated with the protocol. Conversely, TCP/IP retransmits packets to ensure reliability -- a key consideration in mission-critical networking. What UDP lacks in reliability, it gains in performance, which is certainly a major issue for gamers. With a lot of packet loss on the network, UDP is more effective for game play because it does not try to resend stale data.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-archive/master/by_day/johnc_plan_19960802.txt
https://www.gamasutra.com/view/news/197460/How_Quake_came_to_one_of_the_worlds_first_online_game_services.php
relentless_turnip wrote: »RinaldoGandolphi wrote: »there is only ONE thing they need to do:
RE-WRITE THE GAMES NETCODE
That is where the bottleneck is. Their reliance on TCP is unfeasible for how the game is designed. I raised these concerns during the beta numerous times but it fell on deaf ears.
The problem is TCP requires every single packet or group of packets send to be ACK'ed, before the next packet is sent. All packets must be received in order. Any packet that is no received before the TTL value expires is assume to be lost and TCP will actually dial back(throttle the connection) and re-transmit. the times you see 999+ ping, the server simply can't respond to anymore packets so they are discarded. In most applications not being an online real-time game this would be ok, this happens everyday when your watching youtube videos, netflix, surfing the internet, etc...TCP is very resilient in this regard. In the case of ESO though this sorta stuff causes the problems we have today.
There is a reason TCP is no longer used in real-time combat games. Devs learned the hard way in the late 90's early 2000's that it just doesn't work.
They need to re-write the netcode in UDP and TCP should only be used as a control channel to authenicate your account, not for actual game play data.
When you got 50 people on screen, the game is sending TCP requests with location data, skill use, block status, weapon swap, damage numbers, resisitance, etc, etc...all these packets have to be Ack, this is where the overhead and bottleneck comes in.
With UDP, you have to do more of the heavy lifting yourself, BUT it doesn't require every packet to be delivered in order, packets that expire the TTL value are no big deal, as each packet contains all the updated information so no need to re-send, no need to Ack everything. You can write your own custom error handling into the code.
Nothing they do to the client will matter much because the client isn't the problem, the netcode is. As long as that netcode relies on TCP large scale stuff is never going to work right. The problems with the game are not related to framerate or hitching, its related to ping and latency and that is directly tied to their use of TCP.
I 100% guarantee you if they would just spend the money, hire someone to come in and re-write that netcode to UDP it would fix all their issues with Cyrodiil. You would see maybe a max ping of 150 and 30 fps during faction stacks for Emp at the games worse conditions which would be completely playable.
ESO is/was an ambitious project, in many ways the game was ahead of its time. TCP is holding it back though, TCP just doesn't work well for real-time combat games, all your real-time combat and FPS games moved away from TCP due to its limitations.
Furthermore, Zenimax owns the UDP Netcode written by John Carmack for Quake. So they already own the core code to make this happen. All they gotta do is hire someone to write the abstraction layers to put it on the server and client. Do this and watch performance increase 500% overnight.
"Quake uses the UDP Internet protocol as its networking backbone. A slightly older version of the commonly used TCP/IP protocol, UDP offers several advantages for game play. With UDP, each packet is transmitted one time, but there is some packet loss associated with the protocol. Conversely, TCP/IP retransmits packets to ensure reliability -- a key consideration in mission-critical networking. What UDP lacks in reliability, it gains in performance, which is certainly a major issue for gamers. With a lot of packet loss on the network, UDP is more effective for game play because it does not try to resend stale data.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-archive/master/by_day/johnc_plan_19960802.txt
https://www.gamasutra.com/view/news/197460/How_Quake_came_to_one_of_the_worlds_first_online_game_services.php
Nicely done buddy! Would really like to hear a developer's response to this @ZOS_GinaBruno @ZOS_RichLambert @ZOS_BrianWheeler @ZOS_Gilliam
RinaldoGandolphi wrote: »there is only ONE thing they need to do:
RE-WRITE THE GAMES NETCODE
That is where the bottleneck is. Their reliance on TCP is unfeasible for how the game is designed. I raised these concerns during the beta numerous times but it fell on deaf ears.
The problem is TCP requires every single packet or group of packets send to be ACK'ed, before the next packet is sent. All packets must be received in order. Any packet that is no received before the TTL value expires is assume to be lost and TCP will actually dial back(throttle the connection) and re-transmit. the times you see 999+ ping, the server simply can't respond to anymore packets so they are discarded. In most applications not being an online real-time game this would be ok, this happens everyday when your watching youtube videos, netflix, surfing the internet, etc...TCP is very resilient in this regard. In the case of ESO though this sorta stuff causes the problems we have today.
There is a reason TCP is no longer used in real-time combat games. Devs learned the hard way in the late 90's early 2000's that it just doesn't work.
They need to re-write the netcode in UDP and TCP should only be used as a control channel to authenicate your account, not for actual game play data.
When you got 50 people on screen, the game is sending TCP requests with location data, skill use, block status, weapon swap, damage numbers, resisitance, etc, etc...all these packets have to be Ack, this is where the overhead and bottleneck comes in.
With UDP, you have to do more of the heavy lifting yourself, BUT it doesn't require every packet to be delivered in order, packets that expire the TTL value are no big deal, as each packet contains all the updated information so no need to re-send, no need to Ack everything. You can write your own custom error handling into the code.
Nothing they do to the client will matter much because the client isn't the problem, the netcode is. As long as that netcode relies on TCP large scale stuff is never going to work right. The problems with the game are not related to framerate or hitching, its related to ping and latency and that is directly tied to their use of TCP.
I 100% guarantee you if they would just spend the money, hire someone to come in and re-write that netcode to UDP it would fix all their issues with Cyrodiil. You would see maybe a max ping of 150 and 30 fps during faction stacks for Emp at the games worse conditions which would be completely playable.
ESO is/was an ambitious project, in many ways the game was ahead of its time. TCP is holding it back though, TCP just doesn't work well for real-time combat games, all your real-time combat and FPS games moved away from TCP due to its limitations.
Furthermore, Zenimax owns the UDP Netcode written by John Carmack for Quake. So they already own the core code to make this happen. All they gotta do is hire someone to write the abstraction layers to put it on the server and client. Do this and watch performance increase 500% overnight.
"Quake uses the UDP Internet protocol as its networking backbone. A slightly older version of the commonly used TCP/IP protocol, UDP offers several advantages for game play. With UDP, each packet is transmitted one time, but there is some packet loss associated with the protocol. Conversely, TCP/IP retransmits packets to ensure reliability -- a key consideration in mission-critical networking. What UDP lacks in reliability, it gains in performance, which is certainly a major issue for gamers. With a lot of packet loss on the network, UDP is more effective for game play because it does not try to resend stale data.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-archive/master/by_day/johnc_plan_19960802.txt
https://www.gamasutra.com/view/news/197460/How_Quake_came_to_one_of_the_worlds_first_online_game_services.php