Hacker News new | ask | show | jobs
by moksly 1655 days ago
That doesn’t make a lot of sense though. In my country first year CS students build game of life versions with thousands of not millions of individual entities all going about their business and interacting with each other in some shitty math based programming language, using math they typically get from Google because it comes from biology.

How can that be a thing of what you say is true?

2 comments

I would say first, that's the power of exponential complexity. Second, AI in games tends to consist of somewhat complicated goal-based & fuzzy logic behaviors. Third, game AI agents have interactions that take place within a 3d world that has to be modeled accurately. That means lots of expensive computations for things like line of sight, pathfinding, and so on. Finally, given that games are soft real-time and include remarkably expensive 3D rendering, the compute budget available for AI functions I would guess would be somewhere around the order of 2ms per frame (on a 16.7 ms frame, for 60fps).

Though, two through four can usually be handled without issue, provided the devs know what they're doing & architect the engine correctly. (edit: And keep the scope in check, which ultimately is the responsibility of the leadership.) Unfortunately, this appears to be where #1 messed things up for them.

You don't really need to rerun your AI logic every frame though. It's more than enough if you do it every ~second, and can compute it on a separate thread.
That depends on the type of game. The game I am working on would not work with a AI update every second.
are we talking about the same game of life? in conway's, the update logic for a cell depends only on the immediate neighbors of that cell. so the time to update an entire frame is O(m*n), which is not hard for any matrix size that would reasonably fit on a laptop screen.