HNHacker News
TopNewBestAskShowJobs

60654

1,890 karma · joined October 25, 2016

submissionscomments
60654··on Hobbyists beat professional designers in creating novel board games
Ah, a technical discussion! :) Sure, I'd be happy to dig in further into the details.

> Why do you think using genres to measure knowledge diversity is questionable? What is your concern about doing so? Please elaborate if you seem to have such a strong opinion on that.

Sure. Basically I treat a genre as a family of design solutions to a particular set of constraints, reified as artifacts. A genre will carry with it answers to a lot of question around who the player is, what is their role in the world, what kind of actions they can take on what kinds of objects (i.e. mechanics) and so on. In a sense, the choice of a genre answers a lot of the broad questions, letting the author delve deep into more detailed questions.

Going back to the author metaphor - it's like saying, Eco is lacking knowledge diversity because he mainly wrote books that tackled issues around meaning and semiotics. Sure, he never wrote any comic books or young adult novels. But that by itself is not a problem - that doesn't mean he had low "knowledge diversity" - especially since when he wrote about meaning, he dug deep into everything that related to it.

So in my design practice, I don't see deep expertise in specific genres as equivalent to "low knowledge diversity". Very much the opposite.

> Using the mashup of mechanics to measure novelty seems logical for two reasons. First, in creativity research, it is quite common to measure novelty as uniqueness or as distinctiveness regarding already existing "solutions."

What gets me here is uniqueness/distinctiveness purely based on taking mechanics and converting them into a distance metric. There's much, much more to a game than that! A game can be unique even when it shares a lot of mechanics with its predecessors. Indeed the whole history of game development is an evolution of designs, which are in conversation with what came before them - as in all arts, really.

Again, imagine complaining that Georgia O'Keefe had low "novelty" because she used traditional painting materials and composition.

> Second, the authors refer to the MDA framework in their method section as an explanation of why they use mechanics. Following this framework, mechanics are not only the core elements of a game but also the only thing a game designer is able to influence - not the dynamics (i.e., run-time behavior, which seems to be "gameplay" in your wording) nor aesthetics (i.e., emotional responses of the player, which seems to be "non-game play" in your wording).

So, a few things. Per MDA, mechanics are the only material elements of gameplay design that designers can influence - gameplay, as in the behavior of the game once it's put into motion by players. But they're not the only material elements of the game itself! Beyond just the aesthetics of interacting with game rules (the A in MDA) there are also sensory aesthetics, audiovisual aesthetics, and other elements of appreciating the game artifact on a material level.

But on a deeper level, just because M in MDA is the material substrate that designers can influence, that doesn't mean that's the interesting level to focus on. For example, take a game like Universal Paperclips. If we focused purely on the mechanics, it's a fairly tedious game with bog-standard resource loops. But if we look at the larger loops that the player participates in, and boosted by the innovative fiction (innovative by clicker game standards at least), the overall player experience is very different from what you'd expect by just looking at the mechanics!

And we could do the same exercise for basically any game. Just looking at the mechanics is reductionist, in terms of what the game brings to the table (as it were ;) ).

So that's the main problem I have with looking at just mechanics, and proclaiming a distance vector in mechanics as an novelty metric. It completely misses the forest for the trees.

Hope this was useful! Or at least enjoyable :)

60654··on Hobbyists beat professional designers in creating novel board games
Gamedev here. Sigh.

One, the measurement of novelty is bad: it's basically the measure of whether the game exhibits a novel mashup of mechanics according to the BoardGameGeek ontology of mechanics.

This is a terrible definition of novelty, as it ignores all of the other aspects of game design, both in gameplay (interesting systems, challenges, loops) and non-game play (fiction, setting, presentation, etc). Who measures novelty as "mashup of mechanics"?

Two, the measure of knowledge diversity is based on BGG reports of how many genres the designers have worked in. This is, again, not only questionable, but also leads to weird effects: imagine knocking Salman Rushdie, JRR Tolkien, or Umberto Eco for having low knowledge diversity because Amazon says they write books in only one or two genres!

