[HN Gopher] A talk with Walter Bright about Empire ___________________________________________________________________ A talk with Walter Bright about Empire Author : mad_ned Score : 194 points Date : 2021-10-20 12:29 UTC (10 hours ago) (HTM) web link (madned.substack.com) (TXT) w3m dump (madned.substack.com) | avgcorrection wrote: | I thought this was gonna be about Bright's geopolitics. | WalterBright wrote: | Nobody cares about my political opinions :-) | acdha wrote: | > WB: Empire has caused many students to flunk out, and even a | few divorces. I've received some angry emails over these. | | This part resonated: my father had various issues over the years | (we suspect undiagnosed depression but he refused care) and | Empire was one of the games he'd spend days on. Growing up, it | took me a while to realize that the problem wasn't the game but | the personality trait which lead to that behaviour cropping up | anywhere possible. | | I found the mention of a Wang word processor interesting as that | was one of my dad's employers. They apparently had quite a few | management issues but he had some stories about one of their | better salespeople -- this one guy apparently had legendary | expense claims but was also frequently the top performer in | revenue. When word processing was a department in a business, it | was often run by an older woman who'd come up through the ranks | and while they had a high-sounding title they often weren't given | a lot of respect by the other department heads and a lot of the | other vendors more or less followed that with a take-it-or-leave- | it approach. This sales guy would do things like rent a | helicopter to take someone from LA to lunch on Santa Catalina to | discuss a deal or see how things were working out at an existing | company -- simultaneously far more than the internal rules | allowed but also a tiny fraction of the profits they made from a | major company buying Wang hardware globally. | mad_ned wrote: | You may not have played the game Empire, but if you've played any | computer wargame, you've played something influenced by it. I'm | very honored to have had the chance to discuss the development of | Empire with Walter! | | As mentioned in the article, he is a sometimes-reader of Hacker | News, so if people have any follow-up questions, we may just get | lucky and have him drop by to answer a few. | [deleted] | WalterBright wrote: | Walter here! AMA! | juanuys wrote: | Hi Walter, thanks for your time! | | Do you play many games nowadays? Which ones? | | What do you think is going to be the next big gaming | breakthrough? Or the next big genre/theme? (E.g. for economics, | it was F2P/IAP, never of which I'm a fan of. Also, city | building + survival is really big right now.) | WalterBright wrote: | The itch to write a better language & compiler than anyone | else is more compelling! | | But I am attracted to full motion simulators that would, say, | enable me to drive an F1 car without risk or much investment. | fb03 wrote: | If you're into that, I highly recommend you looking up | Force Dynamics (a friend of mine) for high quality | affordable driving simulators that are really close to | actually driving the Real Thing (TM) | | https://www.force-dynamics.com/ | spaetzleesser wrote: | It's sad that we still don't have an idea how to produce | high g-forces in a simulator. | | The feeling of going with a car through a turn at 2g is | incomparable to the simulators we have. Never mind F1 | cars that can corner and brake at up to 5g. | WalterBright wrote: | It can be done, you'd just need a big playground for the | machine - about the size of an F1 track! | spaetzleesser wrote: | With enough money you can actually go to such a | "simulator". There are these guys that run older F1 cars | on tracks. The teams provide pit crews and everything | else. If you can afford it, definitely a nice hobby! | | I got to drive a car with aerodynamic downforce only once | and it's super impressive to feel how it works better the | faster you go. Cornering with 2g is also pretty nice. | cybernautique wrote: | Hello Walter! | | I'm interested in programming languages and the design of | compilers. I'm relatively novice to programming, but languages | have long captured my imagination. | | Three questions for you: Do you have a blog where I can read | about your compiler escapades? have you any advice for the | aspiring novice? which is your favorite language, and why? | WalterBright wrote: | > where I can read about your compiler escapades? | | I don't really have a blog, but when I do write an article | I'll link to it on twitter: | | https://twitter.com/WalterBright | | A collection of articles I wrote a while ago: | | https://www.digitalmars.com/articles/index.html | | Presentations: | | http://www.walterbright.com/ | | And, of course, the Emperor who will get mad and put another | continent under iron control if he's not mentioned: | | https://twitter.com/classicempire | [deleted] | WalterBright wrote: | Advice for the novice. Hmm. Best advice I can give is ignore | your critics and everyone who tells you it can't be done, | you're not good enough, you'll inevitably fail. | | Market research has always led me astray. Making things that | simply please myself have been far, far more successful. | | Which is my favorite language? D, of course! As for why, it's | the language I always wanted to program in, though I didn't | realize it and it was a process to discover it. | cybernautique wrote: | I've listened to the two interviews you have published, and | I intend to work my way through your publications. I'm | currently in love with OCaml, but I'm resolving that D | should be my next language. Funnily enough, I'd already | downloaded it a few months ago; I have a dedicated flash | drive for storing compilers, it was a very pleasant | surprise to find Walter Bright already chilling in my | memory. | | I loved the podcast you did with Alexandrescu on | GoingNative! The two of you said that you want D to have a | million users; how does user accumulation work in | programming languages? Intuitively, I'd expect linear | growth until some critical point, and exponential | thereafter. Do you agree? if so, what do you think that | critical mass might be? | | Also, on that same podcast, the host evaluated that D is | ready for the million users you're shooting for. Do you | have any plans to open a software shop or a consultancy to | bring D into the industry? I've seen certain other language | organizations, like the Haxe folks, do similar. | | With regards to D-Lang: why do you ask that contributors | assign copyright to you for improvements made to dmd? Is | that just so you control the code-base? | | Finally, I'd love to see a section of low-hanging fruit for | novice contributors to work on. Whatever incentive it's | worth: I will personally commit to fulfilling at least one | item of any such list, if and when it should ever be | published. | | I'll be following D-Lang much more closely, I'm very | excited to see how it evolves! | WalterBright wrote: | I figure critical mass is if I get run over by a bus, D | will continue just fine. I don't know what that point is. | | Many D community members do consultancy and education. | Just drop by the forums and ask! | | The copyright assignment thing is just so that the source | will be unencumbered and we can ensure it remains fully | Open Source. | | I never offer suggestions for low hanging fruit anymore, | as not a single person took them. I just point at the | forums, hang out, and you'll soon find something | interesting to work on. | | There's also the learn forum: | | https://forum.dlang.org/group/learn | [deleted] | simonh wrote: | Thanks for such a great game. I remember playing Empire on my | Amiga back in the late 80s, it didn't have any of the fancy 3D | graphics of my other games but I still played Empire the most. | I still play a clone of it frequently on my iPad. | WalterBright wrote: | Graphics are great for initial attraction to a game, but it's | the gameplay that keeps one's interest. | | It's similar to movies. Special effects are momentarily | interesting, but it's the plot that overwhelmingly matters. | JKCalhoun wrote: | And characters. | OJFord wrote: | That pretty much sums up American vs. British comedy | (televisual anyway) for me. | | US: 'momentarily interesting' (resp. funny at the time) - | series of one-liners and the like; UK: character | development, hard to explain why it's funny, might take | 'getting into'. | | _Green Wing_ for example - I thought it was absolutely | absurd when I first saw it, and it is. But for some | reason I went back to it (or was made to) and stuck with | it for a few episodes while I learnt to love it. And now | I do, it 's one of my all-time favourites. And of course | I've been back (several times) to watch the first | episode(s) again, and they're hilarious too. | | Or perhaps a clearer example is the original UK _The | Office_ (Ricky Gervais) vs. the US version (Steve | Carell). Same rough outline obviously, some of the same | (especially early in the remake) storyline and jokes, but | somehow even then the humour is very different. | | (I'm not hating on the remake, I enjoyed it enough to | watch it all once I accepted it's different, and stopped | expecting 'The Office' as I knew it. Especially once it | found its own path and diverged from the same jokes - IMO | - worse delivered.) | kbenson wrote: | I think it's less that the US doesn't have those, it's | just that they have both types, and they also mix them. | Seinfeld wouldn't have been half as good as it was | without you knowing the character and how they would | react to specific situations. | | I think part of what you're identifying about first | episodes is maybe a difference in style between the US | and UK. A lot of UK comedy definitely seems like the | characters are pre-baked into the writing and the actor | is already mature in the role in the beginning, while in | the US it feels like they've left the role a little | hollow at first and allow the actors (and future writing) | to evolve the role into what it will be. This can make | the first episodes feel "off" when you go back to watch | them, but I'm not sure it's necessarily a bad way to go | if the goal is to find a really good character. | | It's also possible that the UK network(s) are amenable to | planned out entire seasons while the US networks are more | accepting of buying a pilot of a few episodes and seeing | where something goes, which would favor some of these | approaches in each case. | WalterBright wrote: | The first few Seinfeld episodes are pretty lame compared | to when the series hit its stride. | kbenson wrote: | I think that's an example of what I'm saying. Rather than | the characters being mostly realized by the writing, they | let the characters and actors grow into specific parts | together. | pixelgeek wrote: | I have tried that game. I find it a bit too difficult to play | without a keyboard. Or just too slow. I am still, after all | these years, used to rapidly moving units with the keyboard | JaDogg wrote: | What kind of projects I need to do and books I need to read to | be a good programmer in your point of view? | WalterBright wrote: | Writing games are a really fun way to learn to program. The | best way to learn how is to find an open source game that you | like, figure out how to build it, then start modifying the | game to your personal taste. | | Learning the basics of writing compilers will be surprisingly | helpful for all kinds of programming tasks. The Dragon Book | is the best: | | https://www.amazon.com/Compilers-Principles-Techniques- | Tools... | | Too bad the prices are so high for it. The original version | is much cheaper: | | https://www.amazon.com/Principles-Compiler-Addison-Wesley- | in... | | Learning calculus is a great way to train your mind to think | better. | devwastaken wrote: | Have you dived much into full body VR and VR social | experiences? | WalterBright wrote: | That sounds like fun, but I've never tried it. | int_19h wrote: | D is one of the few mainstream languages today that support | Design by Contract (https://dlang.org/spec/contracts.html), and | I remember it being a prominent language feature all the way to | pre-1.0. | | The only other major language I can think of that's still | actively used is Ada in its more recent incarnations. Eiffel | didn't get much traction, and .NET dropped | System.Diagnostics.Contracts recently due to lack of usage. C++ | had some proposals that didn't go anywhere, if I remember | correctly. Java has some AOP-based third party solutions for | it, but nothing is in the core language, nor any plans for it. | | Why do you think that is? I don't see what's wrong with DbC | conceptually, and having (effectively) formalized specs helps | both document the code better, and catch bugs. | mhh__ wrote: | People don't bother using them. Walter gave a hits & misses | talk a while back and I believe he classified contracts as a | miss. | | I do really like them. In certain situations they are | actually useful to the optimizer too, saves some branches on | array length alignment for example. | int_19h wrote: | Yes, but _why_ people don 't bother using them? It can't | just be an aversion to verbosity, since people _do_ write | unit tests - many of which could have been contracts | instead. And it seems like there 's increased interest in | preventing bugs through more rigorous static code analysis | these days (Rust etc), so why doesn't it come up in that | context? | justin66 wrote: | Hey Walter. I played a lot with the DOS version of the game | that Mark Baldwin worked on (perhaps also a later windows | version, although I probably just played the DOS version on | Windows). Two things that struck me as "off" at the time were | the way calculating the distance when moving units wasn't as | consistent or intuitive as it could be when moving diagonally | because the board consisted of squares, and that multiple units | couldn't be parked in the same place unless they were in a | city. | | Are these things you'd handle differently today? Are there any | games that you think handled this better? A hexagonal board | layout seems like it might be a better approach to calculating | distance between points, but what about the limit of one unit | per one square on the grid? | | I love the idea of allowing players to supply a bot to compete | against other bots. | WalterBright wrote: | A hex grid certainly addresses that problem, but since I was | limited to text, squares it was! | | The one unit per square comes about because it is very | difficult to see a "stack" of units in one location. It also | made combat trivial, just move into the opposing force's | square. No special commands needed. | | This wound up working fine, and I was always reluctant to | mess with game rules that worked. | nailxx wrote: | Hello! Came here just to say thank you for my happy | professional childhood. I used to closely follow D development | since DMD was 0.48. It introduced me to some basic concepts: | module system, cow, unit tests, invariant checks, which were | somewhat foreign to C++ devs at the time. | | I remember how all the mailing list waited for 1.0 finally | after 0.99 and... oooow... "announcing DMD 0.100" :) | | I was 17 at my first job ever, it was in gamedev, and I | promised everyone that D would be the next thing after that | clunky C++ in two (maybe three) years. That's how we should | make games \m/ | | Sadly, it didn't come to that extent (marketing?). But I am | glad to visit dlang.org from time to time and see it evolve, | and Walter Bright still rocks, 20 years after. | gavinray wrote: | Walter -- you've been in the game a long, long time. One of the | first (the first?) commercial C++ compilers. | | 1. As a 20-something whose first (real) experience coding was | Visual Basic in Visual Studio 2008, I'd be interested to hear | your thoughts/take on "lessons we've forgotten" or things | programmers nowadays think is something new, but is just an old | thing being re-discovered/re-branded. | | 2. Also interested to hear your take on software bloat. I grew | up on Windows XP, maybe it's the nostalgia, but I feel like | both the responsiveness and usability of apps has declined, | despite a x1000 fold increase in computer resources. | | I can't help but get this sense of both awe and disgust that | when I was a little kid, programs were written with so much | more efficiency. | | The peak of absurdism for me was when I sent both an SNES | emulator and an SNES game ROM as a Discord chat message | attachment to my wife the other night. The ENTIRE PROGRAM took | up less space than a picture of a houseplant from my cellphone! | | (Just 4MB, out of the 8MB limit for message attachments). | | What're your thoughts here? Are we doomed? | | -------- | | By the way, I <3 D. | | It might not have a very big ecosystem, or huge backers, but as | a LANGUAGE I can think of almost nothing I enjoy writing more. | | (Though if there were an official LSP/tooling in-tree so that | IDE intellisense worked when using UFCS syntax that would be | life-changing. Currently, I restrict myself from using post-fix | functions at all because they break Code-D's intellisense, so | it's a waste of one of the best features =/ ) | | Maybe Stefan Koch's new "reflect" thing that spits out the | JSON-looking AST can be useful for this? I'm not super | knowledgeable though. | WalterBright wrote: | Thanks for your thoughts. I'm not sure about lessons | forgotten, but there are definitely lessons never learned. | One is the use of macros in programming languages. Macros are | one of those great ideas that seem almost miraculous. They | provide immense power to the programmer. | | Unfortunately, the dahk side of macros inevitably consumes | the user. The macros inevitably become so confusing, | pervasive and complex that the author winds up inventing his | own undocumented mess of a language, unusable for anyone | else. | | For example (one of my favorite anecdotes!) back in the 90s a | friend of mine worked at Microsoft. A manager showed him a | program written in assembler that needed a bug fixed. Several | programmers had been assigned to it one after the other, and | they all failed. | | It seems the original implementer, who had since left the | company, had invented his own macro language using MASM, | Microsoft's macro assembler. Nobody could figure it out. | | My friend said "I can fix that" and fixed the bug and checked | it in in two hours. The manager, astonished, asked him how he | figured it out. He said "I didn't figure it out. I | disassembled the object code using Walter's disassembler that | turns it into assembler source code, found the bug, fixed it, | and checked in the new asm source code!" | xyzzy_plugh wrote: | > The macros inevitably become so confusing, pervasive and | complex that the author winds up inventing his own | undocumented mess of a language, unusable for anyone else. | | This is not limited to macros, but any abstraction. | | Let's step back and rewrite the quote: | | > The abstractions inevitably become so confusing, | pervasive and complex that the author winds up inventing | his own undocumented mess of a language, unusable for | anyone else. | | The key fault that trips up so many talented programmers | (if not all) at least some point during their career (and | hopefully not continuously, though I certainly know a few | cases) is confusing convenience with simple. Convenience is | almost always more complex, not simpler. Macros happen to | wear their complex hearts on their sleeves. | | You can address any of these problems by _addressing the | problems_ you succinctly listed: documentation and | usability. | | Take React for example. It's an abstraction, arguably a new | "language", and requires ample documentation and usability | concessions to be palatable. You could accomplish this with | macros as well. | | But like any abstraction, the real problems arise during | maintenance, and thus it becomes a Software Engineering | problem -- whatever that means. This is where Software | Engineering as a poorly-defined pseudo-profession has | failed to demarcate itself from simple programming: the | quality, maintenance and longevity of living code bases. | | The masses unfortunately still don't see the forest for the | trees, so I agree that it's something we've never seemed to | learn, if perhaps using a broader definition. | sp33der89 wrote: | So I'm not a fan of metaprogramming or heavy abuse of | tricks for convenience either, and I do get and agree | with your point! | | But for some anecdotal nuance concerning the React | example: > Take React for example. It's an abstraction, | arguably a new "language", and requires ample | documentation and usability concessions to be palatable. | You could accomplish this with macros as well. | | I feel like the standard before React was just every | (web) framework inventing its own templating language, | whereas I found React to be really easy to learn, because | the way it abstracted things were straightforward and | well explained. It's tooling however is one of the | scariest things I've ever seen haha. | klodolph wrote: | I recently wrote a React app without using the "create- | react-app" tool... just by writing JavaScript code, later | TypeScript, and bundling it with Rollup.js. | | Doing things this way shows you that the tooling doesn't | _have_ to be complicated. I assume that there are very | good reasons why the tooling is complicated--stuff like | code splitting, modular CSS, etc. If you're writing pure | JS React and putting the CSS elsewhere, you can squeak by | with fairly simple tools. | random314 wrote: | > This is not limited to macros, but any abstraction. | | Disagree here. Unix process, file access api's, | programming languages are all abstractions that make life | easier. | raverbashing wrote: | Disagree. There are abstractions and there are | abstractions. | | Macros are too big of a footgun of an abstraction. | Because they can change the syntax of the language, they | can hide functionality in non-obvious ways and they're | just another band-aid on top of the languages limitations | (the two latter points are especially true for C). And | more often than not they're worse than just writing using | the languages capabilities. | | Yes I'm sure people writing C macros will sit down and | document them, and make them usable. Not. | | That being said, Rust macros are a world apart from C | macros. | fouric wrote: | There are macros, and there are macros. | | You've used C and Rust macros. Have you seen Common Lisp | macros? | | I've read a fair amount of Common Lisp code written by | other people, and every time I had difficulty | understanding something, it was invariably plain CL, and | not a macro. | | Maybe C programmers just have difficulty exercising | restraint when writing their macros. Or perhaps the | design of the language and the macro system (which is | basically just text pre-processing) don't mesh well | together. | | Regardless, I haven't noticed macros being a footgun in | CL. Sure, there are doubtless people out there who have | abused it (and will continue to do so) - but that's true | for _every_ language feature; meanwhile, it doesn 't seem | like macros themselves are actually a problem, in the | sense that they're particularly easy to abuse compared to | the rest of the language (a distinction that I might give | to C raw pointers, for instance). | | If anything, (good - CL) macros are _easier_ to | understand than many other features, because they 're | (usually) referentially transparent functions with a | clearly defined input and output that runs once at | compile-time, on known data, which you can manually | expand and inspect, and they tend to rarely interact with | other features of the language. With rare (but useful) | exceptions, macros don't involve networking, async, | threads, dynamic environments, databases, stack limits, | or any of the other strands in the spider-web complexity | that tends to make programming hard. | WalterBright wrote: | At one point, I decided to unwind all my use of macros in | C. I was actually very happy with the result. My code was | much better. | Hermitian909 wrote: | > another band-aid on top of the languages limitations | | Those limitations are real though, and getting in peoples | way. I'd also add most language designers would not | consider C macros as "real" macros. | | Think of abstractions as power tools, you want to use the | least powerful one that solves the problem so you don't | lose a hand. If you're cutting a string you pull out some | scissors, if you're cutting a 10 foot thick steel rod, | you grab some hydraulic shears; so it goes with | abstractions. | | Most people never need macros, the abstraction equivalent | of hydraulic shears, because most of the time your | problem isn't that difficult. That doesn't mean those | problems aren't out there or that macros shouldn't exist. | gavinray wrote: | Thanks for taking the time to reply Walter, genuinely | appreciate it! > "Unfortunately, the dahk | side of macros inevitably consumes the user. The macros | inevitably become so confusing, pervasive and complex that | the author winds up inventing his own undocumented mess of | a language, unusable for anyone else." | | Yes! Modern languages have all adopted this approach it | seems, trading macros for proper compile-time expressions. | Rust uses "#[feature]" I believe, pretty sure Zig and Nim | has something for this as well. | | I am very sparing even when using mixins/template mixins in | D -- the second you do, it ratchets the debugging | difficulty up to "11" and becomes am order of magnitude | harder to reason about program state. | | Great power, great responsibility. I'm an "avoid at all | costs" kind of guy, unless you can really justify it. | | If C++ didn't have macros (which invariably get abused, | along with templates) I think I might not hate it so much. | Let us pray that the "constexpr" idea they "borrowed" from | you may slowly fix this a little over time ;) | | I went through a phase earlier in my dev career where I | thought "Metaprogramming is so powerful and cool!", and | I've put that behind me now. I just want boring, easy-to- | read + maintain, predictable code. | | Ironically I used to poke fun at Java and .NET but I've | come to appreciate the "stupidity". "Dumb" is easy to | understand, "dumb" is easy to maintain. "Clever" is bad. | > "My friend said "I can fix that" and fixed the bug and | checked it in in two hours. The manager, astonished, asked | him how he figured it out. He said "I didn't figure it out. | I disassembled the object code using Walter's disassembler | that turns it into assembler source code, found the bug, | fixed it, and checked in the new asm source code!"" | | Ha! | | I suppose while I'm at it, I ought to thank you for all the | Digital Mars tools that myself and many others still use | today: | | https://www.digitalmars.com/ctg/ctg.html | | The Digital Mars tools for working with PE/COFF files and | libs/binaries are indispensable. I suppose they've helped | many tens of thousands of people. | WalterBright wrote: | They're certainly indispensable to me! Some of them I | wrote for the purpose of understanding the file format. | Writing a pretty-printer is a great way to understand. | pixelgeek wrote: | Were you involved with the DOS version of the game? A friend in | university had a copy of it on the DOS machine we used to type | papers and I got rapidly sucked in after discovering it. | WalterBright wrote: | The character mode DOS game I wrote. The graphics one was | converted from text to graphics by Mark Baldwin. | pixelgeek wrote: | Did it still use your AI? | WalterBright wrote: | Yes. | codyguy wrote: | Hey Walter, What were your "salesman" lessons from Empire? What | would you do differently today? | WalterBright wrote: | I'd do everything different today. Being a nerd, I had | absolutely terrible social skills and did everything wrong. I | couldn't sell a $20 bill for $10. I've been trying for | decades to do better with that. | | But the best lesson is to associate with someone who can | sell. | Torwald wrote: | Why can one city just build one unit at a time? Is there a game | design rationale behind this? | WalterBright wrote: | Too many units too fast just seemed to create a logjam where | then you'd have your units attack each other just to get them | out of the way. | Torwald wrote: | Thank you. This is something the Civ5 designers should have | known. | tombert wrote: | Hi Walter. | | I was curious about your opinions on some of the mathey | functional languages out there, like Haskell or OCaml or F# or | even something more elaborate like Idris or Agda. Do you feel | like they should have a place in industry, or just high-level | self-indulgence? | WalterBright wrote: | I took Erik Maijer's course on Haskell, and enjoyed it quite | a bit, though I haven't written a line of Haskell. D makes | available a number of functional language things, like | transitive immutability, purity, and lambdas. Haskell went a | bit too far with minimizing the syntax, as redundancy in | syntax makes for better error diagnostics. Otherwise it's a | nice language. | | I attempted to write some code in OCaml, but failed | miserably. My (short) programs would fail with | incomprehensible (to me) error messages. Trying different | syntaxes just produced other messages. Other than the OCaml | book, which I had, I couldn't find any helpful information | online. I gave up on OCaml. OCaml may actually be a great | language if it had a better compiler and far better | documentation. | | I know nothing about F#, Idris or Agda. | pwdisswordfish0 wrote: | The Computer History Museum really needs to do an interview with | Walter to add to their oral histories series. pls halp. | syngrog66 wrote: | I loved Empire Deluxe so much (by Baldwin & Bright) -- my | favorite in the series -- that I once wrote my own private clone. | in C and OpenGL. even drew all the bitmap icons and tile graphics | myself. went nuts adding extra unit types. now gathering dust on | a "disk" somewhere. Tell myself some rainy day I'll resurrect | it... | mindcrime wrote: | Great interview! I've always thought it was really neat that | Walter posts here semi-frequently, and it's really fascinating to | get even more of a peek into the mind of such a creative | individual. | | Now I really need to get serious about starting a project in D so | I can learn it properly... | WalterBright wrote: | I still have plenty of critics :-) | dang wrote: | Here's Walter's comment which the OP refers to at the beginning: | | https://news.ycombinator.com/item?id=28658090 | wolverine876 wrote: | > My interest in Empire is not so much playing it anymore, it's | devising a better computer strategy. I'm a lot more experienced | in how to do such things today, and the temptation is strong to | go do it. But I need to focus on my compiler stuff. | | Please, karma grant me this wish: ... ___________________________________________________________________ (page generated 2021-10-20 23:00 UTC)