Hacker News new | ask | show | jobs
Game AI Pro (gameaipro.com)
389 points by SimplyUseless 2328 days ago
15 comments

I am just an NPC until I get coffee.

For AI researcher Game AI is like porn. It's cheap tricks and obviously fake but oddly fascinating. Sometimes you find a new trick you want to try in real life.

Marvin Minsky once said "I bet the human brain is a kludge." If I had to bet, I would say that human brain is full of dirty tricks, incomplete solutions, shortcuts and artificially limited problem spaces evolved to pick berries and avoid tigers, not to understand the world. Combining many tricks together can create illusion of generality that is very convincing.

> If I had to bet, I would say that human brain is full of dirty tricks, incomplete solutions, shortcuts and artificially limited problem spaces evolved to pick berries and avoid tigers, not to understand the world.

Wikipedia has an interesting list of cognitive biases [1]. Going through these, I tend to think of all of them as heuristic failures, where those shortcuts and incomplete solutions are pushed to edge cases.

[1] https://en.wikipedia.org/wiki/List_of_cognitive_biases

I’d go further and conjecture that our cognitive biases are necessary, that the “theoretically perfect” models that these biases are compared against when being called biases are actually spherical cows in a vacuum.

However, I’m not a neuroscientist, and my knowledge and use of A.I. is limited to hobby projects.

Necessary to what end? It could be necessary to maximize survival for the species, but that doesnt make it necessary to maximize survival for an individual.

It's perfectly possible our heuristics are muddied beyond necessity in order to generate variety in action, so as to reduce risk to the unknown for the species - even though it would cause a minority of individuals to consistently make sub-optimal choices. From a speculative standpoint, it's easy to find examples of people doing things that we consider 'stupid' but it pays off because of some unlikely event occurring in coincidence.

Reality has a lot of unknowns. There is no perfect model that could account for that. It's possible being hyper-intelligent (beyond our current ability) is (or was) a disadvantage for the species

Take depression and nihilism for example. Great intelligence can overcome the very drives that makes us want to keep living - which is an arbitrary cause, and an extremely tedious activity.
> evolved to pick berries and avoid tigers

Yeah, that's the thing - the brain and body evolved for a much different environment than the one we find ourselves in today.

So some aspects which used to be advantages are now disadvantages that we have to actively manage with things like exercise, healthy diet, meditation. Which the brain fights against.

I’d take the other side of that strongly, if it was possible. The human brain is definitely not a kludge by any definition. And a lot of the tricks people think they know are not tricks at all.

Neuroscientists are the new doctors of the 50s. We thought the appendix was useless turns out it has many uses. We thought priming and all these “tricks” were things and then the crisis and Kahneman et al were debunked.

I bet the brain is just as elegant and powerful as it has to be to do the incredible complex things we do, and we’re just so far from really understanding it that we run around appendicizing all sorts of things we just don’t really know well yet.

> I bet the brain is just as elegant and powerful as it has to be to do the incredible complex things we do

But no more than that. Which is what Minsky was saying.

Not at all. Kludge being the operative word. I claim the brain is fantastically not kludgy. It has incredibly flexibility, adaptiveness and no duct tape or shortcuts. It “has to be” incredibly good at so many things - it’s basically the perfect general computation machine. It “has to be” not kludgy. Minsky is part of an era where scientists were all about showing how humans were easily fallible and much of that was debunked.

Sorry but you’re not following my point or his if you think they agree.

>I claim the brain is fantastically not kludgy. It has incredibly flexibility, adaptiveness and no duct tape or shortcuts.

Why can't it be both? Maybe the duct tape and shortcuts are what give the human brain it's fantastic adaptability. Duct tape and shortcuts aren't a bad thing necessarily. Personally, I think that's what gives the human race as a whole it's fantastic adaptability. You've got millions of people each with their own duct tape and shortcuts to the same problems, meaning each of us does things just a little bit differently, we see other humans with their shortcuts and slap them onto our own with some duct tape and we get better at things or learn something new. Do this over millions of years and generations and you've got a pretty damn capable brain that's slapped together millions of years worth duct taped together solutions and skills that keep growing as we hand our giant ball of duct tape to successive generations.

