Live data from Hacker News

1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

gamedeveloper.com

31–40 of 189 posts

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#31
post #6

It's interesting how the online gameplay has changed between the different versions of the game as network latency has improved. For example, being able to micro manage archers to dodge other archers, and time their shots is something that wasn't possible previously.

Has network latency improved much since this article's date? Bandwidth definitely, but latency?

You bet. Mangonel micro, archer kiting, cavalry bluff charges, deer pushing etc are all things you regularly see today that wouldn't have been feasible in the old versions. (in online play)

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#32

Earlier quoted context omitted.

Archer micro is a huge part of the competitive AoE2 scene. AoE4 had auto tracking arrows and I think folks didn't like it as much as it lowered the skill ceiling

I understand what was said. I'm saying that sucks. I don't really care about the tiny minority of people who care about the skill ceiling within a super low level micro. RTS entices people into a strategy game. But the games are so similar that everyone but the top 1% of players will do better by simply following a predefined strategy and executing it as tightly as they possible can. And that sucks. Nudging guys a fe…

Get ballistics!

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#33
> Cheating to reveal information locally was still possible, but these few leaks were relatively easy to secure in subsequent patches and revisions.

I don't understand this. Running the whole simulation locally on both ends means that a modified client would have access to the whole game state, and I don't really see how you could patch that out.

Anyone have any idea what they actually did? Try to detect modified clients? Obfuscate the game state to make it harder to interpret?

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#34

> Cheating to reveal information locally was still possible, but these few leaks were relatively easy to secure in subsequent patches and revisions. I don't understand this. Running the whole simulation locally on both ends means that a modified client would have access to the whole game state, and I don't really see how you could patch that out. Anyone have any idea what they actually did? Try to detect modified cli…

In age II, it was CRC checks of game state that prevented cheating! Games would get out of sync if there was a mismatch, which could happen for various reasons.

I worked at MacSoft during the Age2 and Age3 days. The ports were faithful to the windows versions, but cross platform hadn’t been solved at the time because of this problem.

It also made long game play sessions longer because the calculated state kept getting more complicated.

There was one particular Mac OS X update that broke math interoperability for multiplayer because they changed how math worked on the OS. This meant we had to bundle a common math library to ensure the game the game states would line up, preventing unnecessary CRC checks.

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#35
post #16

For those who don’t want to suffer from eye-bleeds due to ads, interstitial scrolling ads, more ads, and awful formatting, Googling the title yields this PDF: https://zoo.cs.yale.edu/classes/cs538/readings/papers/terran... Maybe the link can be replaced? Also can (2001) be added to the title?

You see ads? Is your computer broken? >>sarcasm overload Install uBlock Origin yo

Mobile, Yo.

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#36

Seeing stuff like this on here fills me with nostalgia. I basically learned to code thanks to a few helpful and extremely patient IRC members in the Spring RTS engine[1] community (some of whom I spot in these comment sections on occasion - hi!), and deterministic lockstep simulation for online play was one of the first ideas that totally blew my mind when I learned about it ("b-but that means all the "random" number…

If the randomness is deterministic doesn't that mean players could peek into the future?

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#37

> Cheating to reveal information locally was still possible, but these few leaks were relatively easy to secure in subsequent patches and revisions. I don't understand this. Running the whole simulation locally on both ends means that a modified client would have access to the whole game state, and I don't really see how you could patch that out. Anyone have any idea what they actually did? Try to detect modified cli…

In age II, it was CRC checks of game state that prevented cheating! Games would get out of sync if there was a mismatch, which could happen for various reasons. I worked at MacSoft during the Age2 and Age3 days. The ports were faithful to the windows versions, but cross platform hadn’t been solved at the time because of this problem. It also made long game play sessions longer because the calculated state kept gettin…

In the Definitive Edition, there has been observed cheating in online ranked mode where players give themselves infinite resources. Evidently there's a way to do that without going OoS. This was probably the same in the original. This is besides the less complex cheat, removing fog of war. Seems the only thing stopping most people from cheating is, they don't want to.

Also, I used to play the Mac version a lot. It was great! Shame they made the remakes Windows-only.

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#38

Lots and lots of great things in here, thank you for sharing. > At first take it might seem that getting two pieces of identical code to run the same should be fairly easy and straightforward I found that a little funny. I would certainly not assume that. Synchronization problems are one of the scariest areas of programming in my opinion.

IRL it was not simple. The game usually worked, but occasionally things would go out of sync.

The biggest downside is mentioned in the article: If one person lags, everyone lags. In an 8-player game, the chance that at least one person lags was pretty high. I used to play on the Mac version of GameRanger, a small community. That was 2008, when reliable internet wasn't as common. Players had personal reputations, and those who lagged too much were often excluded from games.

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#39

> Cheating to reveal information locally was still possible, but these few leaks were relatively easy to secure in subsequent patches and revisions. I don't understand this. Running the whole simulation locally on both ends means that a modified client would have access to the whole game state, and I don't really see how you could patch that out. Anyone have any idea what they actually did? Try to detect modified cli…

In age II, it was CRC checks of game state that prevented cheating! Games would get out of sync if there was a mismatch, which could happen for various reasons. I worked at MacSoft during the Age2 and Age3 days. The ports were faithful to the windows versions, but cross platform hadn’t been solved at the time because of this problem. It also made long game play sessions longer because the calculated state kept gettin…

But CRC checks wouldn't prevent things like revealing units through fog of war right? The presentation of the game state couldn't be CRCd because each player has a different view of it. And the cheat client doesn't have to modify the actual game state to get that information out.

Re: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)

#40

Earlier quoted context omitted.

Archer micro is a huge part of the competitive AoE2 scene. AoE4 had auto tracking arrows and I think folks didn't like it as much as it lowered the skill ceiling

I understand what was said. I'm saying that sucks. I don't really care about the tiny minority of people who care about the skill ceiling within a super low level micro. RTS entices people into a strategy game. But the games are so similar that everyone but the top 1% of players will do better by simply following a predefined strategy and executing it as tightly as they possible can. And that sucks. Nudging guys a fe…

> I don't really care about the tiny minority of people who care about the skill ceiling within a super low level micro.

I'd argue that most people that kept playing aoe2 online and kept it "alive" all care about that.

> I'd like to see RTS games that randomize game parameters each time, requiring you to actually strategize.

aoe2 already has randomised maps, I think that's why you actually get less strategy (in a sense).

In games with fixed maps, you see much more interesting one-off strategies (people like to call it cheese[0]) because you can plan everything down to the second. You'd plan & practice strategies on specific maps in specific matchups against the "standard" build orders.

AoE2 has these types of strategies too, but since the maps are always slightly different, you can't plan your building placement etc ahead of time.

There's also MegaRandom [1] which takes the randomisation to the next level. But I'd argue micro matters significantly more in that map, since you can end up in "unfair" situations where you need to outplay with micro to stand a chance.

> Nudging guys a few inches to the side is the opposite of what makes the game fun for most people.

That's how these games stay popular for 20 years. It's like complaining about strafe jumping in quake, it's what kept the game alive all this time.

[0] https://liquipedia.net/starcraft/Cheese

[1] https://ageofempires.fandom.com/wiki/MegaRandom

Post reply on HN