But fine, even assuming that, the actual effects are not strong. Looking at the figures, the scatter plots are all over the place, and the trend lines fit poorly.

And finally, the main problem is: sure, if you compare hobbyists (who make what they want for fun) with professionals (who are making a product that needs to sell more than a small handful of copies), of course you're going to find that hobbyists are more free to experiment with wild permutations of mechanics. But in doing so, they conflate personal ability with situational constraints. What about professional designers if they were able to work without commercial constraints, like hobbyists?

60654··on Why make games for Linux if they don't sell?
Porting games to Linux is definitely not something you do for the money. Linux sales on Steam hover in the 1%-2% area of total sales, less than even MacOS.

On the plus side, if you use an engine like Unity, making a binary for Linux is no longer much of a problem (you don't have to wrangle xplatform libraries etc). On the minus side, actually testing and debugging things to make sure things work for customers who use a variety of distros and hardware is hard, especially since Steam tends to only officially support a single (usually outdated) version of Ubuntu at a time.

Larger teams will have the resources for this. But where it really hits hard, is the small indie team made up of Windows devs (as game devs tend to be), when the port is not completely turnkey (like, say, porting a Unity game to MacOS) and requires debugging in a completely foreign environment, when you know you might not get sales to pay for this work, and you're already under deadlines to fix a million other things.

60654··on NewLisp
Or the forced pass by value, or the lack of closures, or the namespaces kluge...

Or the choice of dynamic scoping - although judging from your username I suspect you might not mind that one as much ;)

60654··on Game Design Curriculum
It's going to be grating for any gamedev to hear games described as "useless", as if players' enjoyment was somehow not valuable.

But I think you're basically making the argument that games are art. That they exist for the aesthetic experience, and for no utilitarian purpose.

And I'm very much okay with that. :)

60654··on How do I design a game from scratch? A primer on core loops
Glad to hear it was useful!
60654··on How do I design a game from scratch? A primer on core loops
All games have loops within loops within loops! :)

The best games have a layering of loops of different frequencies, which complement each other. That's what gives games that "one more turn" feeling, if at every turn you're confronted with multiple decision points with different result horizons. So at every point in time, some decisions ripen and are ready to collect, while others require attention but will have payoffs at very different times in the future.

Edit: for roguelites like STS I would count a single run as the core loop. Especially in the presence of metagame, the benefits gathered during any single run add up, and make the player that much more interested in coming back and giving it another try.

60654··on How do I design a game from scratch? A primer on core loops
Gamedev here. Slight correction: what they're describing is the smallest viable loop, not necessarily the core loop.

The core loop is the smallest engagement loop in the game, where the player goes through it inside a single session, and reaches some kind of a stopping point, but also wants to come back and go through it all over again (right away, or next time). It can be the smallest loop, maybe, sometimes, but usually isn't.

For example, in this article, they focus on the loop "player returns the ball <-> opponent returns the ball". This is the smallest loop for sure.

But the core loop here is on the point level: "Someone serves, players exchange the ball back and forth, someone finally misses, the other person scores points. Repeat." Or maybe game or set level, for more advanced players who are no longer challenged by point play.

Similarly in a racing game: the core loop would be a race, not a single lap, or a single pass of an opponent's car. Or in an RPG: hitting the enemy and having the enemy hit you is a tiny loop, but it's not the core loop: doing a quest and coming back for a reward is much closer to what we're looking for in a core loop.

60654··on We need more video games that are social platforms first, games second
Gamedev here. A different perspective:

1. Social vs goal driven is a false dichotomy: multiplayer games are always both. In any player population you're going to get a mix of players driven by social and creative elements, driven by competition, driven by exploration, etc (cf. Bartle types or Yee player motivation taxonomy).

You can try to encourage some play types over others, but it's really hard to do a game that's social first, just because social by itself doesn't drive retention and acquisition enough: you need something else for players to do to have fun while they're also having fun socializing.

