Live data from Hacker News

Lessons learned while developing Age of Empires 1 Definitive Edition

richg42.blogspot.com

61–69 of 69 posts

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#61
post #8

Not building custom containers is generally good advice. The chance you build something that underperforms is noticeable. Other coders won't know what you've made. There is a fair chance that std has what you need if you're even just a little bit thoughtful.

Note that the stl containers were far from perfect a few decades ago.

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#62
post #8

Not building custom containers is generally good advice. The chance you build something that underperforms is noticeable. Other coders won't know what you've made. There is a fair chance that std has what you need if you're even just a little bit thoughtful.

Note that the stl containers were far from perfect a few decades ago.

Amazing what a few decades of development by talented and determined people can accomplish. Point is, my custom container that I wrote in an hour or so probably won't be as good.

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#63

Develop strong out of sync (OOS) detection tools early, and learn how to use them. The way lockstep work is that the clients gives themselves a rendez-vous in the future and agree to compute one turn of the game, given the players' input of that turn, at that moment. It's very clever. The players input are sent to every clients and will be computed in the future in a deterministic way. So every client is computing th…

Does that mean that games that use lockstep are necessarily client authoritative? Or did I miss something?

I see what you mean. Yes this is exactly that: each client is authoritative, alone in the world - and they just have to trust the other clients will compute the same game.

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#64
post #31

Earlier quoted context omitted.

Windows Store has been surprisingly fragile for me. I've bought a couple of games through it and things like turning off IPv6 will cause it to fail to download anything and spit out cryptic error codes. But mostly I don't want my games spread across a dozen different storefronts. Keeping them all in once place is more convenient. I would probably be more open to the Windows Store if I owned an XBox and there was some…

Steam is doing even worse with IPv6 support – in fact they have absolutely none (although their CDN provider has great support for it). Really a shame that they're missing such an useful piece of functionality in this day and age. This of course has made me consider some of the alternatives... Unfortunately the only Steam alternatives that have some amount of IPv6 support are Humble Bundle and Green Man Gaming. Thoug…

>Though you may as well not count Humble Bundle as accessing their website over IPv6 results in it being completely broken

Just checked this in Firefox and it loads completely fine via IPv6 (and I verified using the devtools that it is using IPv6).

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#65
post #58
post #57

Earlier quoted context omitted.

20% of the world uses it.

Okay but 100% of the world uses IPv4. Why is having IPv6 support important for a website?

Because IPv4 is close to exhausted[1] and we need IPv6 support to be the rule, not the exception, by the time it's no longer affordable to get an IPv4 address.

https://en.wikipedia.org/wiki/IPv4_address_exhaustion

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#66
post #33
post #31

Earlier quoted context omitted.

Steam is doing even worse with IPv6 support – in fact they have absolutely none (although their CDN provider has great support for it). Really a shame that they're missing such an useful piece of functionality in this day and age. This of course has made me consider some of the alternatives... Unfortunately the only Steam alternatives that have some amount of IPv6 support are Humble Bundle and Green Man Gaming. Thoug…

I'm curious -- why would IPv6 access for a website be an important matter?

It's faster, it's cheaper, it's easier to setup and use. As of now not everyone always has IPv4 access anymore. I conciously avoid purchasing products that have no IPv6 support, as I sometimes have an only IPv6 connection.

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#67
post #64
post #31

Earlier quoted context omitted.

Steam is doing even worse with IPv6 support – in fact they have absolutely none (although their CDN provider has great support for it). Really a shame that they're missing such an useful piece of functionality in this day and age. This of course has made me consider some of the alternatives... Unfortunately the only Steam alternatives that have some amount of IPv6 support are Humble Bundle and Green Man Gaming. Thoug…

>Though you may as well not count Humble Bundle as accessing their website over IPv6 results in it being completely broken Just checked this in Firefox and it loads completely fine via IPv6 (and I verified using the devtools that it is using IPv6).

Should've clarified. In this case I was on a IPv6-only connection – no IPv4 access available to the outside. Loading with both IPv6 and IPv4 being available of course results in no problems, as it falls back to IPv4 for resources that are not accessible over IPv6 (which is mainly the layout scripts).

Re: Lessons learned while developing Age of Empires 1 Definitive Edition

#68
post #31

Earlier quoted context omitted.

Steam is doing even worse with IPv6 support – in fact they have absolutely none (although their CDN provider has great support for it). Really a shame that they're missing such an useful piece of functionality in this day and age. This of course has made me consider some of the alternatives... Unfortunately the only Steam alternatives that have some amount of IPv6 support are Humble Bundle and Green Man Gaming. Thoug…

Not supporting IPv6 is better than breaking in mysterious ways when you have IPv6 support but have to disable it on that machine for reasons (Netflix). I would like to see Valve get with the times on their v6 support though.

I've never seen a dualstack connection cause breakage. And if it does break with IPv6 support being available, then it's the developer's fault. Instead of disabling IPv6 you should alert them of the problem and if possible use an alternative service, which supports IPv6.

In the case of Humble Bundle breaking, it seems simply because some of their CDN subdomains are IPv4-only. Since the site loads various resources from those IPv4-only endpoints, it causes everything to just break when accessing over IPv6. In a way I'd argue it's still better than your browser displaying "no valid IP address for this domain" – usually you can at least find an e-mail address at the bottom of the page to alert them to the problem.

Post reply on HN