Live data from Hacker News

Learning Machine Learning for Game Development

ai.googleblog.com

41–50 of 69 posts

Re: Learning Machine Learning for Game Development

#42

Earlier quoted context omitted.

>> The trickiest bit is deciding exactly what you want your AI to optimise for -- If you want a game where "anyone can win", you end up with coin toss. If you want a game where "skill is everything", you can accidentally end up with "who can click fastest". In Magic: the Gathering this balancing act is achieved by a set of constantly changing "environments" (sets of cards) that are updated every few months, when a ne…

Perfectly balanced games are plentiful, take rock, paper, scissors as an example. What makes those games interesting is the concept of Yomi[1] and learning to read an opponent. There's a decent amount of literature in the fighting game space and a bunch of other genres overlap as well. I remain pretty skeptical of ML being a primary tool here since a lot of Yomi is psychological and not necessarily an optimization pr…

"Nerf rock" - Scissors

Re: Learning Machine Learning for Game Development

#43
post #33

Earlier quoted context omitted.

Personally, i'd like to see AI used for "simple" things, not often tied to the core gameplay loop itself. Ie conceptually if you could tie the right gameplay components to an RNG function then the user could get new/unexpected experiences for a longer time. The problem is RNG often makes crap outputs. I'd be curious to see ML take this problem. I imagine the examples are limitless, but one that comes to mind might be…

I think you are right. There are SO many small mini games inside of nearly all RTS games which AI has yet to actually conquer, I will give another simple example, given a random map (and resources) identify chokepoints. As a human this is a huge clue on how to go about a game strategy (policy) but I have yet to find an AI do this (or optimize that part). From what I gather most time is spent on actually optimizing ra…

+1 among my favorite aspects in certain rts games.

My favorite case is empire earth, where there’s randomness in resource clustering as well as natural terrain. Depending on your strategy/units (and your opponents’) it’s increasingly grey whether a locale is even a choke point.

The homogeneity of, for example, Starcraft maps and limited unit options always made me feel like we were playing on an excel spreadsheet.

Re: Learning Machine Learning for Game Development

#44
I have a bone to pick with these "win probability" charts.

If it was truly a "win probability" chart, that means it's a forecast. Except it's a shit forecast because you're trying to predict really freaking far into the future (You don't even know how far because the game could end at any point in time).

It also makes zero sense. Think about it, I say "you have a 30% chance of winning the game from this position". What does that even mean? If I play well I have a 30% chance of winning? If my opponent is of equal skill I have a 30% chance of winning? It's completely uninterpretable.

There's a good reason for this though. It's not measuring "win probability", it's just maximizing the value of "winning" (I.e. predicting output = 1) given the current state.

They even admit this in the article!

"In addition to making decisions for the game AI, we also used the model to display the estimated win probability for a player over the course of the game"

It's supposed to be a vague and un-interpretable value because it's generated by a black box neural net. So why do we continue to pretend that this is a human-friendly value?

Re: Learning Machine Learning for Game Development

#45

I'd love to see this type of work applied to 4X grand strategy games where the AI has historically been pretty terrible and forces the developers to ramp up difficulty by giving the AI direct material advantages for a skilled player to overcome.

Yes please! I yearn for a CiV VI AI that can play competently through all of the eras without cheating. It's a masterpiece of a game, but the AI can't keep up with the mechanisms introduced.

Re: Learning Machine Learning for Game Development

#46

What if instead of spending time to train the ML model they just made a dummy client with it’s own simple probabilistic state machine or behaviour tree to balance the game? How much time and resources would be spent for above mentioned approach compared to ML approach? I think due to statistical nature of ML, it is seen as kind of an hammer to every problem that might be solved statistically(which there are lots of t…

What is really interesting to me is to train the game models from the existing player base.

This is fairly common but more simulation replaying in networked games with fake bots based on that gameplay. Previously I have done similar in networked games where the way points and reactions are reused in AI agents that mimic players. The networked players that we captured, if another player dropped, we replayed captured ghost plays essentially with more interactivity that seem more real than just AI. This allowed us to have networking game experience of matchup, that can drop a player, but seemingly did not but still have that player act human not just bot-like. This is now used in all our matchup/networking games because it makes the matchup/networked experience better for the player even if they end up playing a sim and not knowing it.

Taking that further if you could train the machine learning models from the existing player base for an additional level of focus it could really make the game fun and you could use it to even drive player behavior.

Machine learning definitely has a place in game testing and progression tuning. However, even more it would be nice if it can learn on the fly and not end up in predictable AI, one possible way would be capturing actual human player behavior and modeling that.

Re: Learning Machine Learning for Game Development

#47

I have a bone to pick with these "win probability" charts. If it was truly a "win probability" chart, that means it's a forecast. Except it's a shit forecast because you're trying to predict really freaking far into the future (You don't even know how far because the game could end at any point in time). It also makes zero sense. Think about it, I say "you have a 30% chance of winning the game from this position". Wh…