History of gamedev is full of social-first environments, from legions of old MUDs, to Second Life or There, to IMVU, etc. They never reached the same heights as MMO games because it's hard to make a game "sticky" without having the game there.

2. Building a platform first, and then building a game on it, is a quick way to lose all your money. Building a game first and then extending it to a platform is the correct direction, because if you don't have a game, you won't have users, see what works, etc. And until you have users, you don't know what players want from a platform.

3. "Still, it’s clear that we want to come together, not just in Instagram DMs and email threads, but as avatars navigating shared spaces. Somehow." That's just plainly false. Players are completely happy with social interactions without avatars, without 3d space, etc. There are many ways to make games more social, as gamedevs know well.

60654··on New Yorkers consider relocating post coronavirus
You can still get $1500/mo for a 2br on the north side. Just be on the brown line instead of the blue line.

The trendy neighborhoods can be just as expensive as SF SOMA, but there's so much inventory, so the non-trendy but nice neighborhoods are much, much cheaper.

60654··on Enemy AI: chasing a player without Navigation2D or A* pathfinding
Sure thing! And as I mentioned in another comment, if you google for "potential fields" and "flow fields" in games, there's a whole bunch of papers and talks on this.
60654··on Enemy AI: chasing a player without Navigation2D or A* pathfinding
Sounds like a classic potential field implementation, and yeah, they're very useful. There are two problems: scaling with map size (large maps or high detail maps), and update cost in action-heavy games (if the field source moves on every frame). But for small roguelikes it's a very good fit.
60654··on Enemy AI: chasing a player without Navigation2D or A* pathfinding
TLDR: instead of doing generic pathfinding, the player avatar drops decaying "scent" into the world grid, and enemies follow the player by doing gradient ascent.

The first time I've seen this technique in use was in the classic SimAnt game by Maxis, in the 90s; in research it was also explored in the ALife community. It's a cool trick, but by itself it's not quite enough, it's good for insect behavior but not much more.

But what has been useful is combining standard pathfinding with this. For example, imagine if one of your units dies and drops some "scent of death" into the surrounding area - and that scent gets incorporated into A* as a large cost value for traversing this terrain. Now all your other units will "smartly" start avoiding the dangerous area for a while, without having to do any expensive analysis of why the unit died there, e.g. was there an ambush there or some such.

(Google for "potential fields" and "flow fields" in games for more examples from commercial games.)

60654··on Gauss’s “Remarkable Theorem” and the best way to hold a pizza slice (2014)
Also: Labriola on the mag mile.
60654··on Gauss’s “Remarkable Theorem” and the best way to hold a pizza slice (2014)
By the way, this "best way" is so not true for deep dish pizza.

Good luck folding a slice of Giordano's! ;)

But on the plus side, it has its own structural integrity that makes folding unnecessary :)

60654··on Stanford researchers confirm N95 masks can be sterilized in oven
More recently: a 2017 mask decontamination study from Taiwan that compared a number of commonly-available solutions, using several mask types including N95:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5638397/

Surprisingly, the method that worked best was...

> "Place the test masks in a traditional electric rice cooker using dry heat for 3 minutes (149~164°C, without adding water)."

Apparently dry heat was much better at preserving the structural integrity of the different masks, compared to chemicals or steam.

60654··on German BSI withholds Truecrypt security report
Note, the title is no longer accurate. There's an update at the end of the article, along with a download link:

> Shortly before we published this article the BSI has allowed to publish the Truecrypt documents. They can be downloaded from the Frag den Staat web page. Update from December 16th 2019, 13:22

60654··on Economists Are Rethinking the Numbers on Inequality
While I don't have the time to read the PSZ paper right now, I'll just point out that their introduction contradicts your post, that the results are starkly different. I'll just quote verbatim from p 557:

> Even after taxes and transfers, there has been close to zero growth for working-age adults in the bottom 50% of the distribution since 1980. The aggregate flow of individualized government transfers has increased,but these transfers are largely targeted to the elderly and the middle-class (individuals above the median and below the 90th percentile). Transfers that go to the bottom 50% of earners havenot been large enough to lift their incomes significantly."

> "... our data show a sharp divergence in the growth experienced by the bottom 50% versus the rest of the economy. The average pretax income of the bottom 50% of adults has stagnated at about $16,000 per adult (in constant 2014 dollars ...) . As a result, the bottom 50% income share has collapsed from about 20% in 1980 to 12% in 2014. In the meantime, the average pretax income of top 1% adults rose from $420,000 to about $1.3 million, and their income share increased from about 12% in the early 1980s to 20% in 2014. The two groups have essentially switched their income shares, with eight points of national income transferred from the bottom 50% to the top 1%. The top 1% income share is now almost twice as large as the bottom 50% share, a group that is by definition 50 times more numerous. In 1980, top 1% adults earned on average 27 times more than bottom 50% adults before tax, while they earn 81 times more today. Second, government redistribution has offset only a smallfraction of the increase in pretax inequality."

60654··on Economists Are Rethinking the Numbers on Inequality
This Economist article points out some of the many small academic works that quibble over details with Piketty and Saez. But that's not anything new. The major points of their work, and especially of Piketty's monumental _Capital for the 21st century_ still stand: that capital is a positive feedback loop in a way that labor is not; that mid-20th-century laws that put brakes on this feedback loop have been removed; that a variety of data sources are confirming growing inequality and market capture particularly in the UK and US; and that the only reasonable solution for this is a tax on owned capital (not on income or cap gains) and the political chances of this happening are slim, etc.

And in the end this article is another one in their house style: not particularly informative in the details, they're not arguing openly or forcefully against Piketty, but instead bring up enough different nitpicky papers that it starts sowing doubt in the mind of a reader who hasn't actually read the book.

But then again The Economist has had it out for Piketty (and Saez) for a long time now, they very clearly hate Piketty's Capital and keep sniping at it, but can't stop themselves from bringing it up all the time. :)

At least they are very open about their biases: they promote a view that the solution to all ills is lower taxes and less regulation. However, Piketty's analysis and proposed solution directly contradicts that.

60654··on Chicago book returns surge 240% after city eliminates fines
This seems like an excellent move on the part of the library system and mayor's office. I don't have a horse in this race (no late books in a long time) but it's great to see this being implemented for everybody's benefit.
60654··on Artificial Intelligence Meets Natural Stupidity (1976) [pdf]
McDermott's paper is a classic for a reason. Back at the dawn of the first wave of AI hype, he was taking people to task over wishful thinking, and over applying aspirational labels to mundane computations (e.g. "thinking", "solving" for simple graph searches) thus making them sound more powerful than they were. And over building only toy problem solutions, under the assumption that the results would scale to real world problems (spoiler: they never did).

We need this kind of insight for this current wave of AI hype. Once again we're seeing a lot of wishful thinking, and a lot of aspirational labels (e.g. that DNNs are "thinking" up solutions etc). And inevitable extrapolation of toy solutions, assuming they will scale to real world scenarios (e.g. the fully autonomous driving fiasco). And the hype does not correspond to reality.

60654··on DNS over HTTPS–What Is It and Why Do People Care? [pdf]
Encrypted DNS is a good idea, I just wish all of the basic protocols were getting encryption in-place, instead of being reinvented over HTTPS.

First HTTP/3 (nee QUIC) reinvented TCP and ports over HTTPS, now DOH is reinventing DNS over HTTPS... Sigh. Both of these would be better off by evolving and modernizing their respective existing protocols. And HTTP is a client/server protocol with a _heavy_ handshake cost, why are we using it for a quick one-off request like DNS.

60654··on The Dream of New York's Forgotten Elevated Subway
Yeah, I think every line has elements that are elevated over streets as well as underground. And it's working fine, but that's because we fund them properly instead of closing them. ;)

