5 ms·
Gotta say that was a bad choice even then.
by kwertyoowiyop 4y ago
Gotta say that was a bad choice even then.
- tete 4y agoBy what measure? It's a great game, that people still talk about, ran more smoothly than a lot of current title. And it sounds like he knew the language. So how was this a bad choice?
- kwertyoowiyop 4y agoHe could’ve gotten essentially equivalent performance writing it mostly in C, with only the time-critical parts in assembly. Assuming equivalent knowledge of C, it would’ve been quicker to write, easier to update and port, and easier for others to work with the code.
- tete 4y agoNot to sound rude, but this mostly seem like "random" assumptions, even on the goals side. Was there others to work on the code? Was portability a goal? Would it matter if the interface is a C for DirectX anyways?
- kwertyoowiyop 4y agoYou don’t sound rude. These assumptions are common for games in general, but who knows what the assumptions were for this game in particular? Or whether this programmer knew C well at the time? Or if Microsoft was likely to ask for ports or updates?
- mbrodersen 4y agoMaybe. Maybe not. The C compilers back then were not as good at optimising machine code as modern C compilers are.
- kwertyoowiyop 4y agoIt was possible: profile your program to find the hotspots, rewrite those in assembly, rinse and repeat.
- warmwaffles 4y agoBad choice that netted Chris a bunch of money and made iconic games. It's not stupid if it works.
- kwertyoowiyop 4y agoTotally. The sausage factory makes delicious sausage, but you might not want to see inside!
- mbrodersen 4y agoHave you ever programmed in assembly? Code that I wrote 20 years ago in Motorola 68000 assembly is easy to read and understand for me today. While I have seen “modern” code written in modern languages (by other people) that made me want to throw up and/or throw things at those people :)
- kwertyoowiyop 4y agoYes, though not for a long time now. 68000 was actually some of the hardest for me to deal with, when folks would creatively use EVERY register…and in a different way in each procedure. But of course you are right, good and bad code has been written in every language. And guess what folks, your code is NOT “self-documenting,” you’re just being lazy by not writing comments! OK, soapbox ended! :-)
- mbrodersen 4y ago> good and bad code has been written in every language Yes indeed. There seems to be no limit to how bad code can be written in any programming language :)
- Koshkin 4y agoMy Prof. once said that the only difference between writing assembly and coding in a high-level language is that you have to type more.
- astrobe_ 4y agoAnd that opinion would probably turn grey on HN. At best, it's a not-so-funny joke.
- kwertyoowiyop 4y agoThat is technically correct. Which is the best kind of correct.