Live data from Hacker News

AI Programmer’s Bookshelf

alumni.media.mit.edu

21–28 of 28 posts

Re: AI Programmer’s Bookshelf

#21
post #10

This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI. In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our clas…

You're judging the state of the art in video game AI based on your undergraduate classes?

I used to work in video game AI having studied AI academically and was also disappointed that a) there isn't a lot of horse power to spend on AI so you keep it simple and make it fast and b) the game designers and producers don't want characters that learn, they want predictable well defined behaviours. They can then compose these to make fun gameplay for the player.

But that was in the 90's. At the point I left we were using A* and various optimizations on it and real time planning for multiple moving agents is non-trivial. People were using planning algorithms to make the ais behave in a more goal driven manner. I myself implemented a state machine based on Rodney Brook's subsumption architecture. Low level basic survival behaviours (run from grenade) would override the characters more high level goal (patrol route).

Ultimately I got bored but all the tech used in the 90's has continued to evolve and I'm sure there's some pretty interesting AI going on in games like gta 5 and assassins creed where you have large numbers of people and vehicles interacting.

No doubt machine learning as an off line process to teach characters to drive like players and so on will be a fun and productive area to work on soon

Re: AI Programmer’s Bookshelf

#23
post #10

This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI. In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our clas…

I've always found the tension between ivory tower AI and real application in games fascinating.

To me, games seem like a great place to test theory in a mode that can be unsupervised and self-grading, while also representing real world contraints.

I'm glad to see DeepMind and others make some advances.

Re: AI Programmer’s Bookshelf

#24
post #10

This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI. In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our clas…

> He told us people often thought it was far more complex, but that's really all there was to it.

You should check out Vehicles: Experiments in Synthetic Psychology. It describes an "ecosystem" of vehicles powered by solar collectors linked to their motors via simple neural networks. One of the big takeaways from it is that, even with incredibly simple networks, you can get complicated behavior that appears to demonstrate intention, when there's nothing of the sort.

Re: AI Programmer’s Bookshelf

#25
post #10

This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI. In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our clas…

I don't work in game AI, but my hunch is that part of the reason for any dissonance between state-of-the-art 'AI proper' and state-of-the-art game AI would be the abstraction level of interface permitted by the respective environments each participates in.

A lot of the big, breathtaking, (recent[0]) breakthroughs in 'AI proper' have been at the really really high level of abstraction of "how do I parse sense data". Questions like "What kinds of things are in this picture?", "How similar is this sentence to this other sentence?", or "What kind of thing is this thing?" are really asking, "How do I take this untyped, unstructured information and turn it in to something in my ontology?". This is a problem in the real world because photons and soundwaves don't come with type signatures.

In a game engine, however, you have powerful hooks directly into the physics of the world you're operating in. Beyond that, you've got hooks into the other agents that you're operating alongside[1]. With a higher-resolution system like this, the work required for seemingly-intelligent behavior becomes less. A lot of that work is offloaded into the higher granularity of the abstraction you're working under.

To make a completely unfounded hypothetical, and invert the trope, I'm not sure we'd be as smart as we are if we always could read each other's minds and read and write directly to reality.

---

[0] To be fair, a lot of the big push from the GOFAI work in the 60s+ was more in line with the kinds of things useful to game AIs; logic-oriented/planning systems.

[1] I know that one way to get more 'compelling' (and less uncanny) AIs in games and in academia is to limit their ability to transgress these boundaries that our intelligence operates under.

Re: AI Programmer’s Bookshelf

#26
post #10

This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI. In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our clas…

> actual AI

Ex-game developer here. I was also surprised at what "AI" looked like when I entered the game industry. It's easy to dismiss what game devs do as not "actual" AI, when really it's just two definitions of the terms.

In the academic community today, "AI" implies learning, often unassisted. That's a fine definition, but it's also a recent one.

When "AI" was originally coined, it simply referred to software that did things people used to think required some intelligence. Stuff like OCR and playing chess.

As our expectations of what computers can do grew, we kept redefining "intelligence" to mean fewer and fewer things. There's a weird feedback loop here, because our informal definition of "intelligence" is often "whatever only people can do". As soon as computers could beat us at chess, "beating a human at chess" got kicked out of the "intelligence" set. That meant chess software no longer gets called AI.

In games, "AI" just means "the code that controls what likelife in-game entities do". In the fiction of the game world, these entities have real intelligence. The game's implementation of that an artificial simulation of that intelligence. Thus -- "artificial intelligence".

In practice, it often lines up with the historical definition of what kinds of code was called "artificial intelligence". Many early AI researchers were in fact using games as their testbed.

It also ends up being fairly simple. Humans are so eager to anthropomorphize that it doesn't take that much simulated intelligence to get us to see a simulated entity as acting "alive". Simpler AI is also easier to implement, easier to debug, faster to execute, and much simpler to tune.

Learning algorithms are rare in games because they more often than not implement an anti-goal. A game designer's job is to give the player a carefully balanced experience that rides the knife edge between too easy (boring) and too hard (frustrating).

It is not the game's goal to make the entities as smart as possible. They would just kick the player's ass and that's no fun.

An AI that learned on its own is very hard to tune and would likely make the game no fun.

I do think there's room in games for learning AIs. But what I think would make sense is:

1. The fitness function the AI should train for is fun, not beating the player. Instead of rewarding AIs that win, reward ones that the player says were fun to play against.

2. You let the developers train the AI, then you bake those parameters in and don't do learning on the end user's machine.

Re: AI Programmer’s Bookshelf

#27
post #10

This is about game AIs, which are definitely interesting. But for the most part they overlap very little with what most people think of as AI. In undergrad (mid 2000s) I partially specialized in both computer graphics and machine learning, and took a video game class to try combining these skills. I have two big memories from this time that stuck with me. The first is the time a dev on Civilization 1 visited our clas…

I've been in the game industry for a long time and I've felt the same way. This had the opposite effect on me though, I wasn't very interested in AI because game AI wasn't very interesting. Now I'm getting more into AI largely due to reading HN for years, but also because of interesting applications in computer graphics.

There are games in the 90s that used machine learning techniques, Specifically Black and White and Republic: The Revolution, which were both worked on by Demis Hassabis who would later go on to work for Deep Mind on AlphaGo (https://en.wikipedia.org/wiki/Demis_Hassabis). I also think some racing games have used neural networks and some fighting games use hidden markov models in modes where AI adapts to player strategies.

I currently believe the game industry will adopt machine learning techniques in computer graphics, animation, procedural generation, game balance, simulation (vfx), and offline tools before agent behavior. Although, if NLP and speech recognition get good enough I can see it that stuff getting used pretty widely in certain types of video games.

Post reply on HN