Jump to content
jayWHY

Halo 1 MCC needs Lag Compensation

Recommended Posts

Let me preface this by saying, I have no idea what I'm talking about. Halo 1 MCC maybe using lag compensation, but from offhost videos it doesn't look like it is. If it does just take this as a primer on game networking.

 

TL;DR. Lag compensation will make Halo 1 online play more like lan.

 

I'm going to make pretty much the same argument I made 11 years ago about Halo PC. Halo 1 MCC needs lag compensation.

 

Every major FPS has had some sort of lag compensation since the early 2000's, including Half-Life, Call of Duty, Battlefield, and H2 through H4.

 

Lag compensation works by the server keeping a history of player movements; and when the server receives an action from a player(client), like player X is here and he shot here, the server will look up the ping of the player, rewind the game state to when the player actually shot, and determine if the shot is a hit or miss.

 

This can probably best be understood visually.

 

Lag_compensation.jpg

 

The screenshot is taken from the servers view of events, so the enemy model to the left is the enemies current position. The red hitbox is where the client or the player with the pistol sees the enemy on his screen. The screenshot depects a client with a 200ms ping, so he sees the enemy well behind the enemies current position. The blue hitbox is where the server recorded the enemies position 200ms ago. The client and server hitbox differ because...well its complicated and not really important but it has to do with small timing differences between when the clients update the server and the server updates the clients.

 

If this were a snapshot of Halo 2, it would play out like this: the player sees the enemy where the red hitbox is, he can BR him exactly on his face, 200ms later the server gets the BR shot action, the server rewinds time by 200ms and makes the blue hitbox, if the BR shot is inside the blue hitbox it registers a hit.

 

If this were a snapshot of Halo PC and I'm guessing Halo 1 MCC, it would play out like this: the player sees the enemy where the red hitbox is, he has to guess where the enemy will go next and lead his pistol shot to where he assumes the enemy will be in 200ms, 200ms later the server gets the pistol shot, if he guessed correctly, and he happens to guess and shot were the enemy model is on the left he receives an audible beep.

 

This audible beep in both Halo PC and Halo 1 MCC is there to help you compensate with the latency. It would not be needed if lag compensation were present.

 

Here is a quote from a paper written by Yahn Berner -- a developer at Valve -- about using audible beeps in Quake 3 way back in 1999.

 

The greater the latency, the greater the lead targeting needed. Getting a "feel" for your latency is difficult. Quake3 attempted to mitigate this by playing a brief tone whenever you received confirmation of your hits. That way, you could figure out how far to lead by firing your weapons in rapid succession and adjusting your leading amount until you started to hear a steady stream of tones. Obviously, with sufficient latency and an opponent who is actively dodging, it is quite difficult to get enough feedback to focus in on the opponent in a consistent fashion. If your latency is fluctuating, it can be even harder.

Halo 1 MCC does seem to have made some improvements on Halo PCs networking code. There's less jittering and warping probably do to higher update rates, because theres no more need to support 56k modems, and may also be better client side prediction smoothing, like what was in Halo Custom Edition.

 

But without good latency compensation code Halo 1 MCC will only play as good as XBC, and probably worse, since matchmaking will likely match you against higher pings than you'd ever join in the XBC server browser.

 

References

 

https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimizationhttps://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization

http://en.m.wikipedia.org/wiki/Client-side_prediction

  • Upvote (+1) 8

Share this post


Link to post

Problem with this is the skill gap from the skill required from the aiming mechanics will be gone which will literally ruin the game.

  • Upvote (+1) 1
  • Downvote (-1) 1

Share this post


Link to post

Halo 1 is meant to have shot lead. Removing it ruins the experience.

I think you misunderstood me or maybe I wasn't clear enough, this has nothing to do with normal pistol leading. You'd still have to lead, lag compensation helps compensate for latency, making Halo 1 online feel more like playing it on lan.

  • Upvote (+1) 4

Share this post


Link to post

I think you misunderstood me or maybe I wasn't clear enough, this has nothing to do with normal pistol leading. You'd still have to lead, lag compensation helps compensate for latency, making Halo 1 online feel more like playing it on lan.

Oh! Yea but how does anyone (including you) know what exactly they are doing for there networking side of halo 1? Maybe they are doing what you are saying?

 

