HN user

dfan

2,004 karma

I first worked at Blue Sky Productions aka Looking Glass Technologies aka Looking Glass Studios, and coded/designed/wrote/composed for some of their early games, most notably Ultima Underworld.

Then I joined Harmonix Music Systems, where I did code and game design on a bunch of music games, including Guitar Hero and Rock Band.

Most recently I did machine learning research in the Algorithmic Systems Group at Analog Garage, a division of Analog Devices.

Posts4
Comments357
View on HN

Ha, I didn't realize that I was replying to the person who wrote the post!

The audience I had in mind when writing it was people who were already quite experienced in playing interactive fiction and could then be challenged in a new way while bringing their old skills to bear. So it's sort of a second-level game in that respect (so is 9:05, in different ways, as someone else mentioned).

The paragraph on Go AI looked accurate to me. Go AI research spent decades trying to incorporate human-written rules about tactics and strategy. None of that is used any more, although human knowledge is leveraged a bit in the strongest programs when choosing useful features to feed into the neural nets. (Strong) Go AIs are not trained on human games anymore. Indeed they don't search the entire sample space when they perform MCTS, but I don't see Sutton claiming that they do.

Even when Google Translate got pretty good I was not really able to effectively translate Chinese or Japanese text about Go (the game). I had similar issues to the ones mentioned in this post. Many Chinese and Japanese words (e.g., "ko") have a very specific meaning in the context of Go, but they also have regular meanings (e.g., "robbery") in more normal contexts, so Google Translate would translate text in a generic way, which made everything unintelligible. With modern LLMs, I can now preface my translation requests with instructions such as "I am going to ask you to translate some Chinese text accompanying weiqi diagrams. Your translations should be idiomatic and not shy away from Go jargon. For example, 拆 = extension, 夹 = pincer, 刺 and 觑 = peep.", and it does a fantastic job, enough for me to basically read anything I want. It was lucky for me that evidently enough Go material already existed in the training set that I didn't have to do anything more special.

(Some chess corrections, in case the author is reading: the moves at the start of chess games are called openings in English, not openers; there are not distinct white-piece and black-piece openings, although of course an individual player will probably study a given opening from the point of view of one side or the other; their study is considered fundamental all the way up to the highest level, in fact more so as you increase in skill; and the Sicilian variation in question is the Najdorf, not Najdork.)