I just don’t think in millions of years of evolution the shortcuts are what worked. I think our brains are the result of non shortcuts winning over a long period of time.

It is funny how willing computer scientists are to want to use a duct tape analogy. I think it’s because programming, which is basically the polar opposite of a brain (precise and unintelligent) requires so much damn duct tape if you want to get anywhere useful. Meanwhile a brain literally requires as little duct tape as possible if you want it to be generally good.

It's not kludgey until it's "certain" about something and then it just offloads to past experience reaching temporal projections.
Sounds like the right way to do things. I mean people aren’t perfectly intelligent, but being a bit stubborn about things even when you’re wrong sounds like a safe strategy in world of incomplete information. If people were less wrong-headed-confident they may not defend important other things they don’t know 100% to be right.

It’s a heuristic that can be wrong, but the heuristic itself isn’t kludgy just the occasional specific use case can be wrong.

Here’s an analogy: any individual ant does many things that look stupid for its own survival. But would you call the ants thinking “kludgy”?

> We thought the appendix was useless turns out it has many uses.

Can you elaborate?

I recently learned that current appendectomy procedure (at least in Europe) calls for the removal of the appendix even if a surgery should reveal that the organ is in fact completely healthy – because the procedure from that point is considered so unrisky, and the organ considered so useless, that the potential future risk of a medical professional misinterpreting the existence of an operational scar as an indicator of a previously performed appendectomy is deemed more problematic.

One recent theory suggests that the appendix acts as a safehouse for beneficial gut bacteria in the event that the gut microflora is wiped out:

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

The kludginess of brains is textbook neuroscience, from instincts to reflexes, to illusions and more.

Indeed, Game AI puts the "Game" first -- as it should for Games, but to the detriment of anyone who cares more about AI and wants Games to be a fun place to study AI.

If we split Game AI into "problem solving" (like pathfinding) and "opponent personality", then we can recover a lot of good AI that generalizes beyond games, without being misled by the parts that only useful for tricking people in a toy environment.

> Marvin Minsky

Can we still cite Marvin Minsky in the AI field given the allegations that have arisen regarding his relationship with Epstein and sex trafficking?

We should find better luminaries.

I'm all for redemption and I hope Stallman comes around and apologizes, but Minsky went to the grave with whatever happened.

Instead of downvoting me without a stated reason, can you provide a refutation? I'm open to changing my mind, but this is where it stands right now. I think we need to choose those we hold in esteem.
What a generous gift :)

And even though they gave a talk about in in 2015, their "Simplest AI Trick in the Book" is still not implemented by some games released nowadays.

In case you don't know it, it's:

0.2s reaction time for aiming

+ 0.4s reaction time for yes/no decisions

+ additional delay for ambiguity, surprise, or limited visibility

I wholeheartedly agree with this advice. Just seeing your opponent taking a moment to think makes whatever it is they do so much more convincing.

Download it all with

wget -r -A.pdf http://www.gameaipro.com/

wget -r -A.zip http://www.gameaipro.com/

That seems a bit rude to me, especially since they

a) sell PDF ebooks

and

b) explicitly say that you are not supposed to re-upload the content elsewhere.

Where is this re upload you mention
Why? They've made this all available, why is grabbing it all in increase your own convenience (eg offline reading, searching) rude?
Because when you actually read it, you will download 1 article per 30 minutes. If you batch-download all of their content now, you'll create much more peak load and, hence, costs for them.
You can use --limit-rate=500k if you want to limit the bandwidth you're consuming.

And load does not translate to cost for everybody. If you saturate the connection to my VPS, I don't pay more, it just gets slower for everybody in contention. I can spin up mirrors but if I'm offering a free resource like this, I'd be more likely to limit the bandwidth-per-client-IP or just actively let it run slow. They could even limit the bandwith to the subdirectory with...

    location /download/ {
        limit_conn addr 1;
        limit_rate 50k;
    }
On the other hand, if you download it all at once you aren't constantly reloading a page when you get back to it and you aren't limited to reading it when you're online. I do see the point you're making, though I think it depends on the author's perspective.
So read the wget man page and add settings to your liking:

--wait=5000 --random-wait

Done...

so he should seed a torrent instead of a wget command?
wget does not re-upload the content elsewhere.
Very cool. I always expect a link like this to either be some super basic examples (e.g. how to implement flocking) or articles detailing techniques used in games from ~20 years ago.

Very cool how recent and modern these are (along with super reputable authors)

Is this directly from the authors? If yes, I'm a bit shocked given the prices for the book when searching for ed 1, ed 2 and ed 3 on Google. Please add a donation button to the site.

I just finished the first four sections and I love it. Thanks a lot!

They always do this when the next version of the book is close to coming out. The first 2 have been available for free for a while. It is expected with this that the 4th is coming soon.
I've been thinking a lot about trying to make an AI for a turn based 4X game. I believe an AI that could defeat the strongest human players in (for example) Civilization would be more impressive than AlphaStar and the Dota AIs.

I think it might give the gaming industry a kick in the pants to start utilizing more advance AI techniques in general, since it seems almost all discussions of strong AI in games are dominated by apologists explaining why it's not practical. Just one example of strong AI in a successful game would change the industry.

After strong AIs are common, we can persue the even more interesting task of dumbing them down in fun ways.

Having an AI defeat the strongest human players (without cheating) isn't often the hard part, its making it fun, believable, interesting or, indeed, beatable (its no fun if you can never ever win) is often the hard part. A perfectly minmaxing AI that makes perfect decisions isn't very interesting to players. Outsmarting players in interesting ways is, well, interesting, but just always playing the best move in any given scenario (like what deep blue did with its search-based "AI") can create perfect play if the search space is within the bounds of time/memory of the AI, but that's not very interesting to play against or watch.
Have you played Civilization? The challenge of making a legitimate, human-beating AI, is near insurmountable.
> After strong AIs are common, we can persue the even more interesting task of dumbing them down in fun ways

An artificially handicapped or limited smart ai in video games is often obvious and not fun.

I don't know about that, I much prefer playing chess video games against an artificially limited AI. Granted you did say "often", and I agree this is the exception.

Starting with an AI that is weaker than human players, and then artificially limiting it even further does not produce a great AI. Although, some players still choose to play against these easiest of AIs.

I believe starting with an AI that is far stronger than any human, and then artificially limiting it will be fun. This is a fundamentally different situation. This is like a chess engine, no human can hope to win without some artificial limitations on the AI. This is a type of AI we have never experience outside of a few abstract board games like chess. I look forward to seeing AIs like this come to 4X style games such as Civilization.

Would you rather play chess against a computer you were bound to be crushed by 100 out of 100 times, or a still formidable opponent you could eke out a 25% winrate against?
What a cool and useful resource. Unfortunately, all of the pdf files are inaccessible to assistive technology (such as screen readers).
What makes you think so? I tested book 3 chapter 1 with Okular and Festival plugin, works fine.
> Unfortunately, the time between seeing a decision acted out and the actual act of making that decision can mean that all relevant information has already been discarded. Ideally if the entire game simu-lation could be rewound to the exact moment in time when the error occurred, it would make notoriously difficult problems to debug, trivial to understand why they occurred.

> Game engines have typically made reproducing these types of problems easier using deterministic playback methods (Dickinson 2001), where the entire state of the game simu-lation can jump back in time and resimulate the same problem over and over (Llopis 2008).

Imagine if you could do this for all programming? [from chapter 6]

> Imagine if you could do this for all programming? [from chapter 6]

rr comes pretty close. https://rr-project.org/

The RVO chapter, and that concept I general is an amazing one because they really created a method for 2 autonomous characters avoiding collisions on a natural way - with code that is easy to understand
Love these books. Two techniques I’ve found hugely valuable in practice are utility-based AI and flow field pathfinding/goal seeking.
Shouldn't it have (2017) in title?
"All chapters are available to download as of September 2019."
As Hacker News is mostly informational resource, it is important when the information was produced, not when it became free of charge.
Thank! Nice to see people releasing this kind of material for free!
Does anyone know the reason why they suddenly became free?
Thank you very much!
Yeah this is awesome