Don't have ANY experience with what your talking about by the way but I'm just saying...

  • Downvote (-1) 1

Share this post


Link to post

Oh! Yea but how does anyone (including you) know what exactly they are doing for there networking side of halo 1? Maybe they are doing what you are saying?

Good point. That is why I added that preface, but there are a few reasons why I think there not currently using latency compensation code in Halo 1 MCC.

 

1. Those beeps aren't needed if using lag compensation. Quake 3 used them before lag compensation was a thing.

2. All the offhost shield flickering.

3. Halo PC didn't have it and MCC is based of Halo PC.

4. And the offhost leading I've seen required. It isn't projectile leading.

Share this post


Link to post

Halo 1 is meant to have shot lead. Removing it ruins the experience.

 

Its not what he meant. 

 

Latency != Projectile Travel Time

 

In Halo PC you had to add Projectile time and Latency together. 

 

Example

 

A single projectile shot travels 100meters in 15ms.

A player is running in a straight line parallel from you at 100 meters.

 

If you latency is 0ms and you shot a tiny bit infront of the enemy player you would hit him.

 

if you latency is 100ms the server would initiate your "firing action" 100ms after you pressed your trigger button by that time the player has already walked past the point at which you fired at. You would have to aim further in front of the player to hit him.

  • Upvote (+1) 4

Share this post


Link to post

Halo 1 is meant to have shot lead. Removing it ruins the experience.

 

His post has got nothing to with shot lead. It's got to do with Halo not lagging like shit in the year 2014.

 

I'm amazed 343 didn't use the no lead mod from Halo PC. It' just looks like shitty xbc off host from all the videos I've seen. Also the Halo no lead mod on PC still has shot lead, it's basically just feels like ON HOST xbc, and 343 couldn't even get that right.

Share this post


Link to post

Feels like lan compared to xbc 

I'm used to minimum 60ms ping. Usually have to play on 80-200ms (200ms is really unplayable tbh). Now I have gone from having cable to DSL, so I've infact downgraded my internet connection in terms of speed and latency since I last played on XBC.

 

Played East coast host today, dunno what the ping was, but the game felt and played really good. My shots landed and I found myself having to lead a lot less than what I initially expected. This is a big win for me, which means playing on EU dedicated servers or on EU host will be godly.

 

That said there are a lot of things they really need to patch up, and I'd like a 2v2 and 4v4 playlist and a rumble? playlist.

Share this post


Link to post

Feels like lan compared to xbc 

 

I played some 2v2 and 4v4 off host in CE.  It feels like I'm playing Halo PC, but with no warping.  Definitely not the same feeling as OG xbox on host.  The timers are definitely off.  Nades feel over powered for some reason.

Share this post


Link to post

Who ever is in charge of deciding what changes to the games netcode to xbl should do what the no lead servers did. The delay on shots is dramatically decreased you still have to lead but 180 ping feels like 20 ping.

Also take off nade hit sounds as well as rockets.

 

It wont change the flickering that goes on but it improves shot registration dramatically. 

When the 2vs2 playlist launches for mcc this is the mod that should be loaded on the servers.

 

 

 

  • Upvote (+1) 4

Share this post


Link to post

don't like the no lead servers on pc.  you have to shoot behind them now, it's odd.

Share this post


Link to post

I played some 2v2 and 4v4 off host in CE.  It feels like I'm playing Halo PC, but with no warping.  Definitely not the same feeling as OG xbox on host.  The timers are definitely off.  Nades feel over powered for some reason.

 

They are OP because you can bong people around corners and shit. I don't mind it for pistoling/sniping because the false shield flicker and Spartan flinching is off the chain right now.

Share this post


Link to post

don't like the no lead servers on pc.  you have to shoot behind them now, it's odd.

weird I have never experienced that once.

Share this post


Link to post

I do have pretty bad internet,  but somehow the server was over compensating.  granted I only tried it for a couple hours, but it was enough to not want anymore to do with it.  

 

so far in the MCC, it's not the lead that has gotten me, the delayed button presses ala XBC have though.  lots of missed jumps.  I had 100+ ping last night and 3sk's were fairly frequent.  I'm hoping to try an EU host sometime soon to see how bad it can possibly get.

Share this post


Link to post

The current plan is to make the false information given by the current netcode a big deal, but I'm tied up this week and need others to help me out.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use & Privacy Policy.