By the way - CTA just released an update of their stunning "ride the rails" time-lapse videos filmed from the driver's seat. Really neat:

https://www.youtube.com/user/CTAConnections

60654··on Ask HN: What is the ops architecture like for AAA multiplayer game servers?
I'm very glad to see this summit is happening. I missed GDC Online after that got discontinued a few years back.
60654··on The Invincible – 1964 novel
This is a great novel just as a sci-fi book.

But if you read it through the lens of 1960s communist-era Poland, it adds a layer of poignant political and philosophical commentary.

TLDR: under post-WW2 communism there was a huge emphasis on the superiority of socialism, and a narrative of evolution and conflict that will inevitably bring the advancement of society and the victory of communism - and that this struggle was a necessary crucible to forge this victory (e.g. dialectical materialism [0], etc).

But The Invincible throws a different light on it. Yes, you can have evolution, you can have wars, but all this doesn't have to lead to anything better. It can just produce a swarm of automatons that do their thing thoughtlessly, just following simple rules that have been programmed into them, and reflexively harming anything that gets in their way.

And the only way for a human being to survive in those conditions is to shield their thoughts, and pretend to just go with the flow, in order to avoid being targeted by the swarm.

This is a striking metaphor of life under communism, and what it takes for a human being to survive in it - the kind of a metaphor of which Lem was a master.

[0] https://en.wikipedia.org/wiki/Main_Currents_of_Marxism#Summa...

60654··on Predictably Random
Oh hah, that's a bit unexpected. Ahh the crazy days of 386SX desktops without math coprocessors :)
60654··on Predictably Random
The third one looks like a LFSR [0]. I didn't recognize it at first because the factors used here are not the common ones that produce well known periods; not sure what period this one would have.

For what it's worth, LFSRs can be nice for generating random sequences with periods of predictable length - and they're cheap! They also recently got a bit of a publicity bump with the rediscovery of how Doom used one for the "death fade" transition, that randomly but exhaustively overpainted all screen pixels with blood red. [2]

[0] https://en.m.wikipedia.org/wiki/Linear-feedback_shift_regist...

[1] http://fabiensanglard.net/fizzlefade/index.php

But in general - yeah, there's a lot to consider with picking RNGs, not the least of which being context. For games Xorshift is often a good enough choice because it's fast, small, and the game environment is chaotic already (because of the unpredictable players) so there is rarely need for something much stronger.

60654··on Imagining the Western Other in 19th-Century Japanese Prints
These prints are currently on display at the Art Institute of Chicago [1] and if you're in the area, it's a highly recommended temp exhibition.

AIC is having a great run with prints lately. Before this they did a whole exhibit on Japanese mass produced prints, using Hokusai's "Great Wave off Kanagawa" and its variants as the leading example. [2]

[1] https://www.artic.edu/exhibitions/9332/yokohama-e-19th-centu...

[2] https://www.artic.edu/articles/743/seeing-triple-the-great-w...

60654··on A tiny language called Z (2013)
Right, so you need to support mixing some lists in, to complement meaningful whitespace, the way sweet-expressions or SRFI-49 do. But that's exactly because the consequences of "whitespace only" syntax are too severe.
60654··on A tiny language called Z (2013)
Cool idea with splitting function arguments into separate lines. It's a bit verbose, but avoids some of Python's old problems regarding what to do about inline lambdas.

But on the down side, now macros have to do string formatting (like adding indents and newlines) to produce output that is legible code, for example the "when" macro:

  defmacro when input
         fn blocks
            ap "if"
               ++ z:indent-before 3
                                  car blocks
                  ++ "\n"
                     ++ z:indent 3
                                 car cdr blocks
                        ++ "\n"
                           z:indent 3
                                    "unit"
            z:blocks input
That's one place where all languages that replace s-expressions with indentation seem to stumble equally: nested parens may look funny, but metaprogramming in lisps is delightfully easy because everything is a list and whitespace doesn't matter, so it's easy to produce and consume at compile time.
← PreviousPage 2 of 5Next →