Live data from Hacker News

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

gamedeveloper.com

61–70 of 189 posts

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

#61

> 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…

Do you still remember what actual toolchain you used to build Age2? I have been looking into these games for some time, and the Mac build has been helpful, but has some oddities, like very weird floating point argument passing to functions, or unpredictable vtable placement ... knowing which exact compiler toolchain was used, would be incredibly helpful! I know it's probably some VisualAge C++ version because of the name mangling, but not exactly which.

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

#62

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…

Man, this brings back memories. People fighting over char in the lobbies, some derivative of “laggy” used a slur to try and get someone you don’t like to leave the game before enough people joined, etc. fun times!

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

#65

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…

If you get as chance give AOE2:DE a shot, I feel like it's what you are describing. It's impressive how many randomized game parameters it has... they even included a randomize button.

https://i.imgur.com/xbbXKdq.png

Additional you can add mods such as 'Random Costs' where units and buildings have random costs so standard build orders are impossible. Because the game is still being updated, people are making new maps and mods, there are often new strategies being discovered frequently.

But to me, the best part of the game is playing with a group that are all a similar skill level. Fortunately the game has a match making system letting my mates and I get paired up with others.

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

#66

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…

Yup. That’s how networking basically worked for Army of Two. We only sent controller input over the network. Everything else was deterministic.

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

#67

> 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…

As long as users are running the game on their own computers, preventing that type of read-only cheating is not possible. "Solutions" to this problem come in the form of invasive spyware, such as Warden (Blizzard), Easy Anti-Cheat (Epic), Vanguard (Riot), etc. These are programs that run with the highest possible priviledge, inspect all memory/storage/devices/input, and report what they find to a server.

Ok, so option 1) is to make internet multiplayer run on a game server, not peer to peer, but that's not exactly running the game on their own computers.

Another option would be for the peers to only send data that the other should know (fog of war), but that's a lot trickier. Because you then need to figure out how to validate the unseen data wasn't cheating, too. You might be able to do something with this today, because storage, computation, and bandwdith has grown so much.

Maybe store all the local state changes, and when a block becomes visible, send its current state first, and then stream the history as time permits; the other side would accept the state initialy, until it could fully validate it. You would need some way to keep the randomizers in sync and fair, too.

But that only protects from seeing what should be invisible; you could still have computer enhanced movement and maybe enhanced display of data attributes that weren't supposed to be human visible.

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

#68

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…

Oh man I discovered Spring about 15 years ago. Never dug into the engine but wrote a couple Lia scripts. Great engine. Good times.

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

#69

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…

Nah, micro can definitely be exciting for even more casual players. They'll be worse at it, obviously, just like casual FPS players are worse at headshots, but it's not like they can't do those things at all.

The data we have suggests that people with your opinion -- "people want RTSes just about the strategy, not about control" -- are dead wrong. The most enduringly popular RTSes are mechanically demanding games: StarCraft 2, Age of Empires 2, StarCraft 1.

If you remove the control aspects of an RTS, you get something that's closer to turn-based strategy. Nothing wrong with turn-based, but that's just not what most people come to RTS for.

Post reply on HN