I’ve been hearing all this machine learning or natural language procession and been wondering if this is relevant to the game industry.
Machine learning wouldn’t work well with game AI because game AI was never designed to be smart in a first place. If it was smart then it would’ve outsmarted players and players would’ve rage quit.
I heard that Machine Learning is used for matchmaking but what else is there to it?
Is it worth learning Machine Learning? What do you guys think?
ML techniques are good to use when you are dealing with predictions, so if you are writing network optimization or forecasting, input prediction and/or smoothing, or things like that requiring optimization without having a complete set of variables, then yes, ML would be smart to learn.
ML doesn’t have to be this incredibly complicated thing; the discipline encompasses everything from support vector machines to logistic regression, so “learning ML” is sort of a misnomer. It would be like saying “I really want to write games, should I learn to write code?” You would say, “What code? What kind of games? What are you talking about?”
For your example, Natural Language Processing is a great tool for designing audio-interaction elements in programs, but I’m not sure it’s going to have an application outside of specific niche audio-input markets. One example that comes to mind was a PTSD therapy application we had in the Naval hospital on Pendleton. We spoke into a microphone to guide objects in the game, which turned out to be metaphors for real-life things we were dealing with. Speaking into the microphone to metaphorical representations of things in real-life helped us cope with talking about the real-deal in person.
ML from a mathematician’s perspective is just a fancy way of saying “optimization.” We want to find the optimum line that fits between data points to project future values, so we use some kind of regression. We want to predict a value based on other values that are multivariate, so we opt for dummy coding data and a gradient descent algorithm to help us. I don’t know what exactly you’re looking to solve, so my examples will all be surface level.
If you want to see ML used in real-life right now, check out the competitions on Kaggle.com. As for games, well, you’d have to have some sort of optimization/prediction problem you need to address first, and then you need to figure out how ML will address it. Note that you might not even realize that ML is a huge aspect of a of things you already play, you just don’t notice because no one calls it “ML.” Writing chess bots, for example, involves forecasting most likely player moves a few moves out. That, technically, could be called machine learning.
By the time you need machine learning someone will have made a framework for you.
However, if you dive into machine learning, then you can wave bye bye to making games.
It is a big topic, and it shares almost no connection to gamedev.
Basically, you need a problem that requires machine learning to solve it first. Do you have such problem?
If you have an interest in it, or have an actual need for it l, sure. If not, just pick it up when you need it. If you are a good engineer, tech is easy enough to pick up on the fly. It’s not exactly something you put on a resume unless you are an expert/specialist level.
For career longevity, it might be useful to get ahead of the curve. Beyond the obvious runtime AI, machine learning is going to be more prevalent at design time, automating significant parts of level generation, unit balancing, and more.