Live data from Hacker News

Original Age of Empires 2 dev talks about its usage of assembly code

old.reddit.com

51–60 of 113 posts

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#51
post #12
post #6

Earlier quoted context omitted.

Are there any good resources on using mipmapping and swizzling effectively?

I was actually trying to find it - there were lots of .txt files published back then - and there was one about texture mapping from 1992... 1994? - and it explained swizzling and why it was efficient with caches.

fatmap.txt discusses tiled textures a bit https://hornet.org/code/3d/trifill/texmap/fatmap.txt

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#52
post #21

Earlier quoted context omitted.

You worked on the port of Metal Gear Solid?! OH MY GOD THIS IS SO COOL! Edit: Looking it up you might have worked on a larger amount of games than I thought. Very awesome nonetheless. https://www.mobygames.com/game/company:99/from:1998/platform...

Thanks!!! Yes it was MGS - the deal was with our studio to do the port from PSX -> PC and since Microsoft was the publisher, part of the deal was for Konami to port Age Of Empires (1? 2?) to PSX.

It was Age Of Empires 2, I had a EU copy. I bet there are some interesting stories regarding that port, too.

AFAIK the user interface for the win9x version was drawn using native GDI windows library, and yet the PS2 version, using a completely different rendering framework and architecture, sported the very same appearance, font glitches and all. I wonder if they actually wrote an emulation layer around that.

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#53
post #10

Earlier quoted context omitted.

And IRC was even better at it.

I don't think so. I know everybody loves to say that IRC is better than [insert commercial chat application] but in this particular use case discord is superior to irc imo because of the voice/video chat features and greater convenience.

IRC’s biggest fault is no history. Everything else is secondary.

Yeah, bouncers exist, but it should have been baked into the spec at some point.

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#54

Earlier quoted context omitted.

There was Intel VTune, which I heard was good, though I haven't used it myself. One difficulty is that there are many non-obvious and hard-to-predict factors that interact to produce pipeline stalls. Instructions had specified throughputs and latencies (throughout being the number of cycles before another independent instruction of that type could be initiated; latency being the number of cycles before its output cou…

VTune still exists and is free since a few years. Neat thing with VTune is that it has support for a few runtimes, so it understands for example CPython internals to the point that stack-traces can be a mixture of languages. That's something only becoming available just now outside of VTune, like Python 3.12 has some hooks for Linux perf. A purely pen-and-paper tool was IACA; you simply inserted some macros around a…

Didn't know VTune is free now, nor had I ever heard of IACA which looks very nice (and would have saved me a lot of brow-sweat)! Thanks.

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#55

Earlier quoted context omitted.

Don't people still have lunch?

They do. Over their desks, while working or in a video call.

That's probably very country specific, because I've not seen that happen and would also never do it myself.

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#57
post #41

Earlier quoted context omitted.

Compilers beat hand written Assembly for the general use cases. Now beating special use cases, like using vector instructions to parallel process video decoding streams is another matter. It is no accident that after all the efforts improving Java and .NET JITs for auto-vectorization across various vendors, both platforms now expose SIMD intrinsics as well.

Thanks for the explanation. Aside from vectorization is there anything else that handwritten assembly could be better? Assuming on modern CPUs and modern compilers.

Sure, people who are good at assembly can often do register allocation and instruction selection better for small snippets of code. Or optimize based on guarantees the compiler can’t see or know about.

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#58
post #7

> A key speedup technique AoE used was realized during discussions I had with iD software programmer and optimization guru Michael Abrash over lunch at Tia's Mexican Restaurant in Mesquite, TX. How many freeform interactions like this did we lose because of the Internet's illusion of being connected?

I think we've lost some and gained other. People may say that Discord and similar will compensate, greatly, as the number of interactions can grow a lot. On the other hand, I don't think the experience is comparable to fully focusing on the person you're eating in person with.

> People may say that Discord and similar will compensate, greatly, as the number of interactions can grow a lot.

Are Discord discussions indexed by any public search engines? What about communities that are invite-only (without much actual reason to be so)? What about community admins who decide to take their whole thing down, communities that break site-wide rules and get removed by site admins, etc? Does Discord Inc. make any commitments towards publishing discussions that have archival/historical value?

How much knowledge is already irrecoverably stuck in Slack's bit bucket, as people flocked away to the next walled-garden chat app?

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#59
post #7

> A key speedup technique AoE used was realized during discussions I had with iD software programmer and optimization guru Michael Abrash over lunch at Tia's Mexican Restaurant in Mesquite, TX. How many freeform interactions like this did we lose because of the Internet's illusion of being connected?

I get what you're saying. There are a lot of tinier discords and chat rooms where people post technical points and other people chime in. There are even websites with these small places.

The challenge of course is finding your way there. They're not exactly discoverable, and unlike with a job, it's usually through some pretty odd connections that you end up there.

Re: Original Age of Empires 2 dev talks about its usage of assembly code

#60
post #58

Earlier quoted context omitted.

I think we've lost some and gained other. People may say that Discord and similar will compensate, greatly, as the number of interactions can grow a lot. On the other hand, I don't think the experience is comparable to fully focusing on the person you're eating in person with.

> People may say that Discord and similar will compensate, greatly, as the number of interactions can grow a lot. Are Discord discussions indexed by any public search engines? What about communities that are invite-only (without much actual reason to be so)? What about community admins who decide to take their whole thing down, communities that break site-wide rules and get removed by site admins, etc? Does Discord I…

I mean it's not like technical discussions over lunch at a Mexican restaurant we're indexable either.

With the rise of AIs-hoovering-up-everything-reachable-on-the-public-web I'm not sure I want every conversation indexed either.

Post reply on HN