> Think about it, I say "you have a 30% chance of winning the game from this position". What does that even mean? If I play well I have a 30% chance of winning? If my opponent is of equal skill I have a 30% chance of winning? It's completely uninterpretable.

It means that the AI that generated the data has 30% chance of winning, or at least that's what it's trying to estimate.

Re: Learning Machine Learning for Game Development

#48

One really cool aspect of this: For the actual game state representation that the model would receive as input, we found that passing an "image" encoding to the CNN resulted in the best performance, beating all benchmark procedural agents and other types of networks (e.g. fully connected). It sounds like they literally decompose the game screen into inputs. E.g. in FPS games, your health is often displayed in the exa…

> It sounds like they literally decompose the game screen into inputs (...) Or maybe not. Maybe they decode the game state into an "image" (...)

The GIF above "An example game state representation used to train the neural network" makes it seem like it's the latter.

Some of the variables have an unexpected representation. For example to represent "chimera health" with value H, it seems like they just use the 3 rows at the top, with the first H pixels "on" (green) and the remaining "off" (black). Same thing for "Chimera Power" and "Link Energy".

I guess this might make sense since they are using a CNN, but I wonder why that works better than using a different architecture and passing each of these values as a single input.

Re: Learning Machine Learning for Game Development

#49

I have a bone to pick with these "win probability" charts. If it was truly a "win probability" chart, that means it's a forecast. Except it's a shit forecast because you're trying to predict really freaking far into the future (You don't even know how far because the game could end at any point in time). It also makes zero sense. Think about it, I say "you have a 30% chance of winning the game from this position". Wh…

Disagree with basically everything written here.

The neural net is a well-researched cnn variant - the activations are quite interpretable these days.

The metric’s interpretability is independent from the neural net used for gameplay, so the black box comment doesn’t make sense (unless I’m misunderstanding the comment...).

The metric is also very human friendly: think of it as 30% of players in the given position, at the given game’s stage and state, successfully continued on to a victory.

Re: Learning Machine Learning for Game Development

#50
post #49

I have a bone to pick with these "win probability" charts. If it was truly a "win probability" chart, that means it's a forecast. Except it's a shit forecast because you're trying to predict really freaking far into the future (You don't even know how far because the game could end at any point in time). It also makes zero sense. Think about it, I say "you have a 30% chance of winning the game from this position". Wh…

Disagree with basically everything written here. The neural net is a well-researched cnn variant - the activations are quite interpretable these days. The metric’s interpretability is independent from the neural net used for gameplay, so the black box comment doesn’t make sense (unless I’m misunderstanding the comment...). The metric is also very human friendly: think of it as 30% of players in the given position, at…

> The metric is also very human friendly: think of it as 30% of players in the given position, at the given game’s stage and state, successfully continued on to a victory

What I am trying to say is that this is a meaningless piece of information, because that's not how games work. You can't freeze the game state and say "I have a xx% chance to win here", because the state of the game continues evolving over time.

If you were actually estimating your chance to win, it would be a forecast. Except if it's anything like this kind of NN [0], then it is literally just estimating based on a snapshot of game state and not the context of the game. At best, this "win probability" is snapshot estimate of the current game state and has nothing to do with the actual outcome of the game.

This value is also impossible to falsify, so it could be spitting out any random number and you can't say that it's wrong.

[0] https://medium.com/analytics-vidhya/a-simple-neural-network-...

Post reply on HN