I agree with all of the above, including the hypothesis that the OP likely had absolute pitch to some degree as a child and not thought about it. Everyone I personally know with perfect pitch (including myself) started engaging with music seriously very early on in life. (I don't know quickly I acquired it because it's always been as easy as identifying colors and I didn't know it was unusual until my piano teacher noticed.)

For me piano is definitely the easiest instrument to identify, I'm sure largely because it's what I've played all my life. Pipe organs are the worst. I assume that in general the purity of the tone correlates negatively with ease of identification.

The thing that finally made me very confident that I had aphantasia (back in 1998, before it was A Thing) is that I realized that my ability to "hallucinate" sounds is excellent. I can re-hear songs in my head, I can compose music and hear it as I think about it, I can hear my friends and family talking with their particular cadences and accents. I can't do anything remotely like that with visual images. Before I had that realization, I thought it was pretty possible that I was "just describing the same experience differently".

Same here! I think whatever compensatory mechanisms I've come up with turn out to be real advantages in some ways.

One interesting thing that I've found is that my approach to physics and math problems is often extremely geometric. Even if I don't visually look at things, I'm constantly constructing objects in my head (e.g., graphs of functions) and playing with them, although it's in more of a tactile way. I'll immediately start thinking "what does this function look like?" when my peers are more likely to start by pushing symbols around.

As an addendum, when I calculate variations in chess or Go I sometimes close my eyes because my "board database access" can be easier to operate when everything is purely in my head, as opposed to performing mental diffs on the physical board in front of me, which requires me to keep track of both real and virtual pieces.

IM David Pruess has aphantasia and can play multiple simultaneous blindfold games.

Pretty much everyone at my level (2000 USCF) can play blindfold. I always assumed that I was completely unable to because of my aphantasia, but when I heard about Pruess's story, I decided to work on it, and I now can, although with difficulty and very slowly.

Basically I still keep around all the information about where all the pieces are; it's just not on a virtual board that I "look" at, it's stored more abstractly. I keep track of clusters of pieces and relations between them. The fact that I have an excellent sense of the board itself (I know how all the squares relate instinctively) helps. But I still have to stop all the time and confirm where all the pieces are (or, conversely, what's on every square).

One issue with this is that it encourages collusion. If you're a top GM playing someone of equal skill, it's +EV to agree to flip a coin beforehand to determine who will win (and then play a fake game) rather than playing it for real.

Some chess tournaments have experimented with giving 1/3 point for draws instead of 1/2 and it didn't really change much. Mostly it acted as a tiebreaker, which you could have done by just using "most wins" as a tiebreaker anyway.

My favorite idea (not mine) for creating decisive results in chess is that when a draw is agreed, you switch sides and start a new game, but don't reset the clocks.

It kind of predicted LLMs too! According to the framing story, the text of the novel was supposedly created by feeding in lots of source material and then having the computer WESCAC generate a plausible first-person account of the protagonist's life.

Othello Is Solved? 3 years ago

"Weakly solving" a game is a technical term. If you have weakly solved a game, you can play perfectly (achieve the optimal result) when the game starts from its initial position. If you have strongly solved it, you can play perfectly starting from any position.

This is exactly what I miss about modern computer-typeset sheet music. There's a lovely organicness to the very slightly splotchy noteheads etc. in old sheet music, and modern scores feel very antiseptic to me by comparison.

That really stuck out to me too. Given the author's care with other things and the fact that the quote marks in the dissertation itself look fine, I assume it's just an unfortunate accidental error and not the result of ignorance.

Brief followup to replies: we were all figuring it out as we went along. When you're doing something for the first time, it tends not to be optimal. People here have noted the janky controls in particular. Even for things where we did iterate a lot and were happy with our solution, it was a solution in a 1994 context, where games were punishing and it was sort of a point of honor to not cut players a break. Game design has advanced a lot in the last thirty years. I'm proud of the the part we played in that evolution... but a lot of it happened after 1994.

I have not played the remake so I don't have any comments on it.

My guess is that the majority of Haskell programmers who are comfortable enough with the forall keyword to use it in practice would find the symbol ∀ to be more readable than the keyword, rather than less. (This is not snark, it's my actual belief.)

From the introduction: "The only background required of the reader is a good knowledge of advanced calculus and linear algebra. If the reader has seen basic mathematical analysis (e.g., norms, convergence, elementary topology), and basic probability theory, he or she should be able to follow every argument and discussion in the book."

It's a graduate-level course. If that paragraph is arcane, the book is probably a few courses in your future.

I assume the following quote was not meant to be precise:

The students didn’t even distribute the keys among themselves in a plausible manner. Each student chose an easy key to practice, so there were a lot of F majors and E minors, but no B flat minors or B majors.

but B major is pretty much the easiest scale to play on the piano there is!

This is really cool!

There are two motions in particular that pianists use constantly that don't seem to be represented in the robot model, if you're looking to get closer to the way that human limbs and digits operate. (Naturally there are plenty of other goals, but if you can imitate human playing you can do things like suggest fingerings or assess difficulty, as you say.)

1) turning at the elbow (so that your forearm can make an angle with the piano keyboard instead of always being perpendicular to it). It looks like you translate the forearm back and forth instead, which I assume must be a lot easier to handle because of course it's not how human arms work.

2) rotating the forearm/wrist (like turning a doorknob). Pianists do this on basically every note to a greater or lesser extent. To take an extreme example, if you alternate notes with your thumb and pinky you are almost completely using your wrist and not your fingers. Without this degree of freedom it is not really possible to emulate a competent pianist, if that is one of the eventual goals.

This is a good advertisement for the approach I came up with eventually: if you don't see a trivial way to the next square, find a sequence that will lead to it that starts in the lower right quadrant, then go to that quadrant and get to that square. (The lower right quadrant is the center ring in this diagram.)

I'm used to a version with pawns that involves less backtracking, so it took me a little while to stop trying to be "smarter" and just be okay with continually returning to home base.

This is different from the other answers, but it does answer your question: When I was a kid I had tons of math and logic puzzle books. Two I remember specifically are "Aha! Insight" and "Aha! Gotcha" by Martin Gardner. Decades later, when a math problem comes up in my work, I have an apparently unusual ability to cut to the heart of it ("by symmetry, we must have X" or "looking at this extreme case, we must have Y" or "this looks like a special case of Z" sort of things) instead of starting by soldiering through equations, and I credit a lot of that to all the puzzle-solving I did